Nomic / nomic-embed-vision-v1
9,200万パラメータのビジョン埋め込みモデルで、nomic-embed-text-v1とのユニモーダル検索およびマルチモーダル検索のペアリングの両方をサポートします
Milvus Integrated
タスク: 埋め込み
モダリティ: 画像
類似性メトリック: コサイン
ライセンス: アパッチ2.0
次元: 768
最大入力トークン:
価格: 無料
nomic-embed-vision-v1 の紹介
nomic-embed-vision-v1 モデルは、nomic-embed-text-v1 と同じ潜在空間を共有する、完全に再現可能なビジョン埋め込みモデルです。これにより、テキスト埋め込みと画像埋め込みが互いを直接クエリできるマルチモーダルな利用が可能になります。92M パラメータのビジョンエンコーダーを備え、画像およびテキストの埋め込み、各モダリティ内でのユニモーダル検索、両方にまたがるマルチモーダル検索をサポートします。
nomic-embed-vision-v1 で埋め込みを作成する方法
ベクトル埋め込みを生成する主な方法は 2 つあります。
- PyMilvus:
nomic-embed-vision-v1モデルをシームレスに統合する Milvus 向けの Python SDK。 - Nomic Python SDK の
embedモジュールは、Nomic Embedding API を使用した埋め込み機能を提供します。
ベクトル埋め込みが生成されたら、それらを Zilliz Cloud(Milvus を基盤とするフルマネージドのベクトルデータベースサービス)に保存し、セマンティック類似性検索 に使用できます。主な手順は次の 4 つです。
- Zilliz Cloud アカウントに無料でサインアップします。
- サーバーレスクラスターをセットアップし、Public Endpoint と API Key を取得します。
- ベクトルコレクションを作成し、ベクトル埋め込みを挿入します。
- 保存された埋め込みに対してセマンティック検索を実行します。
PyMilvus 経由で埋め込みを作成し、セマンティック検索のために Zilliz Cloud に挿入する
from pymilvus import MilvusClient
from nomic import embed
# Prepare images (can be local paths or URLs)
images = ["path/to/image1.jpg", "path/to/image2.jpg", "path/to/image3.jpg"]
# Generate embeddings for images using nomic-embed-vision-v1
image_embeddings = embed.image(images=images, model="nomic-embed-vision-v1")[
"embeddings"
]
# Prepare query image
query_images = ["path/to/query_image.jpg"]
# Generate embeddings for query
query_embeddings = embed.image(images=query_images, model="nomic-embed-vision-v1")[
"embeddings"
]
# Connect to Zilliz Cloud with Public Endpoint and API Key
client = MilvusClient(uri=ZILLIZ_PUBLIC_ENDPOINT, token=ZILLIZ_API_KEY)
COLLECTION = "nomic_vision_v1_images"
# Drop collection if it exists
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
# Create collection with dimension 768 (nomic-embed-vision-v1 output dimension)
client.create_collection(collection_name=COLLECTION, dimension=768, auto_id=True)
# Insert images with embeddings
for image, embedding in zip(images, image_embeddings):
client.insert(COLLECTION, {"image_path": image, "vector": embedding})
# Search for similar images
results = client.search(
collection_name=COLLECTION,
data=query_embeddings,
# consistency_level="Strong", # Strong consistency ensures accurate results but may increase latency
output_fields=["image_path"],
limit=3,
)
# Print search results
print("Similar images found:")
for result in results[0]:
print(f" - {result['entity']['image_path']} (distance: {result['distance']:.4f})")
詳細については、当社の PyMilvus Embedding Model ドキュメント を参照してください。





