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.
- 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.
- 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
resultado, tokens, event_id = processor.analisar_com_gemini(
input_text="Qual a capital da França?",
prompt="Responda de forma concisa.",
task="pergunta_geral"
)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file csctracker_ai_core-26.7.6.tar.gz.
File metadata
- Download URL: csctracker_ai_core-26.7.6.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83690a3b0fd8ff5b03f96f674b357171adf589d690025c9643aa7701c230addc
|
|
| MD5 |
baaa7a027db2b646044a663444bc50a0
|
|
| BLAKE2b-256 |
3f642b3c41252a6c248e04c55a18e6c64fbcedf1facd7fba5b9518b71c186482
|
File details
Details for the file csctracker_ai_core-26.7.6-py3-none-any.whl.
File metadata
- Download URL: csctracker_ai_core-26.7.6-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfb68b3ce8299495c8b68b9d8dd4cad53d43e6e514784606ad0006a6ee9ec95c
|
|
| MD5 |
4c3d13229fd48c9a83acf9b233712e3f
|
|
| BLAKE2b-256 |
33f5dda602866deaecd05d78207f69c39899350d86157f4d4d42d0df633b9331
|