インテリジェントな検索と大規模なモデルを使用して、次世代のエンタープライズ ナレッジ ベースを構築する - LangChain の統合と電子商取引におけるそのアプリケーション...

c6f77b89e8348d5e504d9dc6072c89a5.gif

シリーズ ブログ「Building the Next Generation Knowledge Base of Enterprise Based on Intelligent Search and Large Models」をお読みいただきありがとうございます。シリーズ全体は 5 つの記事に分かれており、大規模な言語モデルが従来の言語モデルをどのように強化できるかなど、新しいテクノロジを体系的に紹介します。ナレッジベースのシナリオを活用し、業界の顧客のコスト削減と効率の向上を支援します。アップデートディレクトリは以下のとおりです。

バックグラウンド

このブログ シリーズ「インテリジェントな検索と大規模モデルに基づく企業の次世代ナレッジ ベースの構築」では、前 2 回の記事で「典型的な実践シナリオとコア コンポーネントの紹介」と「手動による迅速な導入ガイド」を紹介しました。この記事では主に、LangChain とオープンソースの大規模言語モデルの統合を紹介し、Amazon クラウド テクノロジーのクラウド基本サービスと組み合わせて、エンタープライズ ナレッジ ベースに基づいたインテリジェントな検索質問応答ソリューションを構築します。

ラングチェーンの紹介

LangChain は、大規模な言語モデルの機能を使用して、さまざまなダウンストリーム アプリケーションを開発するオープン ソース フレームワークです。その中心的なコンセプトは、さまざまな大規模な言語モデル アプリケーションに共通のインターフェイスを実装し、大規模な言語モデル アプリケーションの開発の困難さを簡素化することです。メイン モジュールの図式図は次のとおりです。

93b8078650abc68b9a5f396522f9d8bd.png

  • インデックス: ドキュメントのインポート、テキストの分割、ベクトル化されたテキストの保存と取得のためのさまざまなインターフェイスを提供します。一般的な Word、Excel、PDF、および txt に加えて、インポートされたドキュメント タイプには API およびデータベース インターフェイスも含まれます。ベクトル化されたストレージには、さまざまなベクトル化されたデータが含まれます。 Amazon の OpenSearch 検索エンジンも含まれるデータベースのようなものです。Index モジュールを使用すると、さまざまなタイプの外部データを処理して、推論のための大規模なモデルを提供することが非常に簡単になります。

  • プロンプト: ユーザー入力およびその他の外部データを、プロンプト ワード管理、プロンプト ワードの最適化、プロンプト ワードのシリアル化など、大規模な言語モデルに適したプロンプト ワードに変換します。プロンプトワードを調整することで、大規模な言語モデルを使用して、テキスト生成テキスト (チャット、質疑応答、概要、レポートなどを含む)、テキスト生成 SQL、テキスト生成コードなどのさまざまなタスクを実行できます。さらに, このモデルは少数のショット学習を実行するために使用できます. 現在, 各タスクに対するプロンプトワードの最適な実践が本格化しています. プロンプトワードを通じて, 大規模な言語モデルの機能の限界が継続的に探索されています. -プロンプトワード管理ツールを使用します。

  • モデル: さまざまな大規模言語モデルの管理と統合を提供します。クローズドソースの大規模言語モデル API インターフェイスに加えて、複数のオープン ソース モデル ウェアハウス内のオープン ソースの大規模言語モデル、およびデプロイされた大規模言語モデルの統合インターフェイスも提供します。 Amazon SageMaker Endpoint にデプロイされた大規模言語モデル インターフェイスなどの言語モデル インターフェイス。

  • メモリ: モデルと対話するときにコンテキストの状態を保存するために使用され、複数回の対話を実現するための重要なコンポーネントです。

  • チェーン: LangChain のコア コンポーネントであり、上記のコンポーネントを組み合わせて特定のタスクを完了できます。たとえば、チェーンには、ユーザー チャット機能を完了するためのプロンプト テンプレート、大規模な言語モデル、出力処理コンポーネントを含めることができます。LangChain は、さまざまなタスクに対してさまざまなチェーンを提供します。たとえば、質問応答タスクは質問応答チェーンを提供し、テキスト要約タスクは要約チェーンを提供し、テキスト生成 SQL タスクは SQL チェーンを提供し、数学的計算タスクは LLM 数学を提供します。チェーン: チェーンはカスタマイズ可能で、チェーン コンポーネントはスタッフ、map_reduce、refine、map-rerank などのさまざまなモデル推論モードを提供します。特定のタスク要件に従って、タスクを完了するために適切なチェーンとモデル推論モードを選択できます。 。

  • エージェント: LangChain の高度な機能は、ユーザー入力に基づいてどのツールを呼び出すかを決定し、一連のチェーンを組み合わせて、「アカウント残高でどれだけのゴールドを購入できるか?」などの複雑なタスクを完了できます。エージェントは、SQL チェーンを通じてアカウント残高をクエリし、Web ページ クエリ インターフェイスの LLM を呼び出してリアルタイムの金価格を見つけ、LLM Math を呼び出して購入できる金の量を計算することで最終タスクを完了します。論理操作はエージェントで設定できます。

