説明
Langroidは、大規模言語モデル(LLM)搭載アプリケーションの開発を簡素化するために設計された、直感的で軽量、かつ拡張性の高いPythonフレームワークです。これは、アクターフレームワークに触発されたマルチエージェントプログラミングパラダイムに基づいて動作し、開発者はエージェントを定義し、LLM、ベクトルストア、ツールなどのコンポーネントを装備させ、メッセージ交換を通じて協調的な問題解決をオーケストレーションします。
Langroidのコア抽象化は`Agent`であり、これはLLMの会話状態をカプセル化し、ベクトルストアやツールで拡張できます。エージェントはメッセージトランスフォーマーとして機能し、LLM、エージェント、ユーザーの対話に対するデフォルトのレスポンダーメソッドを備えています。`Task`クラスは`Agent`をラップし、指示を提供し、イテレーションを管理し、階層的な委譲を通じてマルチエージェントの対話をオーケストレーションします。このモジュラー設計は、再利用性と疎結合を促進します。
Langroidは、OpenAIモデルや、プロキシライブラリおよびOllamaやLiteLLMのようなローカルモデルサーバーを介した数百もの他のプロバイダー(ローカル/オープンまたはリモート/商用)のモデルを含む、幅広いLLMをサポートしており、多くの場合OpenAI APIを模倣しています。Qdrant、Chroma、LanceDB、Pinecone、PGVectorなどの様々なベクトルストアと統合されており、接地とソース引用のためのRetrieval-Augmented-Generation(RAG)を可能にします。このフレームワークは、Pydanticを活用したツール/プラグイン/関数呼び出しの堅牢なサポートも備えており、スキーマ定義とエラー処理を簡素化します。
主な機能には、マルチエージェントの協調、構造化された情報抽出、ソース引用付きドキュメントチャット(RAG)、表形式データとのチャットが含まれます。Langroidは、LLM応答のキャッシュ、オブザーバビリティ、ロギング、メッセージリネージ追跡などの機能を提供し、開発者エクスペリエンスを重視しています。頻繁な更新と成長するコミュニティとともに積極的に開発されており、洗練されたLLMアプリケーションを構築するための強力な選択肢となっています。
Langroidの主要機能
LLMアプリケーションのためのマルチエージェントプログラミングパラダイム
LLM対話をオーケストレーションするためのエージェントとタスクの抽象化
ローカルモデルやプロプライエタリモデルを含む幅広いLLMのサポート
RAG機能のための複数のベクトルストアとの統合
Pydanticを使用したツール/プラグイン/関数呼び出しのサポート
ソース引用付きドキュメントチャット(RAG)
Pandasコード生成を使用した表形式データとのチャット
LLM応答のキャッシュ
オブザーバビリティ、ロギング、メッセージリネージ追跡
拡張可能で軽量なPythonフレームワーク
Langroidをはじめる
リポジトリをクローンする: GitHubからLangroidのコードベースを取得します。
依存関係をインストールする: 仮想環境を設定し、必要な追加機能とともにLangroidをインストールします。
環境変数を設定する: APIキーやその他の必要な認証情報を設定します。
エージェントを開発する: LLM、ベクトルストア、ツールを持つエージェントを定義します。
タスクをオーケストレーションする: Taskクラスを使用してエージェントの対話とワークフローを管理します。
アプリケーションを実行する: LLM搭載アプリケーションを実行します。
Langroidの使用例
- マルチエージェント協調
- 情報抽出
- ドキュメントQ&A
- データ分析
- コード生成
- RAGシステム








