Construa facilmente Agentes de IA Autônomos com GPT-4o

Neste post de blog, descubra como construir facilmente poderosos agentes de IA autônomos com o GPT-4 usando a estrutura Fi-data. Aprenda a criar agentes avançados com memória de longo prazo, conhecimento contextual e a capacidade de tomar ações através da chamada de funções. Otimize seus sistemas de IA para eficiência e produtividade.

17 de fevereiro de 2025

party-gif

Descubra o poder de construir agentes de IA autônomos com o GPT-4o! Este post de blog irá guiá-lo pelo processo de criar facilmente assistentes inteligentes que podem lidar com uma ampla gama de tarefas, desde pesquisas na web até análise financeira e exploração de dados. Desbloqueie o potencial dos modelos de linguagem de ponta e abra novas possibilidades para seus projetos.

Como Construir Agentes de IA Autônomos com GPT-4

Nesta seção, exploraremos como construir sistemas de IA autônomos e complexos que tenham memória de longo prazo, conhecimento contextual e a capacidade de executar ações a partir da chamada de funções. Usaremos a estrutura Fi-data, que fornece uma maneira poderosa de criar assistência de IA autônoma com chamada de funções.

Primeiro, criaremos um assistente básico sem nenhuma ferramenta. Este assistente usará o modelo GPT-4, que é um dos melhores modelos do mercado atualmente. Então, podemos adicionar funcionalidades adicionais ao assistente, como a capacidade de pesquisar na web usando a ferramenta Duco.

Em seguida, construiremos um assistente financeiro que possa acessar várias ferramentas, como o Yahoo Finance, para obter preços de ações, recomendações, informações sobre empresas e notícias. Então, demonstraremos como construir suas próprias ferramentas personalizadas, usando a API do Hacker News como exemplo.

Finalmente, exploraremos assistentes mais complexos, como um assistente de análise de dados que possa usar o DuckDB para analisar dados em arquivos CSV e Parquet, e um assistente de pesquisa que possa usar o Exa para pesquisar na web e gerar um relatório em um formato especificado.

Durante todo o processo, enfatizaremos a importância da concisão e do foco, garantindo que o conteúdo seja fácil de entender e implementar. O código desses exemplos pode ser encontrado no repositório Fi-data, e os passos para configurar o ambiente são fornecidos no README.

Construindo um Assistente Básico

Para construir um assistente básico, primeiro precisamos importar os componentes necessários da biblioteca fidata. Usaremos a classe LLMAssistant para criar nosso assistente.

from fidata.assistants.llm_assistant import LLMAssistant
from fidata.llms.openai import OpenAIChat

Em seguida, criaremos uma instância da classe LLMAssistant, passando o modelo de linguagem GPT-4 da OpenAI como o parâmetro llm.

assistant = LLMAssistant(llm=OpenAIChat(model_name="gpt-4"))

Agora, podemos definir a descrição e as instruções para nosso assistente. Eles serão usados para definir o prompt do sistema para o modelo de linguagem.

description = "Você é um assistente útil encarregado de fornecer uma receita simples de café da manhã."
instructions = "Forneça uma receita de café da manhã concisa."

Finalmente, podemos chamar o método run do objeto assistant, passando a descrição e as instruções. Isso executará o assistente e retornará a resposta.

response = assistant.run(description=description, instructions=instructions)
print(response)

Isso irá gerar uma receita simples de café da manhã, criada pelo modelo de linguagem GPT-4.

Adicionando Funcionalidade de Pesquisa na Web

Para adicionar a funcionalidade de pesquisa na web ao nosso assistente de IA, importaremos a ferramenta Duco do módulo f_tools. Essa ferramenta permite que o assistente pesquise na web e recupere informações relevantes.

Primeiro, adicionamos a ferramenta Duco ao nosso assistente:

from f_tools.duco import Duco
assistant.add_tool(Duco())

Em seguida, definimos o parâmetro show_tool_calls como True para que possamos ver as chamadas de ferramenta acontecendo nos bastidores.

Então, damos ao assistente a tarefa de pesquisar notícias da França e escrever um breve poema sobre isso:

assistant.run_task("Pesquise as notícias da França e escreva um breve poema sobre elas.")

Como você pode ver, o assistente usa a ferramenta Duco para recuperar as notícias da França e, em seguida, gera um breve poema com base nas informações que coletou. Isso demonstra como o assistente pode aproveitar os recursos de pesquisa na web para coletar informações e usá-las para concluir tarefas.

Criando um Assistente Financeiro