LangChain に加えて、もう 1 つの一般的に使用されるオープンソースの大規模言語モデル アプリケーション開発フレームワークは LIamaIndex です。LIamaIndex には豊富なデータ インポート インターフェイスがあり、特に構造化データのサポートがより使いやすくなっています。さらに、LIamaIndex のインデックスは複数のモードの質問応答ロジックをカプセル化しているため、使いやすいですが柔軟性に欠けています。LIamaIndex は LangChain との統合をサポートしており、2 つのフレームワークは相互に呼び出すことができます。

インテリジェントな検索に基づく

大規模言語モデル拡張ソリューション ガイド

LangChain のさまざまな機能インターフェイスと Amazon クラウド テクノロジーの基本サービスを組み合わせて、インテリジェントな検索に基づいた大規模言語モデル拡張のための Amazon クラウド テクノロジーのソリューション ガイドを構築しました。アーキテクチャ図は次のとおりです。

86834924c19f297c9237655a33838f6b.png

このブログ シリーズの最初の記事「典型的な実践シナリオとコア コンポーネントの紹介」のアーキテクチャ図と比較すると、この記事の主な違いは次のとおりです。

  1. インテリジェント QA 機能では、関数ロジックを実装する Lambda コードが LangChain フレームワークと LIamaIndex フレームワークを統合し、オープンソース フレームワークを使用してソリューションの柔軟性とスケーラビリティを向上させます。また、LangChain の機能を使用して新しい機能を迅速に追加できます。未来。

  2. ユーザーのマルチラウンド対話記録を保存し、マルチラウンド対話機能を実現するためのDynamoDBコンポーネントを追加しました。

このスキームのワークフロー図は次のとおりです。

554a8a324d88722903340c784281566a.png

スキームのワークフローと LangChain との統合は次のとおりです。

1. データ処理およびデータ ストレージ モジュールは、LangChain のインデックス インターフェイスを統合し、さまざまな外部データ インポートをサポートし、さまざまなタイプのデータを要約し、エンタープライズ ナレッジ ベースを形成します。

  • 非構造化データについては、主にword、excel、PDF、txtなどの一般的なドキュメントをサポートしており、非構造化データのテキスト抽出とテキスト分割を通じて複数のテキストブロックを取得し、SageMaker Endpointに展開されたベクトルモデルを呼び出すことでテキストブロックを取得します対応するベクトル、そして最後にテキスト ブロックとベクトルを OpenSearch 検索エンジンに保存します。

  • 構造化データの場合、LlamaIndex と統合された SQL インデックスを使用してデータベースを読み取り、対応するデータを取得します。現在、SQL 言語クエリ データベースは主にルールを通じて生成され、オープンソースの大規模言語モデルを通じて生成される SQL 言語はまだ存在します。試運転。

  • リアルタイム情報を取得するためにネットワークをクエリする必要がある場合は、インデックス インターフェイスを介して URL 情報を読み取るか、検索エンジン インターフェイスを介してリアルタイム ネットワーク情報をクエリできます。

2. 意図認識モジュールは、LangChain の RouterChain インターフェイスを統合し、ユーザーの入力された質問を意味的に判断して、ユーザーの質問に答えるための適切なデータ ソースを自動的に選択します。

