> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 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`.

```python jina_embedder.py theme={null}
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)}")
```

<Warning>
  `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`.
</Warning>

## Run the Example

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="Export the API key">
    ```bash theme={null}
    export JINA_API_KEY=your_jina_api_key_here
    ```
  </Step>

  <Step title="Install dependencies">
    ```bash theme={null}
    uv pip install -U agno aiohttp requests
    ```
  </Step>

  <Step title="Run the example">
    ```bash theme={null}
    python jina_embedder.py
    ```
  </Step>
</Steps>

## Developer Resources

* [Embedders overview](/knowledge/concepts/embedder/overview)
* [Jina Embeddings API](https://jina.ai/en-US/embeddings/)
* [Jina Embeddings v3 tasks](https://jina.ai/news/jina-embeddings-v3-a-frontier-multilingual-embedding-model/)
