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

# Embeddings

> Genera embeddings vectoriales con el endpoint /embeddings de Venice compatible con OpenAI para búsqueda semántica, recuperación RAG, clustering y similitud.

Los embeddings convierten texto en vectores que capturan significado semántico. Úsalos para búsqueda, generación aumentada por recuperación (RAG), clustering, recomendaciones, deduplicación y puntuación de similitud.

El endpoint de embeddings de Venice es compatible con OpenAI. Envía una cadena o un arreglo de cadenas a `/embeddings` y almacena los vectores devueltos en tu base de datos o índice vectorial.

<Warning>
  Venice acepta únicamente texto. Envía una cadena o un arreglo de cadenas. Los arreglos de IDs de tokens se rechazan con HTTP 400. LangChain `OpenAIEmbeddings` debe establecer `check_embedding_ctx_length=False`; de lo contrario, tokeniza localmente con tiktoken y envía arreglos de enteros.
</Warning>

## Uso básico

<CodeGroup>
  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["VENICE_API_KEY"],
      base_url="https://api.venice.ai/api/v1",
  )

  response = client.embeddings.create(
      model="text-embedding-bge-m3",
      input="Privacy-first AI infrastructure for semantic search",
  )

  vector = response.data[0].embedding
  print(len(vector), vector[:5])
  ```

  ```javascript Node.js theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: process.env.VENICE_API_KEY,
    baseURL: "https://api.venice.ai/api/v1",
  });

  const response = await client.embeddings.create({
    model: "text-embedding-bge-m3",
    input: "Privacy-first AI infrastructure for semantic search",
  });

  const vector = response.data[0].embedding;
  console.log(vector.length, vector.slice(0, 5));
  ```

  ```bash cURL theme={null}
  curl https://api.venice.ai/api/v1/embeddings \
    -H "Authorization: Bearer $VENICE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "text-embedding-bge-m3",
      "input": "Privacy-first AI infrastructure for semantic search",
      "encoding_format": "float"
    }'
  ```
</CodeGroup>

## Entradas por lotes

Pasa un arreglo de cadenas para generar embeddings de varios textos en una sola solicitud. Cada elemento debe ser texto, no un arreglo de IDs de tokens.

Se aplican dos límites, y ambos se comprueban antes de que la solicitud llegue a un modelo:

| Límite                  | Valor | Error al superarlo                                                                                  |
| ----------------------- | ----- | --------------------------------------------------------------------------------------------------- |
| Elementos por solicitud | 2,048 | `400` — *"Array must contain at most 2048 element(s)"*                                              |
| Tokens por elemento     | 8,192 | `400` — el recuento de tokens se comprueba por cada entrada del arreglo, no en el conjunto del lote |

Dimensiona tus lotes de ingesta según el tope de 2,048 y divide los documentos largos en fragmentos de menos de 8,192 tokens por entrada. El cuerpo de la solicitud también es estricto, por lo que un campo no reconocido devuelve un `400` en lugar de ignorarse.

```json theme={null}
{
  "model": "text-embedding-bge-m3",
  "input": [
    "Venice supports private chat completions.",
    "Embeddings help retrieve relevant documents.",
    "Vector search powers RAG applications."
  ]
}
```

La respuesta conserva el orden de entrada. Almacena cada vector junto con el ID del texto de origen, los metadatos y el ID del modelo de embeddings.

## Flujo de trabajo común

1. Divide los documentos de origen en fragmentos.
2. Genera embeddings para cada fragmento.
3. Almacena los vectores y metadatos en una base de datos vectorial.
4. Genera el embedding de la consulta del usuario.
5. Recupera los fragmentos cercanos.
6. Envía el contexto recuperado a un modelo de chat.

Para una implementación completa, consulta [Crear un bot RAG privado](/learn/private-rag-bot).

## Selección de modelo

Utiliza la página de [Modelos de Embeddings](/models/embeddings) para comparar los modelos de embeddings actuales, sus dimensiones y precios.

<Note>
  Usa el mismo modelo de embeddings para indexar y consultar. Mezclar modelos puede hacer que las puntuaciones de similitud no sean fiables porque los espacios vectoriales no son intercambiables.
</Note>

## Recursos relacionados

* [API de Embeddings](/api-reference/endpoint/embeddings/generate)
* [Modelos de Embeddings](/models/embeddings)
* [LangChain](/guides/integrations/langchain#embeddings)
* [Guía del bot RAG privado](/learn/private-rag-bot)
