davidmigloz/langchain_dart

Build LLM-powered Dart/Flutter applications.

What it solves

LangChain.dart は LangChain フレームワークの非公式 Dart 移植版で、Large Language Models(LLM)の力を Dart と Flutter のエコシステムにもたらすことを目的としています。チャットボットや RAG を用いた Q&A システム、自治エージェントなど、LLM 駆動アプリケーションの構築を簡素化するライブラリがこれらの言語には不足しているという課題を解決します。

How it works

プロジェクトは、開発者が必要に応じてインポートできるモジュラーなパッケージシステムで構成されています:

  • Model I/O:複数の LLM プロバイダー(OpenAI、Google、Mistral、Ollama など)とやり取りする統一 API を提供し、プロンプトテンプレートや出力パーシング用ツールも含みます。
  • 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 プロバイダー間を切り替えられます。