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 제공자 간 전환이 가능합니다.