検索
ホームページテクノロジー周辺機器AILLM アプリケーションを構築する: 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 サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
迅速なエンジニアリングにおける思考のグラフは何ですか迅速なエンジニアリングにおける思考のグラフは何ですかApr 13, 2025 am 11:53 AM

導入 迅速なエンジニアリングでは、「思考のグラフ」とは、グラフ理論を使用してAIの推論プロセスを構造化および導く新しいアプローチを指します。しばしば線形sを含む従来の方法とは異なります

Genaiエージェントとの電子メールマーケティングを組織に最適化しますGenaiエージェントとの電子メールマーケティングを組織に最適化しますApr 13, 2025 am 11:44 AM

導入 おめでとう!あなたは成功したビジネスを運営しています。ウェブページ、ソーシャルメディアキャンペーン、ウェビナー、会議、無料リソース、その他のソースを通じて、毎日5000の電子メールIDを収集します。次の明白なステップはです

Apache Pinotによるリアルタイムアプリのパフォーマンス監視Apache Pinotによるリアルタイムアプリのパフォーマンス監視Apr 13, 2025 am 11:40 AM

導入 今日のペースの速いソフトウェア開発環境では、最適なアプリケーションパフォーマンスが重要です。応答時間、エラーレート、リソース利用などのリアルタイムメトリックを監視することで、メインに役立ちます

ChatGptは10億人のユーザーにヒットしますか? 「わずか数週間で2倍になりました」とOpenai CEOは言いますChatGptは10億人のユーザーにヒットしますか? 「わずか数週間で2倍になりました」とOpenai CEOは言いますApr 13, 2025 am 11:23 AM

「ユーザーは何人いますか?」彼は突き出した。 「私たちが最後に言ったのは毎週5億人のアクティブであり、非常に急速に成長していると思います」とアルトマンは答えました。 「わずか数週間で2倍になったと言った」とアンダーソンは続けた。 「私はそのprivと言いました

PIXTRAL -12B:Mistral AI'の最初のマルチモーダルモデル-Analytics VidhyaPIXTRAL -12B:Mistral AI'の最初のマルチモーダルモデル-Analytics VidhyaApr 13, 2025 am 11:20 AM

導入 Mistralは、最初のマルチモーダルモデル、つまりPixtral-12B-2409をリリースしました。このモデルは、Mistralの120億個のパラメーターであるNemo 12bに基づいて構築されています。このモデルを際立たせるものは何ですか?これで、画像とTexの両方を採用できます

生成AIアプリケーションのエージェントフレームワーク - 分析Vidhya生成AIアプリケーションのエージェントフレームワーク - 分析VidhyaApr 13, 2025 am 11:13 AM

クエリに応答するだけでなく、情報を自律的に収集し、タスクを実行し、テキスト、画像、コードなどの複数のタイプのデータを処理するAIを搭載したアシスタントがいることを想像してください。未来的に聞こえますか?これでa

金融セクターにおける生成AIの応用金融セクターにおける生成AIの応用Apr 13, 2025 am 11:12 AM

導入 金融業界は、効率的な取引と信用の可用性を促進することにより経済成長を促進するため、あらゆる国の発展の基礎となっています。取引の容易さとクレジット

オンライン学習とパッシブアグレッシブアルゴリズムのガイドオンライン学習とパッシブアグレッシブアルゴリズムのガイドApr 13, 2025 am 11:09 AM

導入 データは、ソーシャルメディア、金融取引、eコマースプラットフォームなどのソースから前例のないレートで生成されています。この連続的な情報ストリームを処理することは課題ですが、

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター