构建一个西班牙语 RAG 聊天机器人,准确回答有关你的知识库的问题——面向西班牙和拉丁美洲产品团队的实用指南。我们将介绍模型选择、如何处理西班牙语的地区变体、每次查询的成本,以及如何避免幻觉。
基础技术栈
- 使用 text-embedding-3-large 直接调用 OpenAI 生成文档嵌入——Kunavo 不提供嵌入服务,只负责生成步骤
- 向量搜索(pgvector、Pinecone 或 Qdrant)
- 使用 Claude Sonnet 4.6 + 提示缓存生成回答
- 高负载 / 最低成本时回退到 Gemini 2.5 Flash
基础代码片段
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每次查询成本:启用缓存时约为 $0.004(不到半欧分)。不使用缓存时约为 $0.01。差异足以抵消正确配置 cache_control 的成本。
中性西班牙语与地区变体
如果你的产品同时服务于西班牙和拉丁美洲用户,你有三种选择:
- 中性西班牙语(默认推荐):要求模型在正式场景使用“usted/ustedes”,并避免地区用语。适用于所有国家,但听起来会略显不够个性化
- 国家检测 + 特定提示:使用 IP 或用户设置,在“voseo”(阿根廷、乌拉圭)、“tuteo”(西班牙、墨西哥)、“ustedeo”(哥伦比亚及部分地区)之间进行选择。在 system prompt 中传入方言
- 每个市场使用一个模型:仅适用于每个地区都有专门团队且流量很高的情况。对大多数人来说属于过度设计
Claude Sonnet 4.6 和 Gemini 2.5 Pro 能理解所有变体;输出会遵循提示的风格。一行类似“用河床区西班牙语回答(voseo,例如 ‘vos podés’)”就足够了。
西班牙语中的 Token
对于相同内容,西班牙语消耗的 Token 约为英语的 1.3-1.5 倍(由于词尾更长且有冠词)。请相应调整输入和输出预算。英语中的 5K Token 上下文在西班牙语中会变成约 6.5K。
防止幻觉——真正有效的方法
- 明确的 System Prompt:“如果答案不在上下文中,请说‘我没有这方面的信息’。”模型在中性西班牙语中比在其他语言中更遵守这一点,原因尚不清楚
- 引用来源:要求它返回每条陈述所依据的文档 ID。如果 ID 是编造的,就知道它产生了幻觉
- 限制输出:max_tokens=300 可大幅减少编造填充内容的倾向
- 对抗性测试:从你的数据集中选取 50 个标记为“无法根据当前上下文回答”的问题。你的聊天机器人必须全部拒答
西班牙语月度预计成本
- 每天 100 次查询:使用缓存时约 $11/月
- 每天 1,000 次查询:约 $110/月
- 每天 10,000 次查询:约 $1,100/月
如果达到 10,000+ 次且需要进一步削减成本,请将简单查询切换到 Gemini 2.5 Flash(便宜 4 到 10 倍),仅为复杂查询保留 Sonnet 4.6。分层模式见 成本优化指南。
来自西班牙和拉丁美洲的付款
Stripe 会根据国家/地区处理付款:Pix(巴西)、国际卡、Apple Pay、Google Pay 和 Link。价格以 USD 计价,Stripe 可能会以你的本地货币显示金额;其汇率包含由付款方承担的 2–4% 换汇费,而使用 USD 付款可避免该费用(参见Stripe Adaptive Pricing 文档,阅读于 2026-10-03)。Bizum、PayPal、OXXO 和 Mercado Pago 不可用,Pay by Bank 也不可用:在 Kunavo 结账页面中,它仅向英国、爱尔兰和芬兰的买家提供,而在法国和德国,Stripe 仍将其列为私有预览(参见Stripe Pay by Bank 文档,阅读于 2026-10-03)。最低充值 $10 USD。余额不会过期。
支持与文档
通过 contact@kunavo.com 提供西班牙语支持,回复时间少于 24 个工作小时。完整技术文档位于 /docs/quickstart;完整的提示缓存指南位于 提示缓存深度解析。
准备好了吗?免费注册,充值 $10 起,仅为实际使用量付费,构建你的第一个可运行原型。