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 供應商間切換。