Assistente de recomendação de produtos baseado em Claude para seus sites turcos de comércio eletrônico: entende consultas em linguagem natural do cliente, como "se fizer sol no verão, vou à praia, o que posso comprar por até 1.000 TL", e recomenda produtos reais do catálogo. Código completo + cálculo do custo mensal + IVA + estratégia para flutuações da taxa de câmbio da TL.
Por que Claude Haiku 4.5?
Em tarefas de "entender + formatar", como recomendação de produtos, o Claude Haiku 4.5 oferece aproximadamente 85% da qualidade do Sonnet 4.6 por um terço do custo. Com os preços do Kunavo:
- Haiku 4.5: entrada US$ 0,40/1M, saída US$ 2,00/1M
- Sonnet 4.6: entrada US$ 1,20/1M, saída US$ 6,00/1M
Catálogo com 200 produtos + consulta do cliente = ~3K tokens de entrada, resposta JSON = ~200 tokens de saída. Custo por chamada: ~US$ 0,0016 (aproximadamente ₺0,06).
Código funcional
import json
from openai import OpenAI
client = OpenAI(
api_key="sk-kn-...",
base_url="https://api.kunavo.com/v1",
)
# Claude, json_schema tipindeki response_format'a uyar; json_object garanti edilmez.
ONERI = {
"type": "object",
"properties": {
"oneriler": {"type": "array", "items": {
"type": "object",
"properties": {"urun_id": {"type": "string"}, "neden": {"type": "string"}},
"required": ["urun_id", "neden"],
"additionalProperties": False,
}},
"toplam_oneri": {"type": "integer"},
},
"required": ["oneriler", "toplam_oneri"],
"additionalProperties": False,
}
def urun_oneri(kullanici_sorgusu: str, urun_katalogu: list[dict]) -> dict:
"""Müşterinin doğal dil sorgusuna göre 3-5 ürün önerir."""
katalog_metni = "\n".join(
f"- {u['id']}: {u['baslik']} | {u['kategori']} | {u['fiyat']} TL"
for u in urun_katalogu[:200]
)
resp = client.chat.completions.create(
model="claude-haiku-4-5", # Hızlı + ucuz, ürün önerisi için yeterli
messages=[
{
"role": "system",
"content": [
{
"type": "text",
"text": (
"Sen bir Türk e-ticaret asistanısın. "
"Türkçe doğal konuş, samimi ama saygılı. "
"Cevap formatı JSON: "
'{"oneriler": [{"urun_id": "...", "neden": "..."}, ...], '
'"toplam_oneri": int}'
),
"cache_control": {"type": "ephemeral"},
},
],
},
{
"role": "user",
"content": (
f"## Müşteri sorgusu\n{kullanici_sorgusu}\n\n"
f"## Mevcut katalog\n{katalog_metni}"
),
},
],
response_format={"type": "json_schema",
"json_schema": {"name": "oneri", "schema": ONERI}},
max_tokens=400,
)
return json.loads(resp.choices[0].message.content)Marcamos o prompt do sistema com cache_control. Quando chegam chamadas consecutivas com o mesmo prompt, o cache de prompts da Anthropic é ativado e economiza 90% do custo de entrada.
Projeção de custo mensal
| Recomendações diárias | USD mensal | TL aproximada |
|---|---|---|
| 1.000 | ~$48 | ~₺1.700 |
| 10.000 | ~$480 | ~₺17.000 |
| 100.000 | ~$4.800 | ~₺170.000 |
Comparação: manter continuamente uma equipe para operar um assistente de comércio eletrônico exige uma equipe de suporte em 2 a 3 turnos, no mínimo, para mais de 1.000 recomendações diárias (~₺120.000/mês). Com IA, economia de 95% nos custos.
Estratégia contra a flutuação da taxa de câmbio da TL
Como o Kunavo usa preços em USD, seu custo aumenta à medida que a TL perde valor. Para suavizar isso:
- Recarga em grande volume: recargas de US$ 1.000 ou mais desbloqueiam 20% de créditos bônus adicionais (deposite US$ 1.000, receba US$ 1.200 em créditos). Economia de aproximadamente 17% em USD, com uma proteção cambial indireta em termos de TRY
- Cache de prompts sempre ativado — libera 70% de economia
- Tiering Haiku → Sonnet: resolva consultas simples com Haiku e consultas complexas com Sonnet. Se precisar de um decisor automático, consulte o guia de otimização de custos
- Limite a saída: use max_tokens=300 para reduzir pela metade o custo de saída
Solução para problemas com cartões
A maioria dos bancos turcos mantém as transações online internacionais desativadas por padrão. Se o checkout do Stripe for recusado:
- Peça ao seu banco para habilitar "uso internacional do cartão online"
- Visa, Mastercard, American Express e JCB são compatíveis
- O Apple Pay pode passar com mais facilidade; se estiver configurado no Chrome / Android, o Google Pay também pode ser selecionado, mas o cartão por trás dele ainda precisa estar habilitado para transações internacionais
Conformidade com a KVKK
Se houver dados pessoais do cliente (nome, telefone, endereço), mascare-os antes de enviá-los ao LLM. Os dados de pagamento da Stripe já estão no escopo do PCI-DSS, fora do seu ambiente. O Kunavo não oferece um acordo de processamento de dados (DPA); as solicitações são processadas nos EUA e encaminhadas aos provedores de modelos upstream. Se você precisar de um DPA, celebre um contrato diretamente com o provedor do modelo (condições empresariais da Anthropic, OpenAI ou Google).
Checklist para produção
- Revise manualmente as primeiras 100 recomendações e automatize quando a qualidade atingir ≥80%
- Defina o limite de gastos diário em /app/keys (para evitar picos acidentais)
- Adicione um comportamento de fallback para payloads de erro, exibindo ao usuário "desculpe, não consigo fazer recomendações no momento"
- Acompanhe o custo mensal em /app/usage e configure um alerta para aumentos inesperados
Para começar, faça um cadastro gratuito, recarregue a partir de US$ 10 e pague conforme o uso. A documentação completa está em /docs/quickstart.