エンベディング ガイド

Gemini API のエンベディング サービスは、単語、フレーズ、文に対する最先端のエンベディングを生成します。生成されたエンベディングは、セマンティック検索、テキスト分類、クラスタリングなどの NLP タスクに使用できます。このページでは、エンベディングの概要と、作業を始める際に役立つエンベディング サービスの主なユースケースについて説明します。

エンベディングとは

テキスト エンベディングは、テキストを数値ベクトルに変換する自然言語処理(NLP)手法です。エンベディングはセマンティックな意味とコンテキストをキャプチャし、意味が似ているテキストがより近いエンベディングになります。たとえば、「私は犬を獣医に連れて行きました」と「猫を獣医に連れて行いました」という文は、ベクトル空間内で互いに近いエンベディングを持つことになります。どちらも類似したコンテキストを記述しているためです。

ベクトルに対しては動作できてもテキストに対しては直接操作できない多くのアルゴリズムを利用できるようになるため、これは重要です。

これらのエンベディングまたはベクトルを使用して、異なるテキストを比較し、それらの関連性を理解できます。たとえば、テキスト「cat」と「dog」のエンベディングが近い場合、これらの単語は意味、コンテキスト、またはその両方が類似していると推測できます。このアビリティにより、次のセクションで説明するさまざまなユースケースが可能になります。

ユースケース

テキスト エンベディングは、さまざまな NLP ユースケースで活用されています。次に例を示します。

弾力性埋め込み

text-embedding-004 以降の Gemini Text Embedding モデルでは、768 未満の弾力性のあるエンベディング サイズを使用できます。弾力性のあるエンベディングを使用すると、より小さな出力次元を生成し、パフォーマンスの低下をわずかに抑えながら、コンピューティングとストレージの費用を削減できる可能性があります。

次のステップ

  • 開発を開始する準備ができたら、PythonGoNode.jsDart(Flutter)のクイックスタートで、実行可能なコード全体を確認できます。