2作者: beacon2946 个月前
这是一个用于无状态、短生命周期 LLM 代理的声明式编排框架。 代理由分层状态机 (HSM) 编排。 HSM 和代理在 YAML 中定义,并带有用于附加功能的钩子和 Webhook。 * FlatAgent:一个单一的 LLM 调用:模型 + 提示 + 输出模式。 * FlatMachine:一个编排多个代理、动作和状态机的状态机。 示例: * [https://github.com/memgrafter/flatagents/tree/main/sdk/python/examples](https://github.com/memgrafter/flatagents/tree/main/sdk/python/examples) * [https://github.com/memgrafter/research-crawler-flatagents](https://github.com/memgrafter/research-crawler-flatagents) * [https://github.com/memgrafter/claude-skills-flatagents](https://github.com/memgrafter/claude-skills-flatagents)
4作者: raymondtana6 个月前
大家好,我是 Butter.dev 的 Raymond,我们开发了一个基于 LLM 的响应缓存,作为聊天补全的代理。今天,我们为平台推出了一个关键功能:对动态、模板化输入进行泛化。 在 HTTP 请求级别进行缓存存在明显的泛化问题。由于模板变量(如姓名)和元数据(如时间戳)的存在,几乎没有请求是完全相同的,因此精确匹配的缓存查找很少能命中。我们在 Butter 中通过使用 LLM 来解决这个问题,LLM 可以检测请求中的动态内容并推导出它们之间的相互关系,从而将缓存条目存储为模板 + 变量 + 确定性代码。这使得未来的请求可以包含不同的变量数据,但仍然可以从缓存中提供服务。 我们发现这种方法大大提高了缓存命中率,并相信它对执行重复性后台任务、计算机使用或数据转换的代理非常有用,这些任务的输入数据通常具有相同的结构。 - 可以在这里观看模式学习的演示:<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ORDfPnk9rCA" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ORDfPnk9rCA</a> - 我们在这里详细介绍了技术方法:<a href="https:&#x2F;&#x2F;blog.butter.dev&#x2F;on-automatic-template-induction-for-response-caching">https:&#x2F;&#x2F;blog.butter.dev&#x2F;on-automatic-template-induction-for-...</a> - 可以在这里免费试用:<a href="https:&#x2F;&#x2F;butter.dev&#x2F;auth">https:&#x2F;&#x2F;butter.dev&#x2F;auth</a>
6作者: freemanjiang6 个月前
每一个移动的箭头代表一次真实的骑行。总共有 2.91 亿次骑行,涵盖了 12 年的历史,从 2013 年 6 月到 2025 年 12 月,数据基于 Lyft 发布的公开数据。 如果你曾经骑过 Citi Bike,那么你就在这个大规模的可视化数据中!你可以使用 Cmd + K 和你的 Citi Bike 收据来搜索你的骑行记录,收据上应该有你的骑行时间和起始/结束站点。 一些技术细节: * 没有后端!处理后的数据存储在 CDN 上的 parquet 文件中,并由 DuckDB WASM 直接查询 * deck.gl 与 Mapbox 结合使用,用于 GPU 加速渲染数千辆同时移动的自行车 * Web Workers 解码折线路径,并在主线程之外进行尽可能多的预计算 * 由于只提供了(起始,结束)站点对,因此通过查询 OSRM 来生成路线,以获取所有 2400 多个站点对之间的最短路径 图例: * 蓝色 = 电动自行车 * 紫色 = 经典自行车 * 红色 = 自行车已停靠 * 绿色 = 自行车已解锁