LLM アプリケーションを構築する: Azure Cognitive Services のベクトル検索機能を活用する
著者 | Simon Bisson
キュレーター | Ethan
Microsoft のコグニティブ検索 API は、Azure OpenAI などの大規模な言語モデルで使用するサービスとしてベクトル検索を提供するようになりました。
Semantic Core、TypeChat、LangChain などのツールを使用すると、Azure OpenAI などの生成 AI テクノロジを中心にアプリケーションを構築できます。これは、基礎となる大規模言語モデル (LLM) に制約を課すことができ、自然言語インターフェイスを構築および実行するためのツールとして使用できるためです。
本質的に、LLM はセマンティクスをナビゲートするためのツールです。 space では、ディープ ニューラル ネットワークが最初のキューから始まるトークンのチェーン内の次の音節を予測できます。プロンプトが無制限の場合、LLM は入力範囲を超えて、合理的であるように見えても実際には完全にナンセンスなものを生成する可能性があります。
私たちは検索エンジンの出力を信頼する傾向があるのと同じように、LLM の出力も馴染みのあるテクノロジーの別の側面と見なしているため、LLM の出力も信頼する傾向があります。しかし、Wikipedia、Stack Overflow、Reddit などのサイトからの信頼できるデータを使用して大規模な言語モデルをトレーニングしても、コンテンツの理解を伝えることはできません。単に、それらのソース内のテキストと同じパターンに従うテキストを生成する機能を提供するだけです。出力が正しい場合もあれば、間違っている場合もあります。
大規模な言語モデルからのエラーや無意味な出力を回避し、ユーザーがクエリに対して正確かつ合理的な回答を確実に得るにはどうすればよいでしょうか?
1. セマンティック メモリ制約を使用して大規模なモデルを制限する
私たちが行う必要があるのは、LLM が小規模なデータ セットからのみテキストを生成するように制限することです。ここで、Microsoft の新しい LLM ベースの開発スタックが登場します。モデルを制御し、エラーの生成を防ぐために必要なツールを提供します。
TypeChat などのツールを使用して特定の出力形式を強制したり、セマンティック カーネルなどのオーケストレーション パイプラインを使用して他の考えられる情報ソースを処理したりできます。これにより、モデルを既知の意味空間に効果的に「ルート化」し、LLM を制約します。ここで、LLM は、構築されたプロンプトを要約し、そのプロンプトに基づいてオーバーシュートすることなく (または少なくともオーバーシュートの可能性を大幅に低減して) テキストを生成するという、得意なことを実行できます。
Microsoft が「セマンティック メモリ」と呼ぶものは、最後の方法の基礎です。セマンティック メモリはベクトル検索を使用して、LLM の事実の出力を提供するために使用できるヒントを提供します。ベクトル データベースは最初のプロンプトのコンテキストを管理し、ベクトル検索は最初のユーザー クエリに一致する格納データを検索し、LLM はそのデータに基づいてテキストを生成します。このアプローチの実際の動作を Bing Chat でご覧ください。Bing チャットでは、Bing のネイティブ ベクトル検索ツールを使用して、検索データベースから得られる回答を構築します。
セマンティック メモリにより、LLM アプリケーション手段に基づいてベクトル データベースとベクトル検索を提供できるようになります。増え続けるオープン ソース ベクトル データベースの 1 つを使用することも、使い慣れた SQL データベースや NoSQL データベースにベクトル インデックスを追加することもできます。特に便利そうな 1 つの新製品は、Azure Cognitive Search を拡張し、データにベクトル インデックスを追加し、そのインデックスをクエリするための新しい API を提供します
2. Azure Cognitive Search へのベクトル インデックスの追加
Azure Cognitive Search は、Microsoft 独自の検索ツールに基づいて構築されています。これは、使い慣れた Lucene クエリと独自の自然言語クエリ ツールの組み合わせを提供します。 Azure Cognitive Search は、Cognitive Services API を使用してプライベート データをホストし、コンテンツにアクセスできるサービスとしてのソフトウェア プラットフォームです。最近、Microsoft はベクトル インデックスの構築と使用のサポートも追加しました。これにより、類似性検索を使用してデータ内の関連する結果をランク付けし、AI ベースのアプリケーションで使用できるようになります。これにより、Azure Cognitive Search は、セマンティック カーネルと Azure OpenAI で構築された Azure でホストされる LLM アプリケーションに最適となり、C# および Python 用の Cognitive Search 用のセマンティック カーネル プラグインも、他の Azure Like サービスで利用できます。他の Azure サービスと連携して動作するマネージド サービス。これにより、テキスト、画像、オーディオ、ビデオをホストするさまざまな Azure ストレージ サービスのインデックス作成と検索が可能になります。データは複数のリージョンに保存されるため、高可用性が実現し、待ち時間と応答時間が短縮されます。さらに、エンタープライズ アプリケーションの場合、Microsoft Entra ID (Azure Active Directory の新しい名前) を使用してプライベート データへのアクセスを制御できます
3. コンテンツの埋め込みベクトルを生成して保存します
必須メモAzure Cognitive Search は「独自の埋め込みベクトルを使用する」サービスであるということです。 Cognitive Search では必要なベクトル埋め込みが生成されないため、Azure OpenAI または OpenAI 埋め込み API を使用してコンテンツの埋め込みを作成する必要があります。サービスのトークン制限内に確実に収まるように、大きなファイルをチャンク化する必要がある場合があります。必要に応じて、ベクトル データにインデックスを付けるための新しいテーブルを作成する準備をしてください。
Azure Cognitive Search では、ベクトル検索は最近傍モデルを使用して、元のクエリに類似するユーザーが選択した数のドキュメントを返します。このプロセスでは、元のクエリのベクトル埋め込みを使用してベクトル インデックス作成を呼び出し、LLM プロンプトで使用できるようにデータベースから同様のベクトルとインデックスのコンテンツを返します。
Microsoft は、このベクター ストアを Azure Machine Learning の取得拡張生成 (RAG) 設計パターンの一部として、またそのプロンプト フロー ツールと組み合わせて使用しています。 RAG はコグニティブ検索でベクトル インデックスを利用して、LLM プロンプトの基礎を形成するコンテキストを構築します。これにより、クエリによって返される類似ドキュメントの数を設定するなど、ベクトル インデックスをローコードで構築および使用する方法が提供されます
4、Azure Cognitive Search でのベクトル検索の開始
使用法 Azure Cognitive Search を使用すると、ベクトル クエリが非常に簡単になります。まず、同じリージョンに Azure OpenAI と Cognitive Search のリソースを作成します。これにより、最小限の遅延で埋め込みを含む検索インデックスをロードできるようになります。インデックスを読み込むには、Azure OpenAI API と Cognitive Search API を呼び出す必要があるため、再試行を管理するコードを追加して、サービス内で考えられるレート制限にコードが応答できることを確認することをお勧めします。サービス API を使用する場合は、非同期呼び出しを使用して埋め込みを生成し、インデックスをロードする必要があります。
ベクトルはベクトル フィールドとして検索インデックスに格納されます。ベクトルは次元を持つ浮動小数点数です。これらのベクトルは、ベクトルを類似ベクトルの近傍に分類する階層型のナビゲーション可能なスモールワールド近傍グラフを通じてマッピングされ、ベクトル インデックスを検索する実際のプロセスを高速化します。
ベクトル検索のインデックス スキーマを定義した後、コグニティブ検索のためにデータをインデックスにロードできます。データは複数のベクトルに関連付けられる場合があることに注意してください。たとえば、コグニティブ検索を使用して会社のドキュメントをホストする場合、主要なドキュメントのメタデータ用語とドキュメントのコンテンツに対して別のベクトルが必要になる可能性があります。データセットは JSON ドキュメントとして保存する必要があるため、結果を使用してプロンプト コンテキストを組み立てるプロセスが簡素化されます。最も一般的な Azure ストレージ オプションの使用をサポートしているため、インデックスにソース ドキュメントを含める必要はありません。
クエリを実行する前に、まずクエリ本文を使用して選択した埋め込みモデルを呼び出す必要があります。これにより、選択したインデックスの検索に使用できる多次元ベクトルが返されます。ベクトル検索 API を呼び出すときは、ターゲット ベクトル インデックス、必要な一致数、およびインデックス内の関連するテキスト フィールドを指定します。適切な類似性尺度を選択すると、クエリに非常に役立ちますが、その中で最も一般的に使用されるのはコサイン メトリクスです
5.単純なテキスト ベクトルを超えて
Azure Cognitive Search のベクトル機能は、テキストの一致だけを超えています。 。 Cognitive Search を多言語埋め込みとともに使用すると、複数言語にわたるドキュメント検索をサポートできます。より複雑な API を使用することもできます。たとえば、ハイブリッド検索で Bing セマンティック検索ツールを組み合わせてより正確な結果を提供できるため、LLM を利用したアプリケーションからの出力の品質が向上します。
Microsoft は、独自の GPT-4 ベースの Bing 検索エンジンとさまざまなコパイロットの構築に使用したツールとテクノロジを急速に製品化しています。セマンティック カーネルや Azure AI Studio のプロンプト フローなどのオーケストレーション エンジンは、大規模な言語モデルを扱う Microsoft のアプローチの中核です。これらの基盤が築かれた今、同社は必要な実現テクノロジーをさらに展開しているのがわかります。ベクトル検索とベクトルインデックス作成は、正確な応答を提供するための鍵となります。 Microsoft は、これらのサービスを提供するための使い慣れたツールを構築することで、コストと学習曲線を最小限に抑えることができます
以上がLLM アプリケーションを構築する: Azure Cognitive Services のベクトル検索機能を活用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









