Skip to main content

A library to integrate Ai with python

Project description

CscTrackerAiCore

CscTrackerAiCore é uma biblioteca Python desenvolvida para facilitar a integração com modelos de IA, especificamente o Google Gemini, oferecendo robustez através de rotação de chaves de API e observabilidade com ClickHouse.

Principais Funcionalidades

  • Integração com Google Gemini: Suporte para análise de textos e imagens (base64) utilizando os modelos generativos do Google, com suporte a filtragem por variante de modelo (pro ou flash).
  • Rotação Inteligente de Chaves (API Key Rotation):
    • Gerenciamento automático de múltiplas chaves de API (gratuitas e pagas).
    • Mecanismo de fallback: tenta chaves gratuitas primeiro e migra para pagas se necessário.
    • Suporte a seleção específica de variante de modelo (ex: garantir uso de pro ou flash).
    • Tratamento de limites de quota (Error 429) com suspensão temporária de chaves/modelos atingidos.
    • Retry automático em caso de falhas.
  • Telemetria e Observabilidade:
    • Integração nativa com ClickHouse para log de eventos.
    • Registro detalhado de uso de tokens (input, output e imagem).
    • Persistência dos prompts, respostas e metadados das tarefas para auditoria e análise.
  • Tratamento de Erros: Exceções customizadas para lidar com falhas específicas do serviço de IA.

Requisitos

  • Python 3.10+
  • Google GenAI SDK
  • Clickhouse Connect

Configuração e Uso

Exemplo Básico

from csctracker_ai_core.service.IaProcessor import IaProcessor

# Inicialização do processador
processor = IaProcessor(
    host="seu-clickhouse-host",
    google_free_keys=["chave1", "chave2"],
    google_paid_keys=["chave_paga1"]
)

# Realizando uma análise básica
resultado, tokens, event_id = processor.analisar_com_gemini(
    input_text="Qual a capital da França?",
    prompt="Responda de forma concisa.",
    task="pergunta_geral"
)

# Realizando uma análise forçando uma variante específica (ex: flash)
resultado_flash, tokens_flash, event_id_flash = processor.analisar_com_gemini(
    input_text="Resuma o histórico da IA.",
    prompt="Seja didático.",
    task="resumo_ia",
    model_variant="flash"
)

print(f"Resultado: {resultado}")
print(f"Tokens usados: {tokens}")

Instalação

As dependências podem ser instaladas via requirements.txt:

pip install -r requirements.txt

Estrutura do Projeto

  • IaProcessor: Classe principal para interface com a IA.
  • ApiKeyRotator: Gerencia o ciclo de vida e seleção das chaves de API.
  • ClickHouseDb: Responsável pela conexão e persistência de dados no ClickHouse.

Licença

Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.

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

csctracker_ai_core-26.7.9.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

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

csctracker_ai_core-26.7.9-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file csctracker_ai_core-26.7.9.tar.gz.

File metadata

  • Download URL: csctracker_ai_core-26.7.9.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for csctracker_ai_core-26.7.9.tar.gz
Algorithm Hash digest
SHA256 f34f2fa757f952216d51dcbb68b781889386b49f994c48a6ff4682d458358df5
MD5 c6f9bebf1573b4a28a672de36148d9eb
BLAKE2b-256 294073565593a58cf4f87b42cb23c2546f8e4dcd6ff85aa4d3faba7bd97f5617

See more details on using hashes here.

File details

Details for the file csctracker_ai_core-26.7.9-py3-none-any.whl.

File metadata

File hashes

Hashes for csctracker_ai_core-26.7.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e3a49c0e8321548a461ab8fadccbdfefdab2e1c2a03605f4fe64c07690da8e90
MD5 0c0fd7935b536575cfbe08c90d89ed8c
BLAKE2b-256 7e769670eeaf5b4c74dbb4b25b7157bd589c082af11520efb55e7012337ab00f

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