290ca7ee4975f2166cd89342c93d1bc8.png

3. プロンプト エンジニアリング モジュールは、LangChain のプロンプト インターフェイスを統合し、さまざまなタスク、シナリオ、言語でプロンプトを管理および最適化します。同時に、LangChain の Memory インターフェイスを統合し、ユーザーの質問と回答を DynamoDB に保存し、ユーザーの質問と回答の履歴情報を形成し、マルチラウンド対話の大規模な言語モデルの推論の基礎として機能します。タスク。

4. 大規模言語モデル モジュールは、LangChain の Model インターフェイスを統合し、SageMaker Endpoint にデプロイされたオープンソースの大規模言語モデルを呼び出し、さまざまなタイプのタスクで推論を実行します。

5. フィードバックおよび最適化反復モジュールは、質問に対する回答を記録することによって、ソリューションの問題を分析し、ナレッジ ベースおよびプロンプト プロジェクト内で問題を時間内に最適化します。

他の LangChain ベースのナレッジベース民営化展開ソリューションと比較して、このソリューションは、SageMaker、OpenSearch、Lambda などを含む Amazon Cloud Technology のクラウドネイティブ サービスを使用します。これらのクラウドネイティブ サービスは、実際のオンライン トラフィックに応じて自動スケーリング メカニズムを使用できます。状況に応じてリソースを迅速に拡張または縮小し、最高のコストパフォーマンスでオンラインビジネスをスムーズに運営します。

ソリューションのデバッグ ページから、インテリジェントな質問と回答機能を簡単にデバッグできます。

8d40748f55f6778c45e0d396b5b85671.png

入力:

  • クエリ: ユーザーの質問テキスト

  • セッション ID: ユーザーがリクエストしたセッション ID。ダイアログ情報はセッション ID をキーとして DynamoDB に保存されます。

  • 言語: 言語の選択、現在中国語と英語をサポートしています。テキスト分割方法、テキスト ベクトル モデル、オープンソースの大規模言語モデルは言語ごとに異なります。

  • プロンプト: プロンプト ワードのデバッグ。デフォルトのプロンプト ワードに基づいて、さまざまなプロンプト ワード テキストが結果に与える影響をテストできます。

  • インデックス: OpenSearch に保存されたデータのインデックス

  • Top_k: 大規模モデル推論に含まれる関連テキストの数。ドキュメントがより標準化されている場合、ドキュメントとクエリの一致が容易になり、Top_k を削減して答えの確実性を高めることができます。

  • LLM 温度: 大規模言語モデルの温度パラメータ。温度パラメータは大規模言語モデルのランダム性の程度を制御します。温度が小さいほど、答えの確実性が高くなります。

出力:

  • 回答: 質問に対する大規模言語モデルの推論出力

  • 信頼度: 答えに対する信頼度

  • 出典: クエリに関連し、大規模なモデル推論に配置されたテキスト

電子商取引シナリオにおけるインテリジェント検索ベースの大規模言語モデル拡張ソリューション ガイドの適用

インテリジェントな顧客サービス

電子商取引業界の発展に伴い、消費者はオンラインショッピングのサービス品質に対する要求をますます高めており、顧客サービスは電子商取引サービスに不可欠な部分となっています。コストを節約するために、販売業者はスマート カスタマー サービスを使用して簡単な質問に自動的に回答し、スマート カスタマー サービスで解決できない質問には手動で回答する傾向があります。しかし、大手電子商取引プラットフォームのインテリジェントな顧客サービスシステムは、キーワードによってあらかじめ設定された回答を提供することが多く、顧客の質問を完全に理解することができず、回答と顧客のニーズとの間にギャップがあり、ユーザーエクスペリエンスが不親切です。 。大規模言語モデルの意味理解と帰納的推論機能は、インテリジェントな顧客サービス シナリオに非常に適しています。インテリジェントな顧客サービス シナリオにおけるソリューションの現在のアプリケーションには、次のものが含まれます。

1. エンタープライズナレッジベースに基づくインテリジェントな Q&A。エンタープライズナレッジベースデータを大規模な言語モデルの推論能力と組み合わせて使用​​し、正確な質問と回答を実現します。

