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:

1. Editar arquivos (README, código, etc)

2. Atualizar versões manualmente (pyproject.toml e init.py)

3. Executar no vscode

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.1"; git tag v0.1.1; git push origin main; git push --tags

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.1.tar.gz (17.6 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.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ia_tracker_qca-0.1.1.tar.gz
  • Upload date:
  • Size: 17.6 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.1.tar.gz
Algorithm Hash digest
SHA256 1fe3502c1bb5cc012b228d112c4a5834af2dd401b0d30aafa1f141e987810967
MD5 1dc0aecb253121f40458ffa588117ed2
BLAKE2b-256 462f825d7fa0071d48f5932a9824e8412e04996f951f0d421c14bc35445bc868

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ia_tracker_qca-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 448e0bc54f49d5bb2d54e4b4931ed34f1a05f37b3369f5ea58ddb1d1ab34dc55
MD5 23186e9434b0b54c1982457370441c94
BLAKE2b-256 1851d33134715a3f1986fd220f94a3cbc6cc632f300d97bc305d521da2ad3058

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