Configuração de Variáveis de Ambiente
O Menthor utiliza um arquivo .env para gerenciar a inteligência dos modelos, chaves de segurança e limites de tráfego.
Variáveis de Ambiente (.env)
Configure as credenciais e parâmetros no ficheiro na raiz do projeto:
Variável |
Descrição |
Exemplo |
|---|---|---|
|
Modelo padrão utilizado para as inferências de chat. |
|
|
Lista de modelos homologados e permitidos pelo sistema. |
|
|
Chave de acesso à API da OpenAI. |
|
|
Token de segurança exigido no header |
|
|
Chave mestra que ativa ou desativa os limites de uso. |
|
|
Dicionário JSON com as quotas de requisição por perfil. |
(Ver seção abaixo) |
Perigo
Restrição de Modelos (OPENAI_MODEL / OPENAI_MODEL_LIST): Estes valores não devem ser alterados sem alinhamento prévio com a equipe de desenvolvimento. A arquitetura, os prompts e a lógica de processamento de dados foram otimizados especificamente para estes modelos. Alterações não homologadas podem causar falhas críticas na geração de respostas e instabilidade no sistema.
Controle de Fluxo (Rate Limiting)
O sistema implementa um limitador de requisições baseado em API Key e Janela Fixa para proteger a infraestrutura contra uso excessivo e picos de custo.
Perfis de Limite
As quotas são segmentadas por categorias de consumo:
MESSAGES: Aplicado aos endpoints de streaming (
/token_streaming,/sentence_streaming,/block_streaming).Nota
O endpoint
/send_prompt_wppconsome a cota do perfil MESSAGES, pois utiliza internamente a lógica de blocos para entrega ao WhatsApp.PROCESSING: Aplicado a operações de escrita e análise profunda, como o gerenciamento de arquivos (Menthor Files) e a documentação automática de bancos de dados (Menthor DB), como
/databases/create_description_db,/databases/evaluate-context-quality,/files/upload_filese/files/update_files.DEFAULT / ADMIN: Limites de segurança para rotas de sistema e monitoramento. Não aplicados no Menthor.
Configuração Técnica das Quotas
A variável RATE_LIMITS_CONFIG deve seguir rigorosamente a sintaxe de dicionário Python/JSON.
RATE_LIMITS_CONFIG='{
"DEFAULT": {"per_minute": 20, "per_hour": 100, "per_day": 500},
"MESSAGES": {"per_minute": 50, "per_hour": 200, "per_day": 1200},
"PROCESSING": {"per_minute": 20, "per_hour": 100, "per_day": 500}
}'
Aviso
Sintaxe de Aspas: Para que o sistema interprete as configurações corretamente, o bloco deve ser envolvido por aspas simples (') e as chaves internas por aspas duplas (").
Nota
Se ENABLE_RATE_LIMITER estiver como False, todos os limites acima são ignorados, permitindo requisições ilimitadas. Use com cautela em produção.