Uma biblioteca Robot Framework com recursos de IA usando Google Generative AI e CrewAI
Project description
Biblioteca JTech Robot Framework AI
Uma biblioteca Robot Framework que fornece keywords com recursos de IA para automação de testes usando o Google Generative AI (Gemini Pro).
Funcionalidades
- Integração com o Google Generative AI (Gemini Pro)
- Suporte para operações síncronas e assíncronas
- Gerenciamento de histórico de chat
- Tratamento robusto de erros e tentativas
- Integração com LangChain para operações avançadas de IA
Instalação
- Clone este repositório:
git clone https://gitlab.com/veolia.com/brasil/jtech/framework-jtech/jtech-robotframework-ai.git
cd jtech-robotframework-ai
- Configure o ambiente de desenvolvimento usando o Makefile:
make setup
Este comando irá:
- Criar um ambiente virtual Python
- Instalar todas as dependências necessárias
- Instalar o pacote em modo de desenvolvimento
Desenvolvimento
O projeto inclui um Makefile com vários comandos úteis para desenvolvimento:
# Ver todos os comandos disponíveis
make help
# Configurar ambiente de desenvolvimento
make setup
# Executar testes
make test
# Verificar estilo do código
make lint
# Formatar código
make format
# Limpar arquivos temporários
make clean
# Desinstalar o pacote
make uninstall
Configuração
Chave da API do Google AI
Você precisa de uma chave de API do Google AI para usar esta biblioteca. Você pode obter uma no Google AI Studio.
Você pode configurar a chave da API de uma destas formas:
- Variável de ambiente:
export GOOGLE_API_KEY='sua-chave-api-aqui'
- No seu arquivo de teste Robot Framework:
*** Variables ***
${GOOGLE_API_KEY} sua-chave-api-aqui
- Ao importar a biblioteca:
*** Settings ***
Library JTechRobotFrameworkAI sua-chave-api-aqui
Uso
Uso Básico
*** Settings ***
Library JTechRobotFrameworkAI ${GOOGLE_API_KEY}
*** Test Cases ***
Exemplo de Teste
${resposta}= Enviar Mensagem Para IA Qual é a capital da França?
Should Contain ${resposta} Paris
Uso Assíncrono
*** Test Cases ***
Exemplo Assíncrono
${resposta}= Enviar Mensagem Para IA Async Quanto é 2+2?
Should Contain ${resposta} 4
Gerenciamento de Histórico de Chat
*** Test Cases ***
Exemplo de Histórico de Chat
Reiniciar Chat IA
Enviar Mensagem Para IA Olá
Enviar Mensagem Para IA Como você está?
${historico}= Obter Historia Chat IA
Log ${historico}
Keywords Disponíveis
Enviar Mensagem Para IA: Envia uma mensagem para o modelo de IA e obtém a respostaEnviar Mensagem Para IA Async: Envia uma mensagem de forma assíncronaReiniciar Chat IA: Reinicia o histórico do chatObter Historia Chat IA: Obtém o histórico atual do chat
Tratamento de Erros
A biblioteca inclui tratamento robusto de erros para:
- Erros de autenticação da API
- Timeouts de rede
- Respostas inválidas
- Limitação de taxa
Todas as operações são automaticamente repetidas com backoff exponencial.
Estrutura do Projeto
jtech-robotframework-ai/
├── jtech_robotframework_ai/
│ ├── __init__.py # Interface da biblioteca Robot Framework
│ └── core.py # Implementação do cliente AI
├── tests/
│ └── test_ai_library.robot
├── Makefile # Comandos de desenvolvimento
├── README.md
├── requirements.txt
└── setup.py
Boas Práticas
- Sempre trate a chave da API de forma segura
- Use variáveis de ambiente para dados sensíveis
- Reinicie o histórico do chat ao iniciar novos cenários de teste
- Implemente tratamento adequado de erros em seus testes
- Use operações assíncronas para melhor desempenho quando apropriado
Licença
MIT License
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 jtechrobotframeworkai-0.1.0.tar.gz.
File metadata
- Download URL: jtechrobotframeworkai-0.1.0.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4e7b29e191f3373bc3a64400151236ec407fa36c3947a5756e00f35e38f3647
|
|
| MD5 |
da0d838cfe3999a85cca5d921c995742
|
|
| BLAKE2b-256 |
b854e588eeb60fad4039d68a01b9e1196c1f31b87ef26a99f741d024ddfb6349
|
File details
Details for the file jtechrobotframeworkai-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jtechrobotframeworkai-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1446f8e29b4d351517a8edb315ac3d68007fb08aa8264e2eb9dca445227d6df
|
|
| MD5 |
d9ab2d6e628c37ff44aa83d4b459a9ba
|
|
| BLAKE2b-256 |
c7e30821db9f08ffa706a544a7e7a601b7e7a6843232cda21b9d6b783f6eb37b
|