Jina Embedder
Generate Jina retrieval embeddings with explicit passage and query tasks.
JinaEmbedder defaults to jina-embeddings-v3 with 1024 dimensions. Pass Jina API fields through request_params.
from agno.knowledge.embedder.jina import JinaEmbedder
passage_embedder = JinaEmbedder(
request_params={"task": "retrieval.passage"},
)
query_embedder = JinaEmbedder(
request_params={"task": "retrieval.query"},
)
passage_vector = passage_embedder.get_embedding(
"The quick brown fox jumps over the lazy dog."
)
query_vector = query_embedder.get_embedding("Which animal jumps?")
print(f"Passage dimensions: {len(passage_vector)}")
print(f"Query dimensions: {len(query_vector)}")JinaEmbedder applies one request_params dictionary to every call. A single instance used by a vector database therefore applies the same task to document insertion and query search. Jina's asymmetric retrieval tasks distinguish retrieval.passage from retrieval.query.
Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateExport the API key
export JINA_API_KEY=your_jina_api_key_hereInstall dependencies
uv pip install -U agno aiohttp requestsRun the example
python jina_embedder.py