埋め込みプロバイダーを選択する際には、ニーズと好みに応じて検討できるいくつかの要因があります。
Anthropicは独自の埋め込みモデルを提供していません。上記のすべての考慮事項を網羅する幅広いオプションと機能を持つ埋め込みプロバイダーの1つはVoyage AIです。
Voyage AIは最先端の埋め込みモデルを作成し、金融やヘルスケアなどの特定の業界ドメイン向けのカスタマイズされたモデル、または個々の顧客向けのカスタムファインチューニングモデルを提供しています。
このガイドの残りはVoyage AIに関するものですが、特定のユースケースに最適なものを見つけるために、さまざまな埋め込みベンダーを評価する必要があります。
Voyageは以下のテキスト埋め込みモデルの使用を推奨しています。
| モデル | コンテキスト長 | 埋め込み次元 | 説明 |
|---|---|---|---|
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 | 32000 | 1024 | PDFのスクリーンショット、スライド、テーブル、図など、インターリーブされたテキストとコンテンツリッチな画像をベクトル化できるリッチなマルチモーダル埋め込みモデル。詳細はブログ投稿を参照してください。 |
どのテキスト埋め込みモデルを使用するか決めるのに役立つ情報をお探しですか?FAQをご覧ください。
Voyage埋め込みにアクセスするには:
export VOYAGE_API_KEY="<your secret key>"公式のvoyageai PythonパッケージまたはHTTPリクエストを使用して埋め込みを取得できます。詳細は以下で説明します。
voyageaiパッケージは以下のコマンドを使用してインストールできます:
pip install -U voyageaiその後、クライアントオブジェクトを作成して、テキストを埋め込むために使用を開始できます:
import voyageai
vo = voyageai.Client()
# This will automatically use the environment variable VOYAGE_API_KEY.
# Alternatively, you can use vo = voyageai.Client(api_key="<your secret key>")
texts = ["Sample text 1", "Sample text 2"]
result = vo.embed(texts, model="voyage-3.5", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])result.embeddingsは2つの埋め込みベクトルのリストになり、各ベクトルは1024個の浮動小数点数を含みます。上記のコードを実行した後、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-3.5"
}'受け取るレスポンスは、埋め込みとトークン使用量を含むJSONオブジェクトです:
{
"object": "list",
"data": [
{
"embedding": [-0.013131560757756233, 0.019828535616397858 /* ... */],
"index": 0
},
{
"embedding": [-0.0069352793507277966, 0.020878976210951805 /* ... */],
"index": 1
}
],
"model": "voyage-3.5",
"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()
# Embed the documents
doc_embds = vo.embed(documents, model="voyage-3.5", input_type="document").embeddings埋め込みにより、ベクトル空間でセマンティック検索/検索を実行できます。クエリの例が与えられた場合、
query = "When is Apple's conference call scheduled?"次に、それを埋め込みに変換し、最近傍検索を実施して、埋め込み空間での距離に基づいて最も関連性の高いドキュメントを見つけます。
import numpy as np
# Embed the query
query_embd = vo.embed([query], model="voyage-3.5", input_type="query").embeddings[0]
# Compute the similarity
# Voyage embeddings are normalized to length 1, therefore dot-product
# and cosine similarity are the same.
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?