docs/mintlify/integrations/embedding-models/nomic.mdx
import { Callout } from '/snippets/callout.mdx';
Chroma provides a convenient wrapper around Nomic's embedding API. This embedding function runs remotely on Nomic's servers, and requires an API key. You can get an API key by signing up for an account at Nomic.
<Tabs> <Tab title="Python" icon="python">This embedding function relies on the nomic python package, which you can install with pip install nomic.
from chromadb.utils.embedding_functions import NomicEmbeddingFunction
import os
os.environ["NOMIC_API_KEY"] = "YOUR_API_KEY"
nomic_ef = NomicEmbeddingFunction(
model="nomic-embed-text-v1",
task_type="search_document",
query_config={"task_type": "search_query"}
)
texts = ["Hello, world!", "How are you?"]
embeddings = nomic_ef(texts)
You must pass in a model argument and task_type argument. The task_type can be one of:
search_document: Used to encode large documents in retrieval tasks at indexing timesearch_query: Used to encode user queries or questions in retrieval tasksclassification: Used to encode text for text classification tasksclustering: Used for clustering or reranking tasksThe query_config parameter allows you to specify a different task type for queries, which is useful when you want to use search_document for documents and search_query for queries.