次の例では、電子商取引の返品と交換のサンプル文書をインポートした後、顧客が返品に関する質問に対する答えを尋ねます。

6d3c3938aafc0e3f68638416bad23447.png

上記の例からわかるように、大規模言語モデルは、顧客が購入したパンツが衣料品カテゴリに属し、対応する 7 日間の理由なし返品ポリシーがあることを理解していますが、さらに購入日を取得する必要があります。返品可能かどうかを確認し、最終的に顧客のさらなる購入が生成されます。7 日間の問答無用返品ポリシーについて説明された日付と回答。

2. 複数ラウンドのチャット。このソリューションでは、ユーザーと大きな言語モデルの間の対話に関する情報が保存され、次の会話にプロンプ​​トのプロンプト単語がコンテキスト情報として埋め込まれるため、大きな言語モデルは後続の質問に答えるためのコンテキスト情報を知ることができます。

55ee4578f8cafb7282787aa060f8620b.png

3. テキスト概要の抽出とテキストレポートの生成。カスタマーサービスに通話記録を入力することで、通話概要を迅速に作成し、通話記録内でユーザーが言及した需要ポイントを正確に抽出して、その後の通話記録の分析と顧客フォローアップマーケティングを実現します。以下は、製品購入に関する問題について相談を受けた顧客のケースです。

9e69823c4c2c8bb39784b899ba01a4e3.png

インテリジェントな推奨事項

現在、電子商取引業界は徐々にコンテンツ電子商取引の時代を迎えており、電子商取引に占めるライブブロードキャスト配信の割合が増加しており、ライブ配信配信の特徴の一つとしてアンカーとアンカーとのインタラクションが挙げられます。聴衆は非常に頻繁に来ており、聴衆は通常、生放送のシーンについて質問します。インテリジェントな質疑応答システムは、アンカーが質問に答えるのを支援するショッピング ガイドとして使用できます。たとえば、生放送室でアンカーがスニーカーを宣伝しているときに、視聴者が「どのシリーズのスニーカーが適していますか?」と尋ねる可能性があります。 「雨の日にサッカーをするのに適していますか?」、「太っている人にはどの色が似合いますか?」、「カップルに利用できるスニーカーはどれですか?」など、インテリジェントな質疑応答システムは、製品説明情報、製品評価情報、ユーザーの購入記録情報を使用して、ユーザーの質問に対する製品の推奨事項や製品の使用方法の提案を直接出力し、アンカーと視聴者の間の対話の効率を向上させます。

a4240ae25c5489bbb8996af4c63a0088.png

インテリジェントな質問応答システムが回答を生成するために使用する製品サンプル データ:

3a5023709e63d6daaf087b382d40d301.png

上の例では、さまざまなシリーズのスニーカーの適切な使用シナリオに関する情報を提供した後、インテリジェントな質問応答システムは、顧客からの質問に応じて適切な製品をユーザーに推奨できます。

よく発生する問題と解決策

現在、エンタープライズ ナレッジ ベースに基づくインテリジェントな質問と回答機能が最も需要があり、実装されている機能です。ソリューションがさまざまなシナリオで実装される場合、多くの場合、特定のシナリオ要件に応じて調整する必要があります。発生する一般的な問題と解決策実装中には次のものが含まれます。

1. 知識ベース内の質問に関連するテキストを正確に見つけるにはどうすればよいですか?

私たちは主に企業ルール文書と過去の顧客サービスの質問と回答データをナレッジベースとして使用しています。文書はドキュメント形式で保存されており、データは文と段落を使用して分割されています。ただし、主な問題は、複数の文または段落です。段落は論理段落を形成し、論理段落のサイズは 1 つではなく、文または段落ごとに分割する場合、論理段落を分離することができます。たとえば、質問と回答を 2 つのテキスト ブロックに分割して保存することができます。前の論理段落の一部が次の論理段落に追加される場合があります。一部は保存されているため、検索時に質問に応じて対応する回答を正しく見つけることができません。エラー分割の概略図は次のとおりです。

aef4d87fca8c459d1a3e8667a3157c36.png