Para criar um assistente financeiro, usaremos a ferramenta Yahoo Finance da biblioteca F-tools. Essa ferramenta fornece acesso a vários dados e funções financeiras, como obter preços de ações, informações sobre empresas, recomendações e notícias.

Primeiro, importaremos as ferramentas necessárias:

from f_tools.yahoo_finance import YahooFinance

Em seguida, criaremos o assistente financeiro e adicionaremos as ferramentas desejadas a ele:

finance_assistant = Assistant(model=gpt4, name="Assistente Financeiro")
finance_assistant.add_tool(YahooFinance(
    get_stock_price=True,
    get_recommendations=True,
    get_company_info=True,
    get_company_news=True
))

Neste exemplo, estamos habilitando as funções get_stock_price, get_recommendations, get_company_info e get_company_news da ferramenta Yahoo Finance.

Agora, podemos dar tarefas ao assistente, como obter o preço de uma ação e escrever uma comparação entre duas empresas:

finance_assistant.run_task("Qual é o preço da ação da Nvidia?")
finance_assistant.run_task("Escreva uma comparação entre a Nvidia e a AMD usando todas as ferramentas disponíveis.")

O assistente usará as ferramentas fornecidas para coletar as informações necessárias e gerar uma resposta abrangente, que será retornada no formato Markdown para melhor legibilidade.

Esse assistente financeiro pode ser ainda mais personalizado, adicionando mais ferramentas, ajustando as configurações das ferramentas ou modificando as instruções das tarefas para atender às suas necessidades específicas.

Construindo Ferramentas Personalizadas

Um dos recursos-chave da estrutura Fi data é a capacidade de construir ferramentas personalizadas que podem ser integradas aos seus agentes de IA. Isso permite que você estenda as capacidades de seus agentes além das ferramentas padrão fornecidas e as adapte às suas necessidades específicas.

No vídeo, o criador demonstra como construir uma ferramenta personalizada para acessar a API do Hacker News. Aqui está como isso é feito:

  1. Descreva a função que será usada para interagir com a API, incluindo os argumentos e os valores de retorno.
  2. Adicione a função ao assistente Fi data, fornecendo a descrição e especificando os parâmetros de entrada/saída.
  3. Use a ferramenta personalizada nas tarefas do assistente, assim como as ferramentas padrão.

O vídeo também mostra como habilitar o modo de depuração, que fornece logs detalhados dos processos internos do assistente. Isso pode ser muito útil ao solucionar problemas ou entender como a ferramenta personalizada está sendo usada.

Em geral, a capacidade de construir ferramentas personalizadas é um recurso poderoso da estrutura Fi data, permitindo que você crie agentes de IA altamente especializados e autônomos, adaptados às suas necessidades específicas.

Analisando Dados com DuckDB

Esta seção mostra como o assistente pode aproveitar a ferramenta DuckDB para analisar dados em arquivos CSV e Parquet. O assistente demonstra as seguintes capacidades:

  1. Carrega automaticamente os dados em tabelas quando as tabelas não existem.
  2. Executa consultas SQL para obter a classificação média de filmes e gera um histograma das classificações.
  3. Escolhe um tamanho de bucket apropriado para o histograma com base nos dados.
  4. Exibe as consultas SQL e os resultados das visualizações de forma clara e concisa.

A capacidade do assistente de integrar perfeitamente o DuckDB e apresentar os resultados da análise é um testemunho do poder da estrutura sendo demonstrada. Esta seção destaca como o assistente pode ser empoderado com capacidades de análise de dados para lidar com uma ampla gama de tarefas.

Gerando um Relatório de Pesquisa

O assistente recebe a tarefa de escrever um relatório de pesquisa sobre o tópico do OpenGPT-4. Ele segue estas etapas:

  1. Pesquisa na web usando a ferramenta Exa para encontrar os 10 principais links relevantes sobre o OpenGPT-4.
  2. Lê cuidadosamente os resultados da pesquisa.
  3. Prepara um artigo bem formatado na estrutura solicitada:
    • Esboço aproximado
    • Relatório detalhado cobrindo os principais pontos sobre o OpenGPT-4
  4. Salva o relatório final em um arquivo Markdown chamado "news_article.md".

O assistente demonstra sua capacidade de:

  • Realizar pesquisas na web e coletar informações relevantes
  • Sintetizar os resultados em um relatório estruturado e bem escrito
  • Formatar o relatório em Markdown para facilitar a leitura
  • Salvar a saída em um arquivo conforme solicitado

Isso demonstra as capacidades de pesquisa do assistente, suas habilidades de processamento de linguagem natural e sua capacidade de seguir instruções para produzir um produto final de alta qualidade.

Perguntas frequentes