Skip to main content

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

  1. Clone este repositório:
git clone https://gitlab.com/veolia.com/brasil/jtech/framework-jtech/jtech-robotframework-ai.git
cd jtech-robotframework-ai
  1. 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:

  1. Variável de ambiente:
export GOOGLE_API_KEY='sua-chave-api-aqui'
  1. No seu arquivo de teste Robot Framework:
*** Variables ***
${GOOGLE_API_KEY}    sua-chave-api-aqui
  1. 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 resposta
  • Enviar Mensagem Para IA Async: Envia uma mensagem de forma assíncrona
  • Reiniciar Chat IA: Reinicia o histórico do chat
  • Obter 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

  1. Sempre trate a chave da API de forma segura
  2. Use variáveis de ambiente para dados sensíveis
  3. Reinicie o histórico do chat ao iniciar novos cenários de teste
  4. Implemente tratamento adequado de erros em seus testes
  5. Use operações assíncronas para melhor desempenho quando apropriado

Licença

MIT License

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

jtechrobotframeworkai-0.1.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

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

jtechrobotframeworkai-0.1.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

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

Hashes for jtechrobotframeworkai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b4e7b29e191f3373bc3a64400151236ec407fa36c3947a5756e00f35e38f3647
MD5 da0d838cfe3999a85cca5d921c995742
BLAKE2b-256 b854e588eeb60fad4039d68a01b9e1196c1f31b87ef26a99f741d024ddfb6349

See more details on using hashes here.

File details

Details for the file jtechrobotframeworkai-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jtechrobotframeworkai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d1446f8e29b4d351517a8edb315ac3d68007fb08aa8264e2eb9dca445227d6df
MD5 d9ab2d6e628c37ff44aa83d4b459a9ba
BLAKE2b-256 c7e30821db9f08ffa706a544a7e7a601b7e7a6843232cda21b9d6b783f6eb37b

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