2作者: cpard大约 1 个月前原帖
大家好,我想分享一个对我来说非常重要的项目。fenic 是一个数据框架 API,集成了大型语言模型(LLMs)作为第一类公民,这是一个经典的懒惰数据框架 API,扩展了由 LLMs 支持的新操作符。 这使得你能够在同一上下文中处理结构化和非结构化数据。最重要的是,LLMs 并不是作为不透明的用户定义函数(UDF)黑箱集成的,而是以“语义”操作符的形式暴露出来,规划器可以将其与经典操作符一起进行推理。 (在代码库中有示例和代码片段,可以查看所有内容是如何协同工作的) 为什么要构建这个?我是一名数据基础设施/系统工程师。当 LLMs 出现时,我看到的是一种新的计算方式,它改变了我们处理的工作负载的特性。我想实验一下我们当前的系统如何吸收这些新工作负载和计算类型,以及需要什么才能使开发体验尽可能无缝,这就是 UDF + 任意提示感觉过于复杂的地方。 为了正确支持这一点,我们引入了一些非常酷的东西: 新的计划操作符。你不仅仅是向 LLM 发送提示。你使用像语义连接、语义映射和归约、语义过滤等操作符。它们与经典操作符混合在一起,因为规划器将它们视为真实的操作符而不是黑箱,因此可以围绕它们重新排序工作。 类型化输出。我们提供了将语义操作符的输出直接转换为类型化数据框列的便利性。LLM 输出的 Pydantic 模式变成了一个可以展开、爆炸等的类型化结构列。 新的数据类型,例如 Markdown 数据类型。Markdown 成为与 LLM 共享信息的重要方式,尽管它最初是作为一种格式化文本以便呈现的方式。它携带结构,能够像访问结构体或 JSON 类型一样访问该结构,增强了我提到的开发者体验。 异步 UDFs。LLM 爆发后,工作负载中一个更有趣的变化是需要在管道中放置高度 I/O 绑定的步骤:从 API 获取响应、爬取网站等。异步 UDFs 填补了这一空白,实施会为你处理细微差别:并发、重试等。 一个对 LLM 推理敏感的规划器和运行时。这是我最兴奋的部分之一,还有很多工作要做。目前:相同提示在批处理内合并为单个模型调用,因此重复调用不消耗令牌;请求在每个提供者的每分钟请求/每秒请求限制下并发调度,并带有重试和退避机制;空值和空单元完全跳过模型;并且你可以获得每个操作符的令牌和成本指标。还有一个可选的持久响应缓存,以便重新运行时跳过模型。 MCP 作为新的目录原语。就像注册视图一样,你可以将数据框管道注册为目录中的 MCP 工具。然后,fenic 提供一个 MCP 服务器,以该管道作为工具的逻辑,在你的数据上执行。 这些只是 fenic 在实验 LLM 如何成为我们计算基础设施一部分时所做的一部分工作。还有更多内容,并且现有的内容还有很多需要打磨的地方。 我一直在使用 fenic 来处理各种事情。在小型/个人方面,我用它将我的播客音频录音转换为结构良好的元数据表,以便进行研究。在更复杂的应用中,我将其用作工具,分析从 Pydantic Logfire 导出的代理跟踪,以发现评估并将其转化为可重复的工件,形成数据框管道。 ``` pip install fenic Repo: https://github.com/typedef-ai/fenic Docs: https://docs.fenic.ai ``` 你还可以使用 claude code、codex 等技能,快速在你喜欢的代理编码环境中开始使用 fenic。 我很想听听你们的想法、批评以及任何其他想法。 我在这里回答问题。
1作者: aniketwattawmar大约 1 个月前原帖
AI代理的便携式评估。 ECP是一种与供应商无关的协议,用于测试代理输出、工具调用以及评估者可见的审计上下文,跨越不同的框架、模型、评估平台和持续集成系统。
1作者: lougarou大约 1 个月前原帖
嗨,HN!我是Lokhesh,来自一家小型初创公司Kurrent的产品与人工智能团队。我们开发了Capacitor,下面是它的起源故事: 有一天晚上,我们的工程主管Alexey让Claude Code在夜间运行以完成一个任务。早上,他的机器自动更新了操作系统,结果他的会话丢失了。没有上下文,没有记录,什么都没有。他深入研究了Claude Code的文档,了解了会话恢复和转录文件,意识到这些转录中有大量通常是不可见的信息。代理是如何推理完成任务的。每个文件的更改。每个工具调用。每个失败的命令和死胡同。所有这些都是宝贵的信息! 就在那时,他想,“如果我的机器崩溃了,我会失去所有这些怎么办?”然后又想,“如果我能与我的团队分享这些呢?”这就是Capacitor诞生的原因。 Capacitor将代理会话(提示、响应、工具调用、代码更改等)记录到一个事件存储中(底层是KurrentDB)。每个会话都有一个唯一的ID。你可以在任何代理上、任何机器上恢复它,或者在不需要重新解释所有内容的情况下将其交给队友。 以下是我们使用它的一些场景: - 在重启后继续使用 - 在需要旅行时将会话从桌面转移到笔记本电脑 - 记住我之前做过的事情(以及为什么和如何做的) - 征求第二意见(来自人类或代理) - 与同事分享知识 - 解释代理编写代码的推理过程 - 在我生病或请假时进行交接 我写这篇帖子是希望能从HN社区获取反馈,以便我们能改进Capacitor。哪些地方做得很好?哪些地方可以改进?我们应该添加什么? 在这里获取:<a href="https:&#x2F;&#x2F;capacitor.kurrent.io&#x2F;api&#x2F;auth&#x2F;start?tier=free" rel="nofollow">https:&#x2F;&#x2F;capacitor.kurrent.io&#x2F;api&#x2F;auth&#x2F;start?tier=free</a> 查看文档:<a href="https:&#x2F;&#x2F;capacitor.kurrent.io&#x2F;docs&#x2F;getting-started&#x2F;quickstart&#x2F;" rel="nofollow">https:&#x2F;&#x2F;capacitor.kurrent.io&#x2F;docs&#x2F;getting-started&#x2F;quickstart...</a> 注意:我们将Capacitor设计为云服务,以便于设置,但我们欢迎关于如何最好地打包它的建议。
1作者: busymom0大约 1 个月前原帖
不确定你们是否会把HN、Reddit和YouTube视为社交媒体,但我可以说,我最常使用的就是它们。HN因为只有文字内容,给人一种非常宁静的感觉。<p>不过,最近YouTube让我很烦,因为我的推荐页面总是充斥着AI生成的低质量内容、随机短视频和我完全不感兴趣的频道,还有太多创作者使用的AI生成缩略图,看起来都很糟糕。<p>我不使用Instagram、TikTok、Snap、Pinterest等社交媒体,但我知道我的女性朋友们非常喜欢Pinterest。<p>你们呢?