Voltar ao blog
Guia técnico·25 de maio de 2026·7 min de leitura

Construindo um chatbot RAG em espanhol com Claude — guia prático para a América Latina e a Espanha

Stack completo para RAG em espanhol: text-embedding-3-large (chamado diretamente à OpenAI — a Kunavo não fornece embeddings) + pgvector + Claude Sonnet 4.6 + cache de prompts. ~US$0,007 por consulta, somando os dois provedores. Variantes regionais (voseo, tuteo e ustedeo), tokens em espanhol (1,3–1,5x mais que em inglês), prevenção de alucinações e custos mensais reais para 100 a 10.000 consultas diárias.

Crie um chatbot RAG em espanhol que responda com precisão sobre sua base de conhecimento — um guia prático pensado para equipes de produto na Espanha e na América Latina. Cobrimos a escolha do modelo, como lidar com variantes regionais do espanhol, custos por consulta e como evitar alucinações.

A stack básica

  1. Embeddings de documentos com text-embedding-3-large, chamado diretamente na OpenAI —— a Kunavo não oferece embeddings, apenas a etapa de geração
  2. Busca vetorial (pgvector, Pinecone ou Qdrant)
  3. Geração de respostas com Claude Sonnet 4.6 + cache de prompts
  4. Fallback para Gemini 2.5 Flash em alta carga / para custos mínimos

Snippet básico

responder.py
from openai import OpenAI

client = OpenAI(
    api_key="sk-kn-...",
    base_url="https://api.kunavo.com/v1",
)

def responder(pregunta: str, contexto: list[str]) -> str:
    """Responde en español usando contexto recuperado de la base de conocimiento."""
    resp = client.chat.completions.create(
        model="claude-sonnet-4-6",
        messages=[
            {
                "role": "system",
                "content": [
                    {
                        "type": "text",
                        "text": (
                            "Eres un asistente que responde en español neutro, "
                            "claro y conciso, basándote exclusivamente en el "
                            "contexto proporcionado. Si la respuesta no está en "
                            "el contexto, di 'No tengo esa información' en lugar "
                            "de inventar."
                        ),
                        "cache_control": {"type": "ephemeral"},
                    },
                ],
            },
            {
                "role": "user",
                "content": (
                    f"## Contexto\n{chr(10).join(contexto)}\n\n"
                    f"## Pregunta\n{pregunta}"
                ),
            },
        ],
        max_tokens=600,
    )
    return resp.choices[0].message.content

Custo por consulta: aproximadamente $0.004 (menos de meio centavo de euro) com o cache ativo. Sem cache, cerca de $0.01. A diferença compensa configurar corretamente o cache_control.

Espanhol neutro vs. variantes regionais

Se seu produto atende usuários da Espanha e da América Latina ao mesmo tempo, você tem 3 opções:

  • Espanhol neutro (recomendado por padrão): peça ao modelo que use “usted/ustedes” em contextos formais e evite regionalismos. Funciona em todos os países, mas soa ligeiramente impessoal
  • Detecção do país + prompt específico: use o IP ou a configuração do usuário para escolher entre “voseo” (Argentina, Uruguai), “tuteo” (Espanha, México) e “ustedeo” (Colômbia, certas regiões). Passe o dialeto no system prompt
  • Um modelo por mercado: somente se você tiver equipes dedicadas e alto volume em cada região. Para a maioria, é exagero

Claude Sonnet 4.6 e Gemini 2.5 Pro entendem todas as variantes; a saída segue o estilo do prompt. Uma linha como “Responda em espanhol rioplatense (voseo, ex.: 'vos podés')” basta.

Tokens em espanhol

O espanhol consome aproximadamente 1.3-1.5x mais tokens que o inglês para o mesmo conteúdo (por causa das terminações mais longas e dos artigos). Ajuste seus orçamentos de entrada e saída de acordo. Um contexto de 5K tokens em inglês se transforma em ~6.5K em espanhol.

Anti-hallucinações — o que realmente funciona

  • System prompt explícito: “se a resposta não estiver no contexto, diga 'Não tenho essa informação'”. O modelo respeita isso mais em espanhol neutro do que em outros idiomas; não sabemos por quê
  • Citar a fonte: peça que o modelo retorne o ID do documento de onde extraiu cada afirmação. Se o ID for inventado, você sabe que ele alucinou
  • Limitar a saída: max_tokens=300 reduz bastante a tentação de inventar conteúdo de preenchimento
  • Testes adversariais: 50 perguntas do seu dataset marcadas como “não respondíveis com o contexto atual”. Seu chatbot deve rejeitar todas

Custo mensal estimado (espanhol)

  • 100 consultas/dia: ~$11/mês com cache
  • 1.000 consultas/dia: ~$110/mês
  • 10.000 consultas/dia: ~$1.100/mês

Se você chegar a 10.000+ e precisar reduzir ainda mais, use Gemini 2.5 Flash para consultas simples (entre 4 e 10 vezes mais barato) e reserve Sonnet 4.6 apenas para as complexas. O padrão de tiering está descrito em guia de otimização de custos.

Pagamentos da Espanha e da América Latina

A Stripe processa o pagamento de acordo com o país: Pix (Brasil), cartões internacionais, Apple Pay, Google Pay e Link. Os preços estão em USD, e a Stripe pode exibir o valor na sua moeda; a taxa inclui uma comissão de conversão de 2–4% paga pelo comprador, e pagar em USD evita essa comissão (documentação do Adaptive Pricing da Stripe, consultada em 2026-10-03). Bizum, PayPal, OXXO e Mercado Pago não estão disponíveis, e Pay by Bank também não: no checkout do Kunavo, ele é oferecido apenas a compradores do Reino Unido, Irlanda e Finlândia; na França e na Alemanha, a Stripe ainda o mantém em prévia privada (documentação do Pay by Bank da Stripe, consultada em 2026-10-03). Recarga mínima de $10 USD. O saldo não expira.

Suporte e documentação

Suporte em espanhol por contact@kunavo.com em menos de 24 horas úteis. A documentação técnica completa está em /docs/quickstart; o guia completo de cache de prompts está em aprofundamento sobre cache de prompts.

Pronto? Cadastre-se gratuitamente, adicione saldo a partir de $10 e pague apenas pelo que usar para criar um primeiro protótipo funcional.