雪の結晶 / snowflake-arctic-embed-m-v2.0
74言語に対応する多言語テキスト埋め込みモデルで、英語および非英語の検索に優れています
Milvus Integrated
タスク: 埋め込み
モダリティ: テキスト
類似性メトリック: IP、L1、L2、コサイン
ライセンス: アパッチ2.0
次元: 768
最大入力トークン: 8192
価格: 無料
snowflake-arctic-embed-m-v2.0 の紹介
snowflake-arctic-embed-m-v2.0 モデルは、74 言語をカバーする多言語テキスト埋め込みモデルで、英語と非英語の両方で高い性能を発揮しながら、高品質な検索と効率的な推論向けに最適化されています。113M の非埋め込みパラメータにより、高速でスケーラブルな推論を提供し、Matryoshka Representation Learning と量子化対応トレーニングによるコンパクトな表現をサポートします。
snowflake-arctic-embed-m-v2.0 と snowflake-arctic-m モデルを比較します:
| モデル | パラメータ | 非埋め込みパラメータ | 次元数 | 言語サポート |
|---|---|---|---|---|
| snowflake-arctic-m-v2.0 | 305M | 113M | 768 | 多言語 |
| snowflake-arctic-m | 109M | 86M | 768 | 英語のみ |
snowflake-arctic-embed-m-v2.0 で埋め込みを作成する方法
ベクトル埋め込みを生成する主な方法は 2 つあります:
- PyMilvus: Milvus 用の Python SDK で、
snowflake-arctic-embed-m-v2.0モデルをシームレスに統合します。 - テキストおよび画像向けに Snowflake Cortex が提供する
AI_EMBED関数。
ベクトル埋め込みが生成されたら、それらを Zilliz Cloud(Milvus を基盤としたフルマネージドのベクトルデータベースサービス)に保存し、セマンティック類似性検索 に使用できます。主な手順は 4 つです:
- 無料で Zilliz Cloud アカウントにサインアップします。
- サーバーレスクラスターをセットアップし、Public Endpoint と API Key を取得します。
- ベクトルコレクションを作成し、ベクトル埋め込みを挿入します。
- 保存された埋め込みに対してセマンティック検索を実行します。
PyMilvus 経由で埋め込みを作成し、セマンティック検索のために Zilliz Cloud に挿入する
from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
from pymilvus import MilvusClient
# Load the Snowflake Arctic Embed M v2.0 model
ef = SentenceTransformerEmbeddingFunction(
"Snowflake/snowflake-arctic-embed-m-v2.0", trust_remote_code=True
)
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
"Born in Maida Vale, London, Turing was raised in southern England.",
]
# Generate embeddings for documents
docs_embeddings = ef(docs)
queries = ["When was artificial intelligence founded", "Where was Alan Turing born?"]
# Generate embeddings for queries
query_embeddings = ef(queries)
# Connect to Zilliz Cloud with Public Endpoint and API Key
client = MilvusClient(uri=ZILLIZ_PUBLIC_ENDPOINT, token=ZILLIZ_API_KEY)
COLLECTION = "arctic_embed_m_v2_documents"
# Drop collection if it exists
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
# Create collection with auto-detected dimension
client.create_collection(collection_name=COLLECTION, dimension=ef.dim, auto_id=True)
# Insert documents with embeddings
for doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vector": embedding})
# Search for similar documents
results = client.search(
collection_name=COLLECTION,
data=query_embeddings,
# consistency_level="Strong", # Strong consistency ensures accurate results but may increase latency
output_fields=["text"],
limit=2,
)
# Print search results
for i, query in enumerate(queries):
print(f"\nQuery: {query}")
for result in results[i]:
print(f" - {result['entity']['text']} (distance: {result['distance']:.4f})")
詳細については、当社の PyMilvus Embedding Model documentation を参照してください。