エラー 801c03ed には通常、次のメッセージが伴います: 管理者ポリシーにより、このユーザーはデバイスに参加できません。このエラー メッセージにより、Windows のインストールとネットワークへの参加が妨げられ、その結果、コンピュータが使用できなくなるため、この問題をできるだけ早く解決することが重要です。エラーコード 801c03ed とは何ですか?これは、次の理由により発生する Windows インストール エラーです: Azure セットアップでは新しいユーザーの参加が許可されていません。 Azure ではデバイス オブジェクトが有効になっていません。 Azure パネルでのハードウェア ハッシュ エラー。 Windows 801 でエラー コード 03c11ed を修正するにはどうすればよいですか? 1. Intune の設定を確認する Azure portal にログインします。 「デバイス」に移動し、「デバイス設定」を選択します。 「ユーザーができること」を変更します

翻訳者 | Bugatti レビュー | Chonglou この記事では、GroqLPU 推論エンジンを使用して JanAI と VSCode で超高速応答を生成する方法について説明します。 Groq は AI のインフラストラクチャ側に焦点を当てているなど、誰もがより優れた大規模言語モデル (LLM) の構築に取り組んでいます。これらの大型モデルがより迅速に応答するためには、これらの大型モデルからの迅速な応答が鍵となります。このチュートリアルでは、GroqLPU 解析エンジンと、API と JanAI を使用してラップトップ上でローカルにアクセスする方法を紹介します。この記事では、これを VSCode に統合して、コードの生成、コードのリファクタリング、ドキュメントの入力、テスト ユニットの生成を支援します。この記事では、独自の人工知能プログラミングアシスタントを無料で作成します。 GroqLPU 推論エンジン Groq の概要

テレンス・タオなど多くの数学者に賞賛されたこの正式な数学ツール、LeanCopilot が再び進化しました。ちょうど今、カリフォルニア工科大学のアニマ・アナンドクマール教授が、チームが LeanCopilot 論文の拡張版をリリースし、コードベースを更新したと発表しました。イメージペーパーのアドレス: https://arxiv.org/pdf/2404.12534.pdf 最新の実験では、この Copilot ツールが数学的証明ステップの 80% 以上を自動化できることが示されています。この記録は、以前のベースラインのイソップよりも 2.3 倍優れています。そして、以前と同様に、MIT ライセンスの下でオープンソースです。写真の彼は中国人の少年、ソン・ペイヤンです。

画像出典@visualchinesewen|Wang Jiwei 「人間 + RPA」から「人間 + 生成 AI + RPA」へ、LLM は RPA の人間とコンピューターのインタラクションにどのような影響を与えますか?別の観点から見ると、人間とコンピューターの相互作用の観点から、LLM は RPA にどのような影響を与えるのでしょうか?プログラム開発やプロセス自動化における人間とコンピューターの対話に影響を与える RPA も、LLM によって変更される予定ですか? LLM は人間とコンピューターの相互作用にどのような影響を与えますか?生成 AI は RPA と人間とコンピューターのインタラクションをどのように変えるのでしょうか?詳細については、次の記事をご覧ください: 大規模モデルの時代が到来し、LLM に基づく生成 AI が RPA の人間とコンピューターのインタラクションを急速に変革しています。生成 AI は人間とコンピューターのインタラクションを再定義し、LLM は RPA ソフトウェア アーキテクチャの変化に影響を与えています。 RPA がプログラム開発と自動化にどのような貢献をしているかを尋ねると、答えの 1 つは人間とコンピューターの相互作用 (HCI、h) を変えたことです。