解決:

  • docs ドキュメント処理を CSV 形式のストレージに変換し、各論理セグメントの内容を 1 行にまとめて、論理セグメントを手動で分離します。

  • 分割テキストブロックを文単位または段落単位で複数のベクトル化テキストに分割してベクトル化し、論理ブロックテキスト全体を検索テキストとし、ベクトルテキスト、ベクトルと検索テキストを一つのテキスト情報として格納する。

  • 検索時には、テキスト ベクトルを使用して質問ベクトルと照合し、論理ブロック テキスト全体が推論のために大規模モデルに送信される検索テキストとして使用されます。

333fe0941f8dae868a34d7f32eed74f6.png

論理ブロックの手動分離、きめの細かいテキスト ベクトル、および粗いテキストの再現などの手段により、関連するテキストの再現の精度が大幅に向上しました。

2. 大規模言語モデルによって出力された答えが捏造されているかどうかをどのように評価するか?

回答の信頼度を計算して回答が信頼できるかどうかを評価するために、計算されたディメンションには次の 3 つの側面が含まれます。

  • 質問と回答の類似性を計算します。通常、回答と大規模言語モデルによって生成された質問の類似性は比較的高くなります。場合によっては、類似性が比較的低い場合があります。この場合、回答は問題と無関係である可能性があります。類似性が高い場合は、基本的に解答文は質問文の繰り返しとなり、この場合の解答は使用できません。

  • 大規模モデルによる推論に使用される関連テキストに対する回答テキストの類似性を計算します。回答テキストと大規模モデル推論で使用される関連テキストとの類似性が低い場合、回答テキストはモデルによって捏造されている可能性があります。

  • データベース内の回答文により想起される該当文リストと、データベース内の質問文により想起される関連文リストの一致率を計算する。2 つのリストの一致率が低い場合、答えの信頼性も低くなります。

ba0e49b7dfe0f71239b1c64a9991bf10.png

さまざまなシナリオに応じて 3 つのスコアのしきい値を合理的に調整し、答えが説得力があるかどうかを判断します。

要約する

現在、上記で紹介した電子商取引業界への実装に加えて、LangChain 統合インテリジェント検索ベースの大規模言語モデル拡張ソリューション ガイドには、製造、金融、教育、医療業界への導入事例があります。このソリューションは Amazon Kendra サービスと統合されています。詳細については、今後のフォローアップ ブログに注目してください。

この記事の著者

27bd99a53eb064e47f7e135a6b8ed79d.jpeg

ヘ・ボー

Amazon クラウド テクノロジー業界のソリューション アーキテクト。Ali で 6 年間勤務し、推奨アルゴリズム、検索アルゴリズム、マルチモーダル マッチング アルゴリズムの開発を担当し、電子商取引のさまざまなシナリオでの機械学習モデルの適用に豊富な経験を持っています。業界。

8b96d2d620869823321c3dd2a2a4a844.jpeg

ジー・ジュンシャン

Amazon クラウド テクノロジーのシニア ソリューション アーキテクト。ラピッド プロトタイピング チームで革新的なシナリオのエンドツーエンドの設計と実装を担当します。

9185a969b8183f1c7136c3eb3feb2e69.jpeg

ティエン・ビン

Amazon のクラウド テクノロジー アプリケーション サイエンティストは、自然言語処理、コンピューター ビジョンなどの分野の研究開発に長年従事してきました。データ ラボ プロジェクトをサポートし、大規模な言語モデル、オブジェクト検出などで豊富なアルゴリズムと実装の経験を持っています。

47f06ac9da4193ac7d8aa493412df605.jpeg

ジェン・ハオ

Amazon GCR AI/ML スペシャリスト SA。主に、言語モデルのトレーニングと推論、検索と推論のアルゴリズム、および関連する最適化と、Amzon AI/ML テクノロジー スタックに基づくプログラムの構築に重点を置いています。アリでは、平安はアルゴリズムの研究開発において長年の経験を持っています。

9ed8db8cd54cf51ea5986b0426b44849.gif

b71a3afd5ca0151b555af2f041d01cd5.gif

聞いたので、下の 4 つのボタンをクリックしてください

バグに遭遇することはありません!

7a58ed1f9d9029b526c537acbda3849b.gif

おすすめ

転載: blog.csdn.net/u012365585/article/details/131778226