建立一個能精準回答知識庫內容的西班牙文 RAG 聊天機器人——為西班牙與拉丁美洲產品團隊撰寫的實用指南。我們會介紹模型選擇、如何處理西班牙文的區域變體、每次查詢的成本,以及如何避免幻覺。
基礎技術堆疊
- 使用 text-embedding-3-large 進行文件嵌入,直接呼叫 OpenAI——Kunavo 不提供 embeddings,只提供生成步驟
- 向量搜尋(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 所節省的成本,值得投入設定時間。
中性西班牙文與區域變體
如果產品同時服務西班牙與拉丁美洲使用者,有 3 個選擇:
- 中性西班牙文(預設推薦):要求模型在正式語境使用「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 倍(因為詞尾較長且有冠詞)。請相應調整 input 與 output 預算。英文的 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;完整的提示詞快取指南位於 prompt caching deep dive。
準備好了嗎?免費註冊,從 10 美元起儲值,只為實際使用的部分付費,建立第一個可運作的原型。