埋め込みプロバイダーを選択する際には、ニーズや好みに応じて考慮すべきいくつかの要素があります。
Anthropicは独自の埋め込みモデルを提供していません。上記のすべての考慮事項を網羅する幅広いオプションと機能を備えた埋め込みプロバイダーの1つがVoyage AIです。
Voyage AIは最先端の埋め込みモデルを提供しており、金融やヘルスケアなどの特定の業界ドメイン向けにカスタマイズされたモデルや、個々の顧客向けにオーダーメイドでファインチューニングされたモデルを提供しています。
このガイドの残りの部分はVoyage AIについてのものですが、特定のユースケースに最適なものを見つけるために、さまざまな埋め込みベンダーを評価することをお勧めします。
Voyageは以下のテキスト埋め込みモデルの使用を推奨しています。
Voyage 4(最新世代)
| モデル | コンテキスト長 | 埋め込み次元 | 説明 |
|---|---|---|---|
voyage-4-large | 32,000 | 1024(デフォルト)、256、512、2048 | 最高の汎用および多言語検索品質。詳細はブログ記事を参照してください。 |
voyage-4 | 32,000 | 1024(デフォルト)、256、512、2048 | 汎用および多言語検索品質に最適化。品質と効率のバランスを取っています。詳細はブログ記事を参照してください。 |
voyage-4-lite | 32,000 | 1024(デフォルト)、256、512、2048 | レイテンシとコストに最適化。詳細はブログ記事を参照してください。 |
voyage-4-nano | 32,000 | 1024(デフォルト)、256、512、2048 | Hugging Faceで利用可能なオープンウェイトモデル(Apache 2.0ライセンス)。詳細はブログ記事を参照してください。 |
前世代
| モデル | コンテキスト長 | 埋め込み次元 | 説明 |
|---|---|---|---|
voyage-3-large | 32,000 | 1024(デフォルト)、256、512、2048 | 最高の汎用および多言語検索品質。詳細はブログ記事を参照してください。 |
voyage-3.5 | 32,000 | 1024(デフォルト)、256、512、2048 | 汎用および多言語検索品質に最適化。詳細はブログ記事を参照してください。 |
voyage-3.5-lite | 32,000 | 1024(デフォルト)、256、512、2048 | レイテンシとコストに最適化。詳細はブログ記事を参照してください。 |
voyage-code-3 | 32,000 | 1024(デフォルト)、256、512、2048 | コード検索に最適化。詳細はブログ記事を参照してください。 |
voyage-finance-2 | 32,000 | 1024 | 金融検索およびRAGに最適化。詳細はブログ記事を参照してください。 |
voyage-law-2 | 16,000 | 1024 | 法務および長文コンテキスト検索とRAGに最適化。すべてのドメインでパフォーマンスも向上しています。詳細はブログ記事を参照してください。 |
さらに、以下のマルチモーダル埋め込みモデルが推奨されています。
| モデル | コンテキスト長 | 埋め込み次元 | 説明 |
|---|---|---|---|
voyage-multimodal-3.5 | 32,000 | 1024(デフォルト)、256、512、2048 | テキスト、画像、動画を交互に配置したコンテンツをベクトル化できる高機能なマルチモーダル埋め込みモデル。初の本番環境レベルの動画埋め込みモデルとして動画サポートを含みます。詳細はブログ記事を参照してください。 |
voyage-multimodal-3 | 32,000 | 1024 | テキストと、PDFのスクリーンショット、スライド、表、図などのコンテンツが豊富な画像を交互に配置したものをベクトル化できる高機能なマルチモーダル埋め込みモデル。詳細はブログ記事を参照してください。 |
どのテキスト埋め込みモデルを使用すべきか判断に迷っていますか?FAQをご確認ください。
Voyage埋め込みにアクセスするには:
export VOYAGE_API_KEY="<your secret key>"以下で説明するように、公式のvoyageai PythonパッケージまたはHTTPリクエストのいずれかを使用して埋め込みを取得できます。
voyageaiパッケージは以下のコマンドでインストールできます。
pip install -U voyageai次に、クライアントオブジェクトを作成し、それを使用してテキストの埋め込みを開始できます。
import voyageai
vo = voyageai.Client()
# これは自動的に環境変数 VOYAGE_API_KEY を使用します。
# または、vo = voyageai.Client(api_key="<your secret key>") を使用することもできます
texts = ["Sample text 1", "Sample text 2"]
result = vo.embed(texts, model="voyage-4", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])result.embeddingsは、それぞれ1024個の浮動小数点数を含む2つの埋め込みベクトルのリストになります。上記のコードを実行すると、2つの埋め込みが画面に出力されます。
[-0.013131560757756233, 0.019828535616397858, ...] # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...] # embedding for "Sample text 2"埋め込みを作成する際、embed()関数にいくつかの他の引数を指定できます。
Voyage Pythonパッケージの詳細については、Voyageドキュメントを参照してください。
Voyage HTTP APIにリクエストを送信することで埋め込みを取得することもできます。例えば、ターミナルでcurlコマンドを使用してHTTPリクエストを送信できます。
curl https://api.voyageai.com/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $VOYAGE_API_KEY" \
-d '{
"input": ["Sample text 1", "Sample text 2"],
"model": "voyage-4"
}'受け取るレスポンスは、埋め込みとトークン使用量を含むJSONオブジェクトです。
{
"object": "list",
"data": [
{
"embedding": [-0.013131560757756233, 0.019828535616397858 /* ... */],
"index": 0
},
{
"embedding": [-0.0069352793507277966, 0.020878976210951805 /* ... */],
"index": 1
}
],
"model": "voyage-4",
"usage": {
"total_tokens": 10
}
}Voyage HTTP APIの詳細については、Voyageドキュメントを参照してください。
Voyage埋め込みはAWS Marketplaceで利用可能です。AWSでVoyageにアクセスする手順は、Voyage AWS Marketplaceドキュメントで確認できます。
以下の簡単な例は、埋め込みの使用方法を示しています。
検索対象として6つのドキュメントからなる小さなコーパスがあるとします。
documents = [
"The Mediterranean diet emphasizes fish, olive oil, and vegetables, believed to reduce chronic diseases.",
"Photosynthesis in plants converts light energy into glucose and produces essential oxygen.",
"20th-century innovations, from radios to smartphones, centered on electronic advancements.",
"Rivers provide water, irrigation, and habitat for aquatic species, vital for ecosystems.",
"Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.",
"Shakespeare's works, like 'Hamlet' and 'A Midsummer Night's Dream,' endure in literature.",
]まず、Voyageを使用して各ドキュメントを埋め込みベクトルに変換します。
import voyageai
vo = voyageai.Client()
# ドキュメントを埋め込む
doc_embds = vo.embed(documents, model="voyage-4", input_type="document").embeddings埋め込みにより、ベクトル空間でセマンティック検索/検索を行うことができます。例として以下のクエリがあるとします。
query = "When is Apple's conference call scheduled?"次に、それを埋め込みに変換し、埋め込み空間での距離に基づいて最も関連性の高いドキュメントを見つけるために最近傍探索を実行します。
import numpy as np
# クエリを埋め込む
query_embd = vo.embed([query], model="voyage-4", input_type="query").embeddings[0]
# 類似度を計算する
# Voyageの埋め込みは長さ1に正規化されているため、ドット積と
# コサイン類似度は同じになります。
similarities = np.dot(doc_embds, query_embd)
retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])ドキュメントとクエリの埋め込みには、それぞれinput_type="document"とinput_type="query"が使用されることに注意してください。詳細な仕様はVoyage Pythonライブラリで確認できます。
出力は5番目のドキュメントとなり、これは実際にクエリに最も関連性の高いものです。
Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.ベクトルデータベースを含む、埋め込みを使用したRAGの実行方法に関する詳細なクックブックをお探しの場合は、RAGクックブックをご確認ください。
最新の料金詳細については、Voyageの料金ページをご覧ください。
Was this page helpful?