生成 AI とは、 テキスト、画像、音楽、音声、動画、音声、動画などの新しいコンテンツを 動画。生成 AI は、機械学習(ML)モデルを利用して 人間が作成したコンテンツのデータセットに含まれる 特定のパターンと関係を分析できます
このテクノロジーは、次のようなアプリケーションを通じて、 Gemini。では、Google Cloud で Google Cloud の どうすればよいでしょうか。
一般的なユースケースの 1 つは、ユーザーが質問しやすいインターフェースを提供することです。 ウェブサイトのコンテンツに関する情報を 生成できるようになりますユーザーの検索結果を大幅に改善できます 構築できます
より優れたサイト固有の検索を構築する
ユーザーが質問を記入するインターフェースを作成すると、 LLM(大規模言語モデル)に送信される Gemini ユーザーに回答を表示します
このサイトにそのような機能があったとします。ユーザーから、どの API が 次のクエリを入力しました。
What are the features included in Interop 24?
残念ながら、次のようないくつかの理由から、出力が不正確になる可能性があります。
- ユーザーが LLM に質問のコンテキストをほとんど与えていないため、LLM は 間違った回答やハルシネーションを返しやすい傾向があります。
- LLM は、相互運用 2024 の作成前またはその特徴量よりも前にトレーニングされた可能性が高い その情報は認識されません
より最新の情報を LLM で見つけることは可能ですが、 本質的に古いデータセットです最新の結果を維持するには 時間と費用がかかります
プロンプト エンジニアリングを使用する
プロンプト エンジニアリング LLM から最適な出力を引き出すための一連の手法です。
1 つの手法として、プロンプトに追加のコンテキストを与え、LLM に コンテキストに関連するコンテンツを出力する可能性が高くなる。
引き続き相互運用の例になりますが、最初のステップは コンテキストとして使用します。次に、その質問を LLM が回答します。例:
Context:
Following on from the success of Interop 2022 and Interop 2023, we
are excited about the opportunity to collaborate once again with
all key browser vendors and other relevant stakeholders...
(trimmed to fit in this article)
Input:
What are the features included in Interop 2024?
Gemini から次のような出力が表示されます。
The features included in Interop 24 are Accessibility, CSS Nesting, Custom
Properties, Declarative Shadow DOM, font-size-adjust, HTTPS URLs for
WebSocket, IndexedDB, Layout, Pointer and Mouse Events, Popover, Relative
Color Syntax, requestVideoFrameCallback, Scrollbar Styling, @starting-style
and, transition-behavior, Text Directionality, text-wrap: balance,URL
この回答は、コンテキストのないプロンプトよりもはるかに優れた結果となる可能性があります。なぜなら、 基づいて決定します。
RAG によるスケールアップ
たとえば、1 つの記事に関する質問に答えるのではなく、 LLM は、web.dev に関する他の質問に回答し、記事をウェブ コンテンツとして 追加コンテキストです。規模の小さいサイトでは可能かもしれませんが、 Gemini 1.5 のコンテキスト ウィンドウ(100 万トークン) プロンプトが大きいほど実行速度が遅く費用もかかります。
LLM の入力と出力の長さは、トークンで測定、課金されます。トークンは テキスト入力で見つかった一般的な文字シーケンスを表す方法。「 トークンの数は通常、単語数よりも大きくなります。として 最初の例の入力は 775 単語で、1, 097 で表されています。 使用します。LLM によってトークンの計算方法が異なり、 テキスト入力用のトークンの数を計算するための API またはエンドポイント。
その解決策の一つは、LLM にプロンプトに関連した記事を提供することです。このタスクは、 次の 2 つの部分があります。
- LLM にプロンプトを入力する際に、上位の記事の内容をコンテキストとして追加します。
- 「 Interop 2024?」と記載しました。
Google は、Gemini の検索結果に以下の記事に基づくコンテンツを返すことを目標としています。
- 記事 1: web.dev/blog/submit-your-proposals-for-interop-2024
- 記事 2: web.dev/blog/interop-2023-wrapup
- 記事 3: web.dev/blog/interop-2024
入力は次のようになります。
Context:
Article 1:
Over the past two years... (trimmed)
Article 2:
At the end of last year Interop 2023 wrapped up. This effort... (trimmed)
Article 3:
Following on from the success of Interop 2022... (trimmed)
Input:
What are the features included in Interop 2024?
このコンテキストから想定される出力が生成されます。
* Accessibility * CSS Nesting * Custom Properties
* Declarative Shadow DOM * font-size-adjust
* HTTPS URLs for WebSocket * IndexedDB * Layout
* Pointer and Mouse Events * Popover * Relative Color Syntax
* requestVideoFrameCallback * Scrollbar Styling
* @starting-style and transition-behavior * Text Directionality
* text-wrap: balance * URL
AI の手法に慣れている人にとっては、このアプローチでは一般的な手法である RAG が使用されます。 生成 AI ツールから実際の回答が得られる可能性を高めることです。
セマンティック検索で出力を改善する
RAG 手法は通常の全文検索でも機能しますが、 いくつかあります。
- 全文検索では、AI がキーワードの完全一致を見つけやすくなります。しかし LLM は ユーザーの検索語句に裏打ちされた意味を 判断できますその結果 出力が不完全または不正確です
- 単語が複数の意味を持つ場合や、質問で 同義語です。例: 「bank」(金融機関と川岸)が 無関係な結果に発展します
- 全文検索では、そのキーワードを含む結果が出力されることがありますが、 ユーザーの目標と合わないからです
セマンティック検索 は、次の重要点に焦点を当てて検索の精度を向上させる手法です。
- 検索ユーザーの意図: ユーザーが検索を行っている理由の把握を試みます。 というものです。何を見つけようとしているか、達成しようとしているか?
- 文脈に沿った意味: 単語やフレーズを、 周囲のテキストのほか、ユーザーの現在地や できます。
- コンセプト間の関係: セマンティック検索ではナレッジグラフ(大規模な 自然言語処理(NLP)を使用して 言葉とアイデアがどのように結びついているかを説明します。
そのため、セマンティック検索を使用したツールを構築した場合、検索出力は キーワードではなく検索語句の全体的な目的を重視します。つまり、ツールは 完全に一致するキーワードがない場合でも、関連するドキュメントを判断できる機能 その単語が存在しても意味が異なるものの検索結果も回避できます。
現時点では、セマンティック検索を使用する次の 2 つの検索ツールを実装できます。 Vertex AI Search と Algolia AI Search。
公開済みコンテンツから回答を引き出す
ここでは、プロンプト エンジニアリングを使用して LLM が回答を提供できるようにする方法を学習しました。 プロンプトにコンテキストを追加することで、まだ見たことのないコンテンツに関連する単語を抽出できます。それでは、 このアプローチを個々の記事からコーパス全体に拡大する方法を学びました。 コンテンツの 検索拡張生成(RAG) 手法です。セマンティック検索によって、検索結果がユーザーの検索結果にどのように プロダクトへの RAG の実装を改善できます。
生成 AI ツールが「ハルシネーション」を起こし、そのため 最悪でも信頼できないものもあれば 最悪の場合に 説明します。これらの手法を使用することで、ユーザーと開発者の両者が その出力に対する信頼を築くことができます。