Saltar al contenido principal

Embedding

1. Visión General​

El componente Embedding (embedding) transforma un texto en un vector numérico (embedding), usado para búsqueda semántica, comparación de similitud y alimentación de bases vectoriales (como Qdrant). Soporta los proveedores OpenAI, Google Gemini y Hugging Face.

Úsalo cuando el flujo necesita generar representaciones vectoriales de texto — por ejemplo, antes de grabar un documento en una base vectorial, o para comparar la similitud entre dos textos. Solo funciona como acción de salida.

2. Prerrequisitos​

  • Una clave de API válida del proveedor elegido (OpenAI, Gemini o Hugging Face).
  • Si se usa un proveedor personalizado/compatible, la URL base de ese servicio.

3. Autenticación y Conexión​

CampoObligatorioTipoDescripciónEjemplo
apiKeySíTextoClave de autenticación del proveedor elegido.Una expresión que busca la clave en una variable segura
providerNoTexto: openai, gemini o huggingfaceProveedor de embeddings a usar. Valor por defecto: "openai"."gemini"
baseUrlNoTextoURL base personalizada del proveedor (para endpoints compatibles o autoalojados). Si no se informa, usa la URL por defecto del proveedor elegido."https://mi-proxy.ejemplo.com/v1"

4. Configuración / Operaciones Soportadas​

El componente tiene una única operación: generar el embedding de un texto.

CampoObligatorioTipoDescripciónEjemplo
textSíTextoTexto a transformar en vector."Descripción del producto..."
modelNoTextoIdentificador del modelo de embedding. Cada proveedor tiene un valor por defecto propio (ej.: OpenAI usa text-embedding-ada-002)."text-embedding-3-small"
maxChunkSizeNoNúmeroTamaño máximo de texto (en caracteres) antes de dividirlo automáticamente en fragmentos (chunks). Valor por defecto: 8000.4000
chunkSizeNoNúmeroTamaño de cada fragmento, cuando el texto se divide. Valor por defecto: 1000.800
chunkOverlapNoNúmeroSuperposición entre fragmentos consecutivos. Valor por defecto: 200.100

Si el texto es menor o igual a maxChunkSize, se genera un único embedding. Si es mayor, el texto se divide en fragmentos y se genera un embedding para cada uno.

5. Ejemplos Prácticos​

Ejemplo simple: generar el embedding de una descripción corta de producto, usando OpenAI.

Entrada:

{
"produto": { "descricao": "Zapatillas deportivas para correr, suela con amortiguación" }
}

Configuración del componente:

{
"componentName": "embedding",
"configurations": {
"provider": "openai",
"apiKey": "{$.secrets.openaiApiKey}",
"text": "{$.body.produto.descricao}"
}
}

Respuesta:

{
"provider": "openai:text-embedding-ada-002",
"textLength": 60,
"chunked": false,
"originalText": "Zapatillas deportivas para correr, suela con amortiguación",
"embedding": [0.0123, -0.0456, 0.0789],
"dimensions": 1536
}

Ejemplo avanzado: generar embeddings de un documento largo, dividido automáticamente en fragmentos.

Entrada:

{
"documento": "<texto largo de varias páginas>"
}

Configuración del componente:

{
"componentName": "embedding",
"configurations": {
"provider": "gemini",
"apiKey": "{$.secrets.geminiApiKey}",
"text": "{$.body.documento}",
"maxChunkSize": "4000",
"chunkSize": "800",
"chunkOverlap": "100"
}
}

Respuesta (documento dividido en fragmentos):

{
"provider": "gemini:gemini-embedding-001",
"totalChunks": 3,
"chunkSize": 800,
"chunkOverlap": 100,
"originalTextLength": 9500,
"chunked": true,
"chunks": [
{ "index": 0, "text": "...", "length": 800, "embedding": [0.01, 0.02], "dimensions": 768 },
{ "index": 1, "text": "...", "length": 800, "embedding": [0.03, 0.04], "dimensions": 768 }
]
}

6. Errores Comunes y Troubleshooting​

Error / SíntomaCausa probableCómo resolverlo
"API Key is required but has not been configured."El campo apiKey no fue completado.Completar apiKey con una clave válida del proveedor.
"Text is required but has not been configured."El campo text no fue completado.Completar text con el contenido a transformar en embedding.
"Unsupported embedding provider: ..."El valor de provider no es reconocido.Usar openai, gemini o huggingface.
"OpenAI API error: ..." / "Gemini API error: ..." / "HuggingFace API error: ..."El proveedor devolvió un error (clave inválida, límite excedido, modelo inexistente).Revisar la clave de API y el nombre del modelo configurado.
"Embedding operation failed: ..."Falla general en la llamada al proveedor.Verificar conectividad y revisar la configuración del proveedor.