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-embeddinges 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.