davidmigloz/langchain_dart

Build LLM-powered Dart/Flutter applications.

What it solves

LangChain.dart 是 LangChain 框架的非官方 Dart 移植版,旨在將大型語言模型(LLM)的威力帶入 Dart 與 Flutter 生態系統。它解決了這些語言中缺乏簡化 LLM 應用程式建構複雜度的函式庫的問題,這類應用包括聊天機器人、具 RAG 的問答系統以及自主代理人。

How it works

此專案以模組化套件系統組成,開發者可依需求自行匯入:

  • Model I/O:提供統一的 API 以與多種 LLM 供應商(OpenAI、Google、Mistral、Ollama 等)互動,並附帶提示模板與輸出解析工具。
  • Retrieval:負責載入、切分、嵌入與儲存使用者資料於向量資料庫,以支援 Retrieval‑Augmented Generation(RAG)。
  • Agents:允許建立使用 LLM 來決定使用哪種工具(如網路搜尋或計算機)完成任務的「機器人」。
  • LangChain Expression Language (LCEL):將上述不同元件組合成複雜鏈條的方式。

Who it’s for

適合使用 Dart 與 Flutter 開發應用程式的開發者,想要整合 LLM 並打造進階 AI 功能,卻不必為每個供應商撰寫低階 API 呼叫。

Highlights

  • Modular Design:核心抽象、高階鏈條、社群整合與特定供應商 SDK 各自分離為獨立套件。
  • Wide Integration Support:支援眾多供應商,包括 OpenAI、Google(Gemini/Vertex AI)、Anthropic、Mistral 與 Ollama。
  • Vector Store Support:整合 Chroma、Pinecone 與 Supabase。
  • Unified API:讓開發者只需極少的程式碼變更,即可在不同 LLM 供應商間切換。