3作者: r_singh5 个月前原帖
我觉得关于如何思考的话题在未来会变得更加重要,尤其是在我们拥有人工智能的情况下,依赖软件的程度也在不断提升。因此,由于我在Hacker News上总能得到很棒的建议,我必须在这里询问一下。
3作者: abelanger5 个月前原帖
大家好,我是来自 Hatchet 的亚历山大。我们正在构建一个开源平台,用于管理后台任务,底层数据库使用 Postgres。 大约一年前,我们推出了 Hatchet,这是一个基于 Postgres 的分布式任务队列,采用 100% MIT 许可证([链接](https://news.ycombinator.com/item?id=39643136))。我们从 HN 社区获得的反馈和反响非常热烈。在上线的第一个月,我们在平台上处理了大约 2 万个任务——如今,我们每分钟处理超过 2 万个任务(每月超过 10 亿个)。 如此快速的扩展是非常困难的——Hatchet 中的每个任务至少对应 5 个 Postgres 事务,我们在 Hatchet Cloud 实例上看到的任务峰值超过 5000 个/秒,这大约对应 25000 个事务/秒。事实证明,简单的 Postgres 队列利用 FOR UPDATE SKIP LOCKED 在这个规模下无法满足需求。在配置了 CloudSQL 提供的最大实例类型后,我们甚至讨论了可能将部分负载转移出 Postgres,转而使用一些流行的技术,比如 Clickhouse + Kafka。 但我们还是选择了继续使用 Postgres,并花了大约 6 个月的时间学习如何大规模操作 Postgres 数据库,同时在通勤和晚上阅读 Postgres 手册及其他资源[0]。我们坚持使用 Postgres 有两个原因: 1. 我们希望让 Hatchet 尽可能便携和易于管理,觉得在 Hatchet Cloud 上实现我们自己的存储引擎在某种程度上是不诚实的,最糟糕的情况是会使我们偏离开源社区的关注点。 2. 更重要的是,Postgres 是通用的,这使得它在某些类型的工作负载上既出色又难以扩展。这也是我们能够提供通用编排平台的原因——我们大量利用 Postgres 的特性,如事务、SKIP LOCKED、递归查询、触发器、COPY FROM 等等。 这就引出了今天的主题。我们宣布对 Hatchet 引擎进行全面重写——仍然基于 Postgres——同时推出我们的任务编排层,该层建立在我们底层队列之上。更具体地说,我们将推出: 1. 基于 DAG 的工作流,支持更广泛的条件,包括睡眠条件、基于事件的触发和基于父输出数据的条件执行[1]。 2. 持久执行——持久执行指的是函数通过缓存中间结果并在重试时自动重放这些结果的能力。我们称具备这种能力的函数为持久任务。我们还支持持久睡眠和持久事件,您可以在这里了解更多[2]。 3. 队列特性,如基于键的并发队列(用于实现公平排队)、速率限制、粘性分配和工作者亲和性。 4. 在我们测试的每个维度上都提高了性能,这归功于对 Hatchet 架构的六项改进:基于范围的时间序列表分区、基于哈希的任务事件分区(用于更新任务状态)、将监控表与队列分开、缓冲读写、将所有高流量表切换为使用身份列,以及积极使用 Postgres 触发器。 我们还移除了 RabbitMQ 作为自托管的必需依赖。 我们非常欢迎您提供任何反馈,并希望您有机会试用 Hatchet。 [0] [Postgres 文档](https://www.postgresql.org/docs/) [1] [条件工作流文档](https://docs.hatchet.run/home/conditional-workflows) [2] [持久执行文档](https://docs.hatchet.run/home/durable-execution)
1作者: vincelt5 个月前原帖
嘿,朋友们, 我目前正在学习普通话,并且在寻找一种每天都期待练习阅读的方法。分级读物很快就会让我感到无聊,而普通书籍对于我的水平来说又太难了。 漫画和网络漫画是完美的格式:有趣、对话风格,并且包含俚语。但不幸的是,它们与传统的语言学习应用程序(如linq、language reactor、migaku等)不兼容,手动查找文本会严重干扰阅读体验。 所以我制作了一个小的Chrome扩展,它可以对漫画进行OCR识别,翻译内容,并在对话框上方叠加弹出窗口,以便更轻松地阅读。 我还制作了一个可以在Kindle浏览器中运行的版本,通过构建一个非常优化/有限的网页,避免了非常有限的Kindle浏览器崩溃的问题。 也许对这里的一些人会有用 :)
2作者: sipjca5 个月前原帖
大家好!<p>我正在构建一个开源基准工具,用于测量本地大语言模型(LLM)在您自己硬件上的性能。这个基准工具是一个命令行界面(CLI),基于Llamafile开发,旨在实现不同硬件配置和操作系统之间的可移植性。该网站是基准测试结果的数据库,允许您探索不同模型和硬件配置的性能。<p>请试试看!任何反馈和贡献都非常感谢。我希望这能成为本地人工智能社区的一个有用资源。<p>更多信息请查看: - 网站: <a href="https://localscore.ai" rel="nofollow">https://localscore.ai</a> - 演示视频: <a href="https://youtu.be/De6pA1bQsHU" rel="nofollow">https://youtu.be/De6pA1bQsHU</a> - 博客文章: <a href="https://localscore.ai/blog" rel="nofollow">https://localscore.ai/blog</a> - CLI GitHub: <a href="https://github.com/Mozilla-Ocho/llamafile/tree/main/localscore" rel="nofollow">https://github.com/Mozilla-Ocho/llamafile/tree/main/localscore</a> - 网站 GitHub: <a href="https://github.com/cjpais/localscore" rel="nofollow">https://github.com/cjpais/localscore</a>
7作者: akshaysg5 个月前原帖
嗨,HN!<p>我们很高兴地分享 Haystack Code Reviewer,这是一个分析、拆分和组织拉取请求中更改的工具,并在互动画布上以逻辑顺序引导您逐步了解这些更改。我们希望 Haystack 能够大大减少您在拼凑拉取请求中发生了什么所花费的时间,让您能够把精力集中在重要的部分,比如提供反馈或理解更改。<p>作为那些一直对代码审查感到畏惧并尽量推迟进行的程序员,我们注意到在评估代码之前,我们花了很多时间仔细查看差异,以理解拉取请求的整体情况或叙述。Haystack Code Reviewer 旨在为您拼装这幅拼图,使代码审查不再是一项繁重的任务,而是为审查者和作者提供更多学习机会!<p>要体验演示代码审查,请访问 <a href="https://haystackeditor.com/playground">https://haystackeditor.com/playground</a> 并选择您感兴趣的拉取请求。如果您想了解更多信息,请随时查看我们的短演示视频,链接在这里:<a href="https://youtu.be/K_qLwXFwr8I" rel="nofollow">https://youtu.be/K_qLwXFwr8I</a>。<br>如果您准备好尝试,请前往 <a href="https://haystackeditor.dev" rel="nofollow">https://haystackeditor.dev</a>,并:<p>1. 可选地登录(如果您想审查私有仓库的拉取请求,则需要登录;对于公共仓库,则无需登录)。<p>2. 通过 URL 或下拉菜单加载任何 PR(例如,尝试 <a href="https://github.com/microsoft/vscode/pull/238427" rel="nofollow">https://github.com/microsoft/vscode/pull/238427</a>)。<p>3. 当提示进行 AI 分析时,点击“是”以启用自动组织和分区(我们仅将拉取请求中的差异发送给 OpenAI)。<p>我们希望您觉得 Haystack Code Reviewer 有用。请告诉我们您的想法!<p>您可能已经看到我们之前的 Show HN,链接在这里:<a href="https://news.ycombinator.com/item?id=42935218">https://news.ycombinator.com/item?id=42935218</a>。我们现在已经完全重新设计了它,以便与引导式 AI 导览配合使用,准确指导您如何审查拉取请求,这样您就不必再考虑如何进行代码审查了!