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,用於捕獲、匹配和測試代理的推理路徑和工具調用序列。