46.6kデモを予約するログイン無料で始める
ボヤージュAI

ボヤージュAI / voyage-code-2

コード検索に最適化されたVoyage AIのテキスト埋め込みモデル(他社製品より17%優れている)。

voyage-code-2入門

voyage-code-2`はVoyage AIがコード検索用に最適化したテキスト埋め込みモデルである(他のモデルより17%優れている)。

voyage-code-2` と Voyage AI の他の一般的な埋め込みモデルとの比較:

モデルコンテキストの長さ(トークン)埋め込みの次元説明
voyage-large-2-instruct|16000|1024| MTEB leaderboardのトップ。クラスタリング、分類、検索のために最適化された、命令チューニングされた汎用埋め込みモデル。
voyage-multilingual-2|32000|1024| 多言語検索とRAGに最適化。
voyage-code-2](https://zilliz.com/ai-models/voyage-code-2)|16000|1536|コード検索に最適化(代替品より17%改善)。
voyage-large-2](https://zilliz.com/ai-models/voyage-large-2)160001536検索品質に最適化された汎用埋め込みモデル(例えばOpenAI V3 Largeよりも優れている)。
voyage-2](https://zilliz.com/ai-models/voyage-2)4000|1024| コスト、レイテンシ、検索品質のバランスに最適化された汎用エンベッディングモデル。

voyage-code-2で埋め込みを作成する方法

ベクトル埋め込みを作成するには、主に2つの方法があります:

1.1.PyMilvus:MilvusのPython SDKで、voyage-code-2モデルをシームレスに統合しています。 2.Voyage AI Embedding: Voyage AIが提供するPython SDK。

ベクトル埋め込みが生成されると、Zilliz Cloud (Milvusによって提供されるフルマネージドベクトルデータベースサービス)に保存され、意味的類似性検索に使用することができる。以下は、4つの重要なステップである:

1.1.サインアップ Zilliz Cloudアカウントを無料で取得する。 2.サーバーレスクラスターのセットアップ](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster)とパブリックエンドポイントとAPIキーを取得する。 3.ベクター・コレクションを作成し、ベクター埋め込みを挿入します。 4.**セマンティック検索を実行する。

PyMilvusで埋め込みベクトルを生成し、Zilliz Cloudに挿入してセマンティック検索を行う。

from pymilvus import model, MilvusClient

ef = model.dense.VoyageEmbeddingFunction(
   model_name="voyage-code-2"、
   api_key="your-voyage-api-key"、
   )

# ドキュメントの埋め込みを生成する
ドキュメント = [
    "retriever = KNNRetriever.from_texts(documents, embeddings)"、
    "knn = KNeighborsClassifier(n_neighbors=3)"、
    "sorted_numbers = sorted(numbers)"、
    "def dynamic_programming(): print('yes')"、
    "documents_embds = get_embeddings(documents)"、
    "response = client.embeddings.create(input = documents, model='text-embedding-ada-002')", "
]

docs_embeddings = ef.encode_documents(docs)

# クエリの埋め込みを生成する
queries = ["関数dynamic_programming()は動的計画法を使って実装されていますか?]

query_embeddings = ef.encode_queries(queries)

# パブリックエンドポイントとAPIキーでZilliz Cloudに接続する
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT、
    token=ZILLIZ_API_KEY)

COLLECTION = "documents"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(collection_name=COLLECTION)
client.create_collection(
    コレクション名=COLLECTION、
    dimension=ef.dim、
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})
    
results = client.search(
    collection_name=COLLECTION、
    data=query_embeddings、
    consistency_level="Strong"、
    output_fields=["text"])

詳細はPyMilvus Embedding Model documentationを参照してください。

Voyage AI の Python SDK を使ってベクトル埋め込みを生成し、Zilliz Cloud に挿入して意味検索を行う。

import voyageai
from pymilvus import MilvusClient

vo = voyageai.Client(api_key="your-voyage-api-key")

# ドキュメントの埋め込みを生成する
ドキュメント = [
    "retriever = KNNRetriever.from_texts(documents, embeddings)"、
    "knn = KNeighborsClassifier(n_neighbors=3)"、
    "sorted_numbers = sorted(numbers)"、
    "def dynamic_programming(): print('yes')"、
    "documents_embds = get_embeddings(documents)"、
    "response = client.embeddings.create(input = documents, model='text-embedding-ada-002')", "
]

docs_embeddings = vo.embed(docs, model="voyage-code-2", input_type="document").embeddings

# クエリの埋め込みを生成する
queries = ["関数dynamic_programming()は動的計画法を使って実装されていますか?]

query_embeddings = vo.embed(queries, model="voyage-code-2", input_type="query").embeddings # クエリの埋め込みを生成する。

# Public EndpointとAPI KeyでZilliz Cloudに接続する
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT、
    token=ZILLIZ_API_KEY)

COLLECTION = "documents"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(collection_name=COLLECTION)
client.create_collection(
    コレクション名=COLLECTION、
    dimension=1536、
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})
    
results = client.search(
    collection_name=COLLECTION、
    data=query_embeddings、
    consistency_level="Strong"、
    output_fields=["text"])

詳細はVoyage AI Embedding Guideを参照してください。