Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Backend do chat (Cubi)

Serviço HTTP em Python 3 (somente stdlib) que faz proxy com streaming SSE para a API da OpenAI. É ele que dá vida ao Cubi, o assistente virtual da landing page.

Arquitetura

navegador ── POST /api/chat ──▶ Caddy (anglis.sforzin.dev)
                                  └─ reverse_proxy ▶ 127.0.0.1:8787 (chat_server.py)
                                                        └─ OpenAI Chat Completions (stream)
  • O site estático e a API moram no mesmo domínio — sem CORS, sem chave no navegador.
  • A chave da OpenAI vive em /etc/anglis/chat.env (root, 600), lida pelo systemd.

Proteções de custo

Limite Valor
Mensagens por IP/minuto 6
Mensagens por IP/dia 60
Mensagens globais/dia 500
Tokens por resposta 450
Histórico enviado 12 mensagens, 600 chars cada

Arquivos

Arquivo Destino no servidor
chat_server.py /srv/anglis/api/chat_server.py
cubi_prompt.txt /srv/anglis/api/cubi_prompt.txt
anglis-chat.service /etc/systemd/system/anglis-chat.service

Operação

systemctl status anglis-chat     # estado do serviço
journalctl -u anglis-chat -f     # logs ao vivo
curl -s localhost:8787/api/saude # health check

Para trocar o modelo, edite ANGLIS_CHAT_MODELO em /etc/anglis/chat.env e systemctl restart anglis-chat.