Nomic#
Модель nomic-embed-text-v1 представляет собой открытый исходный текстовый энкодер с длиной контекста 8192. Хотя можно найти его на Хабе Hugging Face, может быть проще получить их через Вложения текста от Nomic. После установки можно настроить его с помощью официального клиента Python, FastEmbed или напрямую через запросы HTTP.
Использование вложений Nomic через API/SDK Nomic требует настройки токена API Nomic.
Можно использовать вложения Nomic непосредственно при вызове клиентов Platform V Vector DB (далее - Vector DB). Существует разница в способах получения вложений для документов и запросов.
Добавление данных с использованием SDK Nomic#
Параметр task_type определяет получаемые ранее вложения. Для документов установите значение 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#
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],
),
)
Поиск с использованием SDK Nomic#
Чтобы выполнить запрос к коллекции, установите параметр 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 по теме Текстовые вложения.