Files
landing_page/qdrant-landing/content/documentation/embeddings/nomic.md
T
George 92f8196651 fix and refactor python examples (#770)
* fix: fix points selector bugs, refactor code

* fix: fix and refactor embeddings

* fix: fix and refactor frameworks

* refactor: refactor guides

* fix: fix and refactor aleph-alpha tutorial

* fix: fix and refactor tutorials

* refactoring: refactor quick-start

* fix: address review comments

* fix: replace remaining host
2024-04-03 13:17:45 +02:00

2.6 KiB

title, weight
title weight
Nomic 1100

Nomic

The nomic-embed-text-v1 model is an open source 8192 context length text encoder. While you can find it on the Hugging Face Hub, you may find it easier to obtain them through the Nomic Text Embeddings. Once installed, you can configure it with the official Python client, FastEmbed or through direct HTTP requests.

You can use Nomic embeddings directly in Qdrant client calls. There is a difference in the way the embeddings are obtained for documents and queries.

Upsert using Nomic SDK

The task_type parameter defines the embeddings that you get. For documents, set the task_type to 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"],
    ),
)

Upsert using 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],
    ),
)

Search using Nomic SDK

To query the collection, set the task_type to 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],
)

Search using FastEmbed

output = next(model.embed("What is the best vector database?"))

client.search(
    collection_name="my-collection",
    query_vector=output.tolist(),
)

For more information, see the Nomic documentation on Text embeddings.