LangChain は、LangChain のドキュメントに関するクエリに回答するためのチャットボットをオープンソース化します

大規模言語モデル (LLM) は、画期的なテクノロジとして登場し、プログラマは以前には作成できなかったプログラムを作成できるようになりました。 ただし、これらの LLM の強みは、他の計算または知識のソースと組み合わせることができる能力に由来します。 したがって、それらを単独で使用するだけでは、真に効果的なアプリを作成するには不十分なことがよくあります。

LangChain の主なセールス ポイントの 1 つは、LLM と外部データの統合です。 拡大し続けるユーザーベースにより良いサービスを提供するために、彼らはドキュメントを質疑応答セッションで利用できるようにすることを意図していました. そのために、LangChain は、Zahid (ML Creator および LangChain Enthusiast) と協力して、ソフトウェア開発 (LLM) で大規模な言語モデルを操作するためのチャットボットをオープンソース化しました。

LangChain を使用する場合、ユーザーはその 6 つの主要なモジュールを利用できます。

  • プロンプト: プロンプトの管理、プロンプトの最適化、およびプロンプトのシリアル化はすべて、このカテゴリに含まれます。
  • 長期記憶 (LLM): これには、すべての LLM のユニバーサル インターフェイスと、LLM を操作するための標準ツールが必要です。
  • ツール: 言語モデルの能力は、他の情報源からの情報と組み合わせたり、計算方法と組み合わせて使用​​したりすると、大幅に向上します。 このようなツールには、Python インタープリター、埋め込み、および検索エンジンが含まれる場合があります。
  • チェーン: チェーンは、単一の LLM 呼び出し (LLM または別のユーティリティ) を超えて拡張される一連の呼び出しです。 LangChain は、標準化されたチェーン インターフェイス、他のツールとの多数のコネクタ、および一般的な使用のための完全なチェーンを提供します。
  • エージェント: エージェントでは、LLM がアクションを選択し、それを実行し、アクションの結果を観察などと照合します。 エージェントが選択できるさまざまな標準化されたインターフェースと、エンドツーエンドのエージェントのいくつかのインスタンスがあります。
  • メモリとは、エージェントまたはチェーンへの連続する呼び出し間で一部のデータをそのままにしておく必要があるという考えを指します。 標準化されたメモリ インターフェイス、メモリ実装のライブラリ、およびメモリを使用するチェーンとエージェントのいくつかの実例。

当初、チームは情報をどこで見つけるかという問題に直面しました。 GitHub でホストされているファイルを使用するか、Web スクレイピングで情報を収集してください。 彼らはWebデータのスクレイピングを採用しました。

新しいチェーンを作成するために、彼らは次のことを行いました。

  • ユーザーは、トピックに関する新鮮な質問と背景を使用して、独自のクエリを生成できます。
  • その問い合わせを、標準の Vector Database Question Answer Chain に投入します。

チームは、開発中はチャットボットとの積極的なやり取りが必須であると考えていました。 アプリケーションを構築する際に、次の要素を考慮しました。

  • 各応答は、いくつかの正式なドキュメントによってバックアップされる必要があります。
  • 回答にコード行が含まれている場合は、回答をコード ブロックとして表示する必要があります。
  • チャットボットが答えを知らない場合は、そう言って問題に固執する必要があります。

テストの最初のラウンドでは、Markdown 応答が長くなりました。 回答の質は優れていました。 ただし、ターンアラウンド タイムは理想よりも少し長くなりました。 質問を微調整し、キーワードと文型のさまざまな組み合わせをテストして正解率を上げるために数時間を費やしました。 ベース URL をプロンプトの先頭に配置することで、全体的なパフォーマンスが向上しました。 回答の最終的な URL を構築するための基準点をモデルに提供します。

また、「ハイパーリンク」の代わりに「ハイパーリンク」、「コード ブロック」の代わりに「コード ブロック」と言うような単数形に切り替えることで、システムの応答速度が大幅に向上することも発見しました。

導入されたモジュールには、次のような幅広いアプリケーションがあります。

  • エージェント: 言語モデルを介して他のプログラムと通信できます。 これらは、より現実的な質疑応答セッション、API インタラクション、さらにはアクション実行にも利用できます。
  • チャットボット: 言語モデルはテキスト生成に優れているため、このアプリケーションには当然の選択です。
  • データ拡張生成: 生成プロセスで使用する情報を収集するために、データ拡張生成では、外部データ ソースと通信する特定の種類のチェーンを使用します。
  • 質問応答: 長いテキストを要約し、特定のデータ ソースに関する質問と回答に答えることができます。
  • 要約: 長いテキストをより扱いやすい情報に要約する
  • 評価: 生成モデルは、従来の基準を使用して評価することが非常に難しいことで知られています。 これに役立つ LangChain で利用可能な一連のプロンプトがあります。
  • 同様の例の生成: 特定の入力に応答して、世界に既に存在するものと同様の新しい例を作成します。 多くのプログラムは、この機能に依存しています。 したがって、LangChain には当然、それを支援するさまざまなプロンプト/チェーンが含まれています。
  • モデルの比較: 理想的なアプリケーションを開発するには、さまざまなプロンプト、モデル、およびチェーンを試す必要があります。

チェックアウト チャットボット、Github、 ブログ. この研究のすべての功績は、このプロジェクトの研究者に帰属します。 また、忘れずに参加してください 私たちのRedditページ不協和音チャンネル、 と メールニュースレターでは、最新の AI 研究ニュース、クールな AI プロジェクトなどを共有しています。


Tanushree Shenwai は MarktechPost のコンサルティングインターンです。 彼女は現在、ブバネーシュワルのインド工科大学 (IIT) で学士号を取得しようとしています。 彼女はデータ サイエンスの愛好家であり、さまざまな分野での人工知能の適用範囲に強い関心を持っています。 彼女は、テクノロジーの新しい進歩とその実際のアプリケーションを探求することに情熱を注いでいます。


Leave a Comment

Your email address will not be published. Required fields are marked *