8000 GitHub - marioluciofjr/prolixo_vs_paporeto: Um debate de agentes com opiniões divergentes sobre um mesmo assunto
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

marioluciofjr/prolixo_vs_paporeto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Debate sem firula: Prolixo versus Papo Reto

Um debate de agentes com opiniões divergentes sobre um mesmo assunto

license - MIT site - prazocerto.me linkedin - @marioluciofjr

Índice

Introdução

O projeto "Debate sem Firula" é uma implementação criativa do Google ADK (Agent Development Kit) que simula um debate entre dois agentes de IA com personalidades contrastantes: o Prolixo, que representa uma voz cautelosa e corporativa, e o Papo Reto, que encarna uma perspectiva direta e popular. Os agentes debatem temas escolhidos pelo usuário em rodadas interativas, onde o Prolixo oferece argumentos formais de 200-250 palavras, enquanto o Papo Reto responde com objetividade em 50-100 palavras.

Estrutura do projeto

A ideia desse debate de agentes surgiu de um prompt compartilhado pelo colega Sidnei, do site Mestre dos Prompts, no grupo chamado WhatsApp - Inteligência Artificial. Ele postou um prompt com uma proposta semelhante e tendo outros nomes. Gostei da estrutura e adaptei para esse projeto.

Comecei o projeto utilizado um prompt no GitHub Copilot do VSCode, tendo como base o Claude Sonnet 3.5 como modelo generativo, a fim de buscar ideias a partir do prompt do Sidnei, levando em consideração a estrutura de agentes inteligentes presente na documentação oficial do Google sobre ADK (Agent Development Kit). Além disso, eu utilizei os arquivos adk_tutorial.py e poema.py, que estão na pasta 📁 Ref deste repositório, como contexto do meu prompt.

O prompt que utilizei foi:

  <função>
  Você atuará como um desenvolvedor sênior, especializado em códigos .ipynb. Ou seja, códigos python que rodam no Google Colab. Você tem a boa prática de comentar o código inteiro para facilitar a vida de outros devs. Seu comentários sempre são em português         brasileiro. Você sempre faz o debbuging do código e segue os princípio do 'Zen of python': 
  "Beautiful is better than ugly.
  Explicit is better than implicit.
  Simple is better than complex.
  Complex is better than complicated.
  Flat is better than nested.
  Sparse is better than dense.
  Readability counts.
  Special cases aren't special enough to break the rules.
  Although practicality beats purity.
  Errors should never pass silently.
  Unless explicitly silenced.
  In the face of ambiguity, refuse the temptation to guess.
  There should be one-- and preferably only one --obvious way to do it.
  Although that way may not be obvious at first unless you're Dutch.
  Now is better than never.
  Although never is often better than *right* now.
  If the implementation is hard to explain, it's a bad idea.
  If the implementation is easy to explain, it may be a good idea.
  Namespaces are one honking great idea -- let's do more of those!"
  </função>
  <contexto>
  Na base de conhecimento tem os seguintes arquivos que são **PRIMORDIAIS** para a sua tarefa: 
  '@poema.py' - arquivo que funcionou no Google Colab perfeitamente e será seu modelo base para qualquer arquivo que crie daqui em diante.
  '@adk_tutorial.py' - arquivo que também funcionou no Google Colab e que servirá de documentação.
  @adk-python-main - documentação oficial do ADK Google. É uma boa prática sempre conferir a documentação.
  </contexto>
  <tema>
  1. Utilize a primeira mensagem da pessoa usuária para fazer a seguinte pergunta: "Qual será o tema do nosso ADK de hoje?"
  2. Assim que a pessoa definir o tema, você vai criar um código python de acordo com a estrutura do modelo 'poema.py'. 
  Lembre-se que os pacotes necessários para instalação encabeçam o código: 
  ```python
    # Instalando o pacote necessário
    !pip install -q -U google-adk 
    !pip install -q -U litellm 
    print("Instalação completa")
    ```
  REGRA: mantenha o sinal "!" antes do pip, pois será útil para a pessoa usuária quando copiar para o Google Colab.
  3. Refatore o código para verificar se está tudo correto. Pense passo a passo nessa etapa. 
  4. Entregue o código final em uma caixa de código que permita que a pessoa copie o código para inserir no Google Colab em seguida: 
  ```python
    código final
    ```
  </tarefa>
  

Caution

⚠️ Antes de mergulhar no "vibe coding", saiba que é fundamental ter uma compreensão básica da estrutura do código. Conhecer os fundamentos da programação e a arquitetura do projeto permite uma colaboração mais efetiva com a IA generativa, resultando em soluções mais coerentes e personalizadas para suas necessidades específicas. Lembre-se também de sempre ler as documentações oficiais.

Depois de refinar o código como eu queria, colei no Google Colab e separei em 5 seções:

  1. Bibliotecas necessárias
  2. Classes necessárias
  3. Configuração da API
  4. Definição do modelo generativo
  5. Código ADK

Tecnologias utilizadas

                               

Requisitos

Para utilizar este projeto, você precisa de:

  • Conta Google: Necessária para acessar o Google AI Studio e o Google Colab
  • Chave de API do Google AI Studio (Gemini API): Instruções para obtenção abaixo

Important

O código está configurado para ser executado no Google Colab, que fornece todos os recursos computacionais necessários gratuitamente.

Como obter a API KEY no Google AI Studio

Para utilizar este código, você precisará de uma chave de API do Google Gemini:

  1. Acesse o Google AI Studio
  2. Faça login com sua conta Google
  3. Clique no botão "Criar chave de API"
  4. Aceite os termos de serviço, se solicitado
  5. Copie a chave gerada e guarde-a em local seguro

Important

Atualmente, o Google AI Studio oferece um uso gratuito da API para testes. Sobre demais detalhes da API do Gemini, leia a documentação oficial. Caso você não queira utilizar o Gemini, pesquise como obter a API KEY do modelo generativo de sua preferência.

Como configurar a API KEY no Google Colab

Para utilizar sua chave API no Google Colab de forma segura:

  1. Abra seu notebook no Google Colab
  2. Na barra lateral esquerda, clique no ícone 🔑 (Secrets)
  3. Clique em "+ Adicionar novo secret"
  4. No campo "Nome", digite senha
  5. No campo "Valor", cole sua chave API do Google AI Studio

Tip

O código está configurado para acessar a chave por meio de chave = userdata.get('senha'). Se preferir usar outro nome, modifique esta linha no código:

# Usa a chave armazenada nos secrets do Colab sob o nome 'senha'
        chave = userdata.get('senha')

Como executar

Abaixo você terá um checklist básico para utilizar o código no Google Colab, sendo que o atalho para executar as células por lá é CTRL + ENTER

  • Obter a API_KEY no Google AI Studio
  • Clicar no botão Open In Colab dentro do arquivo debate_sem_firula.ipynb
  • Configurar a API_KEY em 'Secrets' no Google Colab
  • Executar o primeiro bloco do código (instalações - deixei também a biblioteca litellm caso queira utilizar outro modelo generativo em vez do Gemini)
  • Executar o segundo bloco do código (importações)
  • Executar o terceiro bloco de código (api)
  • Executar o quarto bloco do código (escolher o modelo generativo - no caso do Gemini, você pode ver todas as opções disponíveis com o código Modelos_Gemini.ipynb)
  • Executar o quinto bloco de código (adk)

Links úteis

Contribuições

Contribuições são bem-vindas! Se você tem ideias para melhorar este projeto, sinta-se à vontade para fazer um fork do repositório.

Licença

Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.

Contato

Mário Lúcio - Prazo Certo®

About

Um debate de agentes com opiniões divergentes sobre um mesmo assunto

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0