オープンAI / text-embedding-3-small
Milvus & Zilliz Cloud Integrated
タスク: 埋め込み
モダリティ: テキスト
類似性メトリック: 任意(正規化)
ライセンス: 専有
次元: 1536
最大入力トークン: 8191
価格: 0.02ドル/100万トークン
text-embedding-3-smallの紹介
text-embedding-3-smallはOpenAIの小さなテキスト埋め込みモデルで、1536次元の埋め込みを作成します。text-embedding-ada-002
やtext-embedding-3-large
のようなOpenAIの他のテキスト埋め込みモデルと比較して、text-embedding-3-small
は精度と効率が改善された最も費用対効果の高いモデルです。汎用のベクトル検索アプリケーションに最適である。
基本的なことを簡単に説明しよう。
モデル | 寸法 | 最大トークン数 | モデル MIRACL 平均値 | METB 平均値 | 価格 | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
text-embedding-3-large | 3072 | 8191 | 54.9 | 64.6 | $0.13 / 1M トークン | text-embedding-3-large | 3072 | 8191 | 54.9 | 64.6 | $0.13 / 1M トークン | |
text-embedding-ada-002 | 1536 | 8191 | 31.4 | 61.0 | $0.10 / 1M tokens | text-embedding-3-smedded | 3072 | 8191 | 54.9 | 64.6 | $0.13 / 1M tokens | |
text-embedding-3-small|1536|8191|44.0|62.3|0.02ドル/1Mトークン||text-embedding-ada-002|() |
text-embedding-3-smallでベクトル埋め込みを生成する方法
ベクトル埋め込みを生成するには、主に2つの方法があります:
- PyMilvus**](https://github.com/milvus-io/pymilvus): MilvusのPython SDKで、
text-embedding-3-small
モデルをシームレスに統合しています。 - OpenAI Embedding: OpenAIが提供する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
OPENAI_API_KEY = "your-openai-api-key"
ef = model.dense.OpenAIEmbeddingFunction(
model_name="text-embedding-3-small"、
api_key=OPENAI_API_KEY、
)
# ドキュメントの埋め込みを生成する
ドキュメント = [
「人工知能は1956年に学問分野として創設された、
"アラン・チューリングは、AIの実質的な研究を行った最初の人物である。"、
"チューリングはロンドンのマイダヴェールで生まれ、イングランド南部で育った。"
]
docs_embeddings = ef.encode_documents(docs)
# クエリの埋め込みを生成する
queries = ["人工知能はいつ誕生したのか?
「アラン・チューリングはどこで生まれましたか?]
query_embeddings = ef.encode_queries(queries)
# 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=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を参照してください。
エンベッディングをOpenAIのPython SDKで生成し、Zilliz Cloudに挿入してセマンティック検索を行う。
from openai import OpenAI
from pymilvus import MilvusClient
OPENAI_API_KEY = "your-openai-api-key"
クライアント = OpenAI(api_key=OPENAI_API_KEY)
# ドキュメントの埋め込みを生成する
doc_response = client.embeddings.create(
input=[
「人工知能は1956年に学問分野として創設された、
"アラン・チューリングは、AIの実質的な研究を行った最初の人物である。"、
"チューリングはロンドンのマイダベールで生まれ、イングランド南部で育った。"
],
model="text-embedding-3-small"
)
doc_embeddings = [data.embedding for data in doc_response.data].
# クエリ用の埋め込みを生成する
query_response = client.embeddings.create(
input=["When was artificial intelligence founded"、
"アラン・チューリングはどこで生まれましたか?"]、
model="text-embedding-3-small"
)
query_embeddings = [data.embedding for data in query_response.data].
# 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"])
詳細については、OpenAIの埋め込みガイド を参照してください。
シームレス AI ワークフロー
埋め込みからスケーラブルな AI 検索まで、 Zilliz Cloud は、埋め込みを比類のないスピードと効率で保存、インデックス、検索できます。
Zilliz Cloudを無料で試す