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

OPENAI_MODEL

Modelo padrão utilizado para as inferências de chat.

"gpt-4o"

OPENAI_MODEL_LIST

Lista de modelos homologados e permitidos pelo sistema.

["gpt-4o", "gpt-5"]

OPENAI_API_KEY_MENTHOR

Chave de acesso à API da OpenAI.

"sk-proj-..."

API_KEY

Token de segurança exigido no header X-API-KEY.

"sua_chave"

ENABLE_RATE_LIMITER

Chave mestra que ativa ou desativa os limites de uso.

True

RATE_LIMITS_CONFIG

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_wpp consome 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_files e /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.