brainlid/langchain
Elixir implementation of a LangChain style framework that lets Elixir projects integrate with and leverage LLMs.
解决的问题
当大型语言模型 (LLM) 与外部数据或计算相结合时,其功能最为强大。本库通过提供一种将模型连接到其他服务、数据源和应用逻辑的结构化方式,解决了将 LLM 集成到 Elixir 应用程序中的难题。
工作原理
本库使用模块化组件和预构建的链来管理与 LLM 的交互。它支持广泛的提供商——包括 OpenAI、Anthropic、Google Gemini 以及通过 Ollama 或 Bumblebee 运行的本地模型——并允许开发者将自定义的 Elixir 函数作为 LLM 可使用的工具进行暴露。它还包含一个轨迹系统,用于捕获和评估代理执行的工具调用序列。
适用对象
寻求构建复杂的 AI 驱动型应用程序(例如需要与各种第三方 API 或本地机器学习模型集成的数据感知型聊天机器人或自主代理)的 Elixir 开发者。
亮点
- 广泛的模型支持: 与 OpenAI、Anthropic、Google 和 xAI 等主要提供商集成,还支持通过 Bumblebee 进行本地托管。
- 代理能力: 通过专门的
Function桥接使 LLM 能够与应用程序代码进行交互。 - 模块化设计: 提供用于自定义逻辑的低层级组件和用于快速开发的层级化开箱即用链。
- 代理评估: 包含
LangChain.Trajectory,用于捕获、匹配和测试代理的推理路径和工具调用序列。