SuperAPI AI 工具集

litechain

LiteChain(已更名为LangStream)是一个轻量级LangChain替代方案,用于构建LLM应用。它不追求大量功能和类,而是专注于一个易于学习、适配、文档完善、完全类型化且真正可组合的小型核心,以Stream(流)而非Chain(链)作为构建块。

访问官网

工具介绍

LiteChain 已更名为 LangStream,详情见 issue #4。LangStream 是构建 LLM 应用的轻量级替代方案,与 LangChain 不同,它不提供大量功能和类,而是专注于一个小型核心,易于学习、适配、文档完善、完全类型化且真正可组合,以 Stream(流)而非 Chain(链)作为构建块。

用途

LangStream 用于构建 LLM 应用,通过组合 Stream 来连接不同部分,如 LLM、输出解析器等。它旨在简化 LLM 应用中的管道和连接,让开发者专注于提示工程等核心部分。

主要能力

  • Stream 构建块:LLM 是 Stream,输出解析器是 Stream,一组 Stream 可以组合成另一个 Stream。
  • 组合函数:提供 and_then、map、collect、join、gather 等函数,用于组合 Stream。
  • 类型签名:Stream 接受类型签名,如 EmojiStream 的类型为 [str, OpenAIChatDelta],表示输入和输出类型。类型签名有助于预防错误和调试。
  • 异步流:所有 Stream 都是使用 Python 的 AsyncGenerator 类的异步流。
  • 调试友好:最终流中始终可以访问整个流中经过的所有内容,提供 debug 函数和 output.final 属性。
  • 提示外部化:不将提示隐藏在代理中,鼓励构建自己的代理以自定义提示。
  • 自带集成:提供 OpenAI 和 GPT4All 等集成,但保持薄层,尽可能接近原始 API。

使用方式

通过组合 Stream 来构建应用。例如,创建一个 GPT4 Stream,将用户消息附加 ". Reply in emojis" 构建提示,使用 OpenAI 聊天结构和零温度。然后使用异步循环遍历每个 token 输出。使用 and_then 等函数连接两个 Stream。

适用场景

适用于需要构建 LLM 应用、希望有轻量级、可组合、类型安全的框架的开发者。特别适合那些希望自定义提示和代理,而不被框架隐藏细节的场景。

限制

  • 项目非常新,处于快速发展领域,文档和指南内容需要贡献。
  • 不提供大量功能和类,可能不适合需要丰富内置功能的用户。
  • 集成较少,目前提供 OpenAI 和 GPT4All 等,但鼓励用户自行添加集成。
  • 需要 Python 异步编程知识。

更多信息请参考文档:Getting started、Detailed guides、How-to examples。加入 Discord 社区获取支持。