Docs

Embeddings y reranking

Helmcode te da los dos primitivos de recuperación que necesita RAG — embeddings para encontrar pasajes candidatos, reranking para ordenarlos por relevancia real. Pipeline: embed → search → rerank → LLM.

Embeddings

Genera vectores con qwen3-embedding (8B, 4096 dimensiones, 100+ idiomas) en el endpoint compatible con OpenAI /v1/embeddings.

Python

from openai import OpenAI
client = OpenAI(base_url="https://api.helmcode.com/v1", api_key="sk-your-key-here")

emb = client.embeddings.create(
    model="qwen3-embedding",
    input=["Helmcode runs in the EU.", "Tokens are unlimited on open models."],
)
print(len(emb.data[0].embedding))  # 4096

cURL

curl https://api.helmcode.com/v1/embeddings \
  -H "Authorization: Bearer sk-your-key-here" \
  -H "Content-Type: application/json" \
  -d '{"model": "qwen3-embedding", "input": "Helmcode runs in the EU."}'

qwen3-embedding es multilingüe (similitud ES↔EN de 0,915) y maneja código. Límites: 60 rpm, tamaño de lote 32.

Reranking

Reordena los documentos recuperados por relevancia respecto a una consulta con el modelo rerank en /v1/rerank.

curl https://api.helmcode.com/v1/rerank \
  -H "Authorization: Bearer sk-your-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "rerank",
    "query": "How are tokens billed?",
    "documents": [
      "Helmcode charges a flat rate per API key.",
      "Whisper transcribes 99+ languages.",
      "Open models have unlimited tokens."
    ],
    "top_n": 2
  }'

La respuesta devuelve cada documento con un relevance_score, el más alto primero:

{
  "results": [
    { "index": 0, "relevance_score": 0.98 },
    { "index": 2, "relevance_score": 0.74 }
  ]
}

Usa el index devuelto para seleccionar los mejores pasajes y luego pásalos a un modelo de lenguaje como contexto. Consulta Ejemplos para la llamada de chat completa.