- Navios
- 19 de julho de 2026 às 03:54 UTC
- Autor
- Kamo
- Enviar
- 84a3cf0
Contabilidade de custos nunca poderia funcionar: AiModel tem colunas de preço, AiModelController lê-los e ChatOrquestrationService lê-los para calcular custoEstimate - mas Nada as escreveu em nenhum lugar. Os modelos são criados apenas pela descoberta do fornecedor, e nenhuma API de provedor retorna preços. 140 modelos, 0 preço, nenhum caminho pelo qual pode mudar. As colunas eram estruturalmente inalcançáveis. Três partes: - ModelPricingCatalog seeds fornecedor LIST prices at discovery, combined on a identificador normalizado com uma regra de prefixo limite hífen para que o gpt-4 nunca possa alegar gpt-4o. Modelos sem bate- papo (TTS, incorporações, em tempo real) são rejeitados por reutilizando a verificação modalidade existente - eles cobram uma folha diferente. - Endpoint PATCH + UI para que uma org possa corrigir ou limpar um preço. Org-scoped exatamente como o DELETE existente. - Backfill preenche apenas colunas NULL, por coluna de forma independente, e nunca sobrescreve o que uma org tem definido - caso contrário, tornar os preços editáveis seria um Mentira. Idempotente, e embrulhado para que a contabilidade de custos nunca pode bloquear o arranque. **Um modelo que não estamos confiantes sobre obter NO preço em vez de um adivinhado.** GPT-5, o3, a maioria Mistral, DeepSeek, xAI, Cohere e Meta estão deliberadamente em branco; OpenRouter e HuggingFace nunca combinam por design, já que cobram suas próprias taxas e herdar preços a montante seria um palpite. Um preço errado produz um figura em forma de fatura que é confiantemente errado - o mesmo custo razão ainda é não calculado no caminho de transmissão, onde as contagens de fichas são fabricadas. A conversão para a coluna per-1k usa RoundingMode. Não-necessário: um preço precisando de mais de 6 lançamentos decimais na classe-init em vez de silenciosamente armazenar um razão e é deixado em branco. A suite tem 145 testes, verde.