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

# Jina AI

> Use Jina AI's embedding and reranker models through Portkey.

## Quick Start

Get started with Jina AI in under 2 minutes:

<CodeGroup>
  ```python Python icon="python" theme={null}
  from portkey_ai import Portkey

  # 1. Install: pip install portkey-ai
  # 2. Add @jina provider in model catalog
  # 3. Use it:

  portkey = Portkey(api_key="PORTKEY_API_KEY")

  response = portkey.chat.completions.create(
      model="@jina/jina-embeddings-v2-base-en",
      messages=[{"role": "user", "content": "Hello!"}]
  )

  print(response.choices[0].message.content)
  ```

  ```js Javascript icon="square-js" theme={null}
  import Portkey from 'portkey-ai'

  // 1. Install: npm install portkey-ai
  // 2. Add @jina provider in model catalog
  // 3. Use it:

  const portkey = new Portkey({
      apiKey: "PORTKEY_API_KEY"
  })

  const response = await portkey.chat.completions.create({
      model: "@jina/jina-embeddings-v2-base-en",
      messages: [{ role: "user", content: "Hello!" }]
  })

  console.log(response.choices[0].message.content)
  ```

  ```python OpenAI Py icon="python" theme={null}
  from openai import OpenAI
  from portkey_ai import PORTKEY_GATEWAY_URL

  # 1. Install: pip install openai portkey-ai
  # 2. Add @jina provider in model catalog
  # 3. Use it:

  client = OpenAI(
      api_key="PORTKEY_API_KEY",  # Portkey API key
      base_url=PORTKEY_GATEWAY_URL
  )

  response = client.chat.completions.create(
      model="@jina/jina-embeddings-v2-base-en",
      messages=[{"role": "user", "content": "Hello!"}]
  )

  print(response.choices[0].message.content)
  ```

  ```js OpenAI JS icon="square-js" theme={null}
  import OpenAI from "openai"
  import { PORTKEY_GATEWAY_URL } from "portkey-ai"

  // 1. Install: npm install openai portkey-ai
  // 2. Add @jina provider in model catalog
  // 3. Use it:

  const client = new OpenAI({
      apiKey: "PORTKEY_API_KEY",  // Portkey API key
      baseURL: PORTKEY_GATEWAY_URL
  })

  const response = await client.chat.completions.create({
      model: "@jina/jina-embeddings-v2-base-en",
      messages: [{ role: "user", content: "Hello!" }]
  })

  console.log(response.choices[0].message.content)
  ```

  ```bash cURL theme={null}
  curl https://api.portkey.ai/v1/embeddings \
      -H "Content-Type: application/json" \
      -H "x-portkey-api-key: $PORTKEY_API_KEY" \
      -H "x-portkey-provider: @jina" \
      -d '{
          "model": "jina-embeddings-v2-base-en",
          "input": "embed this text"
      }'
  ```
</CodeGroup>

## Add Provider in Model Catalog

Before making requests, add Jina AI to your Model Catalog:

1. Go to [**Model Catalog → Add Provider**](https://app.portkey.ai/model-catalog/providers)
2. Select **Jina AI**
3. Enter your [Jina AI API key](https://jina.ai/)
4. Name your provider (e.g., `jina`)

<Card title="Complete Setup Guide" icon="book" href="/product/model-catalog">
  See all setup options and detailed configuration instructions
</Card>

***

## Jina AI Capabilities

### Embeddings

Generate embeddings with language-specific models:

<CodeGroup>
  ```python Python theme={null}
  from portkey_ai import Portkey

  portkey = Portkey(api_key="PORTKEY_API_KEY", provider="@jina")

  embeddings = portkey.embeddings.create(
      model="jina-embeddings-v2-base-en",
      input="embed this text"
  )

  print(embeddings.data[0].embedding)
  ```

  ```javascript Node.js theme={null}
  import Portkey from 'portkey-ai';

  const portkey = new Portkey({
      apiKey: 'PORTKEY_API_KEY',
      provider: '@jina'
  });

  const embeddings = await portkey.embeddings.create({
      model: "jina-embeddings-v2-base-en",
      input: "embed this text"
  });

  console.log(embeddings.data[0].embedding);
  ```
</CodeGroup>

### Reranking

Rerank documents for better search results:

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.portkey.ai/v1/rerank \
      -H "Content-Type: application/json" \
      -H "x-portkey-api-key: $PORTKEY_API_KEY" \
      -H "x-portkey-provider: @jina" \
      -d '{
          "model": "jina-reranker-v1-base-en",
          "query": "Organic skincare products for sensitive skin",
          "documents": [
              "Eco-friendly kitchenware for modern homes",
              "Biodegradable cleaning supplies for eco-conscious consumers",
              "Organic cotton baby clothes for sensitive skin"
          ],
          "top_n": 2
      }'
  ```

  ```python Python theme={null}
  from portkey_ai import Portkey

  portkey = Portkey(api_key="PORTKEY_API_KEY", provider="@jina")

  response = portkey.post(
      "/rerank",
      model="jina-reranker-v1-base-en",
      query="Organic skincare products for sensitive skin",
      documents=[
          "Eco-friendly kitchenware for modern homes",
          "Biodegradable cleaning supplies for eco-conscious consumers",
          "Organic cotton baby clothes for sensitive skin"
      ],
      top_n=2
  )

  print(response)
  ```

  ```javascript Node.js theme={null}
  import Portkey from 'portkey-ai';

  const portkey = new Portkey({
      apiKey: 'PORTKEY_API_KEY',
      provider: '@jina'
  });

  const response = await portkey.post(
      "/rerank",
      {
          model: "jina-reranker-v1-base-en",
          query: "Organic skincare products for sensitive skin",
          documents: [
              "Eco-friendly kitchenware for modern homes",
              "Biodegradable cleaning supplies for eco-conscious consumers",
              "Organic cotton baby clothes for sensitive skin"
          ],
          top_n: 2
      }
  );

  console.log(response);
  ```
</CodeGroup>

***

## Supported Models

Jina AI provides embedding models in multiple languages:

| Model Family            | Languages                | Description             |
| ----------------------- | ------------------------ | ----------------------- |
| jina-embeddings-v2-base | en, de, es, zh, and more | Multilingual embeddings |
| jina-reranker-v1-base   | en, de, es, zh           | Reranking models        |

Check [Jina AI's model page](https://jina.ai/embeddings) for the complete list.

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Gateway Configs" icon="sliders" href="/product/ai-gateway">
    Add fallbacks, load balancing, and more
  </Card>

  <Card title="Observability" icon="chart-line" href="/product/observability">
    Monitor and trace your Jina AI requests
  </Card>

  <Card title="Caching" icon="database" href="/product/ai-gateway/cache-simple-and-semantic">
    Cache embeddings for faster responses
  </Card>

  <Card title="Metadata" icon="tag" href="/product/observability/metadata">
    Add custom metadata to requests
  </Card>
</CardGroup>

For complete SDK documentation:

<Card title="SDK Reference" icon="code" href="/api-reference/sdk/list">
  Complete Portkey SDK documentation
</Card>
