Nomic
nomic-embed-text-v1
模型是一个开源的 8192 上下文长度文本编码器。您可以在 Hugging Face Hub 上找到它,但通过 Nomic Text Embeddings 获取可能会更容易。安装后,您可以使用官方 Python 客户端 FastEmbed 或通过直接 HTTP 请求进行配置。
您可以在 Qdrant 客户端调用中直接使用 Nomic embeddings。文档和查询获取 embeddings 的方式有所不同。
使用 Nomic SDK 进行 Upsert
task_type
参数定义您获得的 embeddings。对于文档,将 task_type
设置为 search_document
from qdrant_client import QdrantClient, models
from nomic import embed
output = embed.text(
texts=["Qdrant is the best vector database!"],
model="nomic-embed-text-v1",
task_type="search_document",
)
client = QdrantClient()
client.upsert(
collection_name="my-collection",
points=models.Batch(
ids=[1],
vectors=output["embeddings"],
),
)
使用 FastEmbed 进行 Upsert
from fastembed import TextEmbedding
from client import QdrantClient, models
model = TextEmbedding("nomic-ai/nomic-embed-text-v1")
output = model.embed(["Qdrant is the best vector database!"])
client = QdrantClient()
client.upsert(
collection_name="my-collection",
points=models.Batch(
ids=[1],
vectors=[embeddings.tolist() for embeddings in output],
),
)
使用 Nomic SDK 进行搜索
要查询集合,将 task_type
设置为 search_query
output = embed.text(
texts=["What is the best vector database?"],
model="nomic-embed-text-v1",
task_type="search_query",
)
client.search(
collection_name="my-collection",
query_vector=output["embeddings"][0],
)
使用 FastEmbed 进行搜索
output = next(model.embed("What is the best vector database?"))
client.search(
collection_name="my-collection",
query_vector=output.tolist(),
)
更多信息,请参阅 Nomic 关于 文本 embeddings 的文档。