Plaud Note AI ボイスレコーダー (Amazon で 159 ドルで購入可能) を開発した企業 Plaud が新製品を発表しました。 NotePin と呼ばれるこのデバイスは AI メモリ カプセルとして説明されており、Humane AI Pin と同様にウェアラブルです。ノートピンは

AIGC について詳しくは、51CTOAI.x コミュニティ https://www.51cto.com/aigc/Translator|Jingyan Reviewer|Chonglou を参照してください。これらの質問は、インターネット上のどこでも見られる従来の質問バンクとは異なります。既成概念にとらわれずに考える必要があります。大規模言語モデル (LLM) は、データ サイエンス、生成人工知能 (GenAI)、および人工知能の分野でますます重要になっています。これらの複雑なアルゴリズムは人間のスキルを向上させ、多くの業界で効率とイノベーションを推進し、企業が競争力を維持するための鍵となります。 LLM は、自然言語処理、テキスト生成、音声認識、推奨システムなどの分野で幅広い用途に使用できます。 LLM は大量のデータから学習することでテキストを生成できます。

Graph Retrieval Enhanced Generation (GraphRAG) は徐々に普及しており、従来のベクトル検索方法を強力に補完するものとなっています。この方法では、グラフ データベースの構造的特徴を利用してデータをノードと関係の形式で編成し、それによって取得された情報の深さと文脈の関連性が強化されます。グラフには、相互に関連する多様な情報を表現および保存するという自然な利点があり、異なるデータ型間の複雑な関係やプロパティを簡単に把握できます。ベクトル データベースはこの種の構造化情報を処理できず、高次元ベクトルで表される非構造化データの処理に重点を置いています。 RAG アプリケーションでは、構造化グラフ データと非構造化テキスト ベクトル検索を組み合わせることで、両方の利点を同時に享受できます。これについてこの記事で説明します。構造

オープンソースの大規模言語モデルのパフォーマンスが向上し続けるにつれて、コードの作成と分析、推奨事項、テキストの要約、および質問と回答 (QA) ペアのパフォーマンスがすべて向上しました。しかし、QA に関しては、LLM はトレーニングされていないデータに関連する問題に対応していないことが多く、多くの内部文書はコンプライアンス、企業秘密、またはプライバシーを確保するために社内に保管されています。これらの文書がクエリされると、LLM は幻覚を起こし、無関係なコンテンツ、捏造されたコンテンツ、または矛盾したコンテンツを生成する可能性があります。この課題に対処するために考えられる手法の 1 つは、検索拡張生成 (RAG) です。これには、生成の品質と精度を向上させるために、トレーニング データ ソースを超えた信頼できるナレッジ ベースを参照して応答を強化するプロセスが含まれます。 RAG システムには、コーパスから関連する文書断片を取得するための検索システムが含まれています。
