tryAGI/LangChain

C# implementation of LangChain. We try to be as close to the original as possible in terms of abstractions, but are open to new entities.

何を解決するか

LangChain .NETは、LangChainフレームワークのC#実装であり、開発者がコンポーザブルなアプローチを使用して大規模言語モデル(LLM)を活用したアプリケーションを構築するのを支援するために設計されています。LLMを外部データソース、メモリ、およびその他のコンポーネントと統合するための抽象化セットとツールを提供し、RAG(Retrieval-Augmented Generation)システムのような複雑なAIアプリケーションの作成を容易にします。

仕組み

このフレームワークは、プロンプトテンプレート、ドキュメントローダー、埋め込みモデル、およびベクトルデータベースなどの異なるコンポーネントをリンクして、一連の操作シーケンスを作成する「チェイニング」メカニズムを使用します。例えば、ユーザーの質問はベクトルデータベースから取得され、プロンプトテンプレートと組み合わされ、最終的な回答を得るためにLLMに渡されます。

対象者

LLMを使用してAIアプリケーションを構築したいC#および.NET開発者で、MicrosoftのSemantic Kernelのような特定のエコシステムに縛られることなく、オリジナルのLangChainと同様の広範で実用的な実装と抽象化の選択肢を好む方を対象としています。

ハイライト

  • コンポーザブルなアーキテクチャ: 検索、プロンプトテンプレート、およびLLM呼び出しをリンクするために、パイプラインのような構文(| 演算子)を使用します。

  • C#実装: オリジナルのLangChainと同じ抽象化を.NETエコシステムにもたらします。

  • RAGサポート: 検索拡張生成を可能にするために、PDFローダー、埋め込みモデル、およびベクトルデータベース(例:SQLite)の組み込みサポートを提供します。

  • 幅広い実装の選択肢: エコシステムへのロックインを避けるために、サポートされるモデルやサードパーティライブラリの幅広い範囲を提供することを目指しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト