Skip to main content

Biblioteca para rastreamento e auditoria de custos de APIs de IA

Project description

IA Cost Tracker

PyPI version Python Versions License: MIT Downloads

Rastreie custos de APIs de IA (Maritaca, Anthropic) automaticamente.

Biblioteca Python para rastreamento e auditoria de custos de APIs de IA (Maritaca, Anthropic).

Instalação

pip install ia_tracker_qca

Uso básico (não recomendado pois demora mais por causa que busca os valores atualizados na hora!):

from ia_tracker_qca import IATracker

# Inicializar
tracker = IATracker(
    db_connection_string="postgresql://user:pass@localhost/db",
    maritaca_api_key="sua-chave",
    anthropic_api_key="sua-chave"
)

# Sincronizar preços dos modelos
tracker.sincronizar_precos_maritaca() #essa chamada a api demora uns 10segs as vezes.
tracker.sincronizar_precos_anthropic()

# Registrar uma chamada
tracker.registrar_chamada(
    provedor="maritaca",
    modelo="sabia-2-medium",
    tokens_input=150,
    tokens_output=75,
    aplicacao="meu-app",
    tag_funcionalidade="chat",
    usuario="usuario@email.com"
)

# Obter estatísticas
stats = tracker.obter_estatisticas_aplicacao("meu-app")
print(f"Custo total: R$ {stats['custo_total']}")
print(f"Total de chamadas: {stats['total_chamadas']}")

Exemplo de uso em uma aplicação em produção:

from ia_tracker_qca import IATracker

tracker = IATracker(db_connection_string=os.getenv("DB_CONNECTION_STRING"))

# Após chamar a IA
tracker.registrar_chamada(
    provedor="maritaca",  # ou "anthropic"
    modelo="sabia-4",
    tokens_input=150,
    tokens_output=75,
    aplicacao="meu-app",
    tag_funcionalidade="chat",
    usuario="user@email.com"  # opcional
)

Desenvolvimento:

# Clonar repositório
git clone https://github.com/suaempresa/ia-cost-tracker
cd ia-cost-tracker

# Instalar em modo desenvolvimento
pip install -e ".[dev]"

# Rodar testes
pytest

# Formatar código
black src/
isort src/

Consultar Custos:

from datetime import datetime, timedelta

# Últimos 7 dias
data_inicio = datetime.now() - timedelta(days=7)
stats = tracker.obter_estatisticas_aplicacao(
    aplicacao="meu-app",
    data_inicio=data_inicio
)

# Listar modelos disponíveis
modelos = tracker.listar_modelos(provedor="maritaca")
for modelo in modelos:
    print(f"{modelo.nome_modelo}: "
          f"R$ {modelo.custo_input_por_1k}/1k input, "
          f"R$ {modelo.custo_output_por_1k}/1k output")

Para att a lib:

⚠️ ANTES DE RODAR O COMANDO:

1. Editar arquivos (código/README)

2. Mudar version em pyproject.toml

3. Mudar version em src/ia_cost_tracker/init.py

4. Mudar v0.1.X abaixo para a nova versão

Remove-Item -Recurse -Force dist, build -ErrorAction SilentlyContinue; Get-ChildItem -Recurse -Filter "*.egg-info" | Remove-Item -Recurse -Force; python -m build; python -m twine upload dist/*; git add .; git commit -m "Release v0.1.X"; git tag v0.1.X; git push origin main; git push --tags

✅ Depois disso NÃO precisa fazer mais NADA!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ia_tracker_qca-0.1.2.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ia_tracker_qca-0.1.2-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file ia_tracker_qca-0.1.2.tar.gz.

File metadata

  • Download URL: ia_tracker_qca-0.1.2.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for ia_tracker_qca-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fff85c7bd4f26652ef0e00a9a4ea06c05d1b5ccfd25184745abb29a3cae00ef3
MD5 0bc4128ca3ba8973e223cf7785c6cc9d
BLAKE2b-256 82e52d84d8f27c285ac2a76b3a7673b8fe82e52d285210899a6f8a16c32cdaca

See more details on using hashes here.

File details

Details for the file ia_tracker_qca-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ia_tracker_qca-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for ia_tracker_qca-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3e71ae18573ec0bded1263c9629b62ba3a3e9274b72c49458462651421eafef3
MD5 08af1b7ac65a5dd0f51ead80f32078b6
BLAKE2b-256 c6e846e4fef261c2e4913f741c5452dfe1eab0f77ffb9f70ba8ffb7ba470ec90

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page