Skip to content

ericomarques/agents_learn_-_project_1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto AI Agents com LangGraph

Este projeto demonstra a criação de um agente de conversação simples utilizando LangGraph, LangChain e o modelo GPT da OpenAI. O agente é capaz de interagir com o usuário através de um chat, responder a perguntas e utilizar ferramentas (como uma ferramenta para verificar o tempo).

O projeto tem somente cunho didático e foi desenvolvido enquanto eu aprendia sobre LangGraph

Funcionalidades

  • Interface de Chat Interativa: Permite que o usuário converse com o agente em tempo real.
  • Uso de Ferramentas: O agente pode invocar ferramentas externas (ex: get_wheather) para obter informações e responder a perguntas específicas.
  • Arquitetura Modular: O código é organizado em módulos para facilitar a manutenção e extensão.
  • Gerenciamento de Estado: Utiliza LangGraph para gerenciar o estado da conversação e o fluxo de execução do agente.

Estrutura do Projeto

O projeto está organizado da seguinte forma dentro do diretório ai_agents/:

ai_agents/
├── main.py               # Ponto de entrada da aplicação, interface de chat
├── graphs.py             # Define e constrói o grafo do agente com LangGraph
├── nodes.py              # Define a lógica dos nós do grafo (ex: prompt, chamada de ferramenta)
├── models.py             # Configura o modelo de linguagem (LLM) e o vincula às ferramentas
├── tools.py              # Define as ferramentas disponíveis para o agente
├── state_definition.py   # Define a estrutura de estado (State) do agente
└── .env                  # (Exemplo, não versionado) Arquivo para variáveis de ambiente

Descrição dos Componentes

  • main.py:
    • Inicializa e executa a interface de chat.
    • Coleta a entrada do usuário e a envia para o agente.
    • Exibe a resposta do agente.
  • graphs.py:
    • Utiliza StateGraph do LangGraph para definir a arquitetura do agente.
    • Define os nós (ações) e as arestas (transições) do grafo.
    • Compila o grafo em um agent_executor executável.
  • nodes.py:
    • Contém as funções que representam os nós do grafo:
      • prompt_node: Envia a mensagem atual para o LLM para obter uma resposta.
      • tool_node: Executa uma ferramenta se o LLM solicitar.
      • conditional_edge: Decide o próximo passo no grafo com base na resposta do LLM (se deve chamar uma ferramenta ou finalizar).
  • models.py:
    • Carrega as variáveis de ambiente (como a OPENAI_API_KEY).
    • Instancia o modelo ChatOpenAI (ex: gpt-4.1-nano).
    • Vincula as ferramentas definidas em tools.py ao modelo de linguagem.
  • tools.py:
    • Define as ferramentas que o agente pode usar. No exemplo, get_wheather simula a obtenção da previsão do tempo.
  • state_definition.py:
    • Define a classe State (um TypedDict) que representa o estado da conversação, contendo principalmente o histórico de mensagens.

Pré-requisitos

  • Python 3.9+
  • Conta na OpenAI com uma chave de API válida.

Configuração

  1. Clone o repositório (se aplicável) ou crie a estrutura de arquivos conforme descrito.

  2. Crie e ative um ambiente virtual (recomendado):

    python -m venv .venv
    source .venv/bin/activate  # No Linux/macOS
    # .venv\Scripts\activate    # No Windows
  3. Instale as dependências: Crie um arquivo requirements.txt com o seguinte conteúdo:

    langchain
    langchain-openai
    langgraph
    python-dotenv
    typing_extensions

    E instale com:

    pip install -r requirements.txt
  4. Configure as variáveis de ambiente: Crie um arquivo .env na raiz do diretório ai_agents/ (ou no diretório pai, dependendo de onde você executa o main.py) com sua chave da API da OpenAI:

    OPENAI_API_KEY="sua_chave_api_aqui"

Como Executar

Navegue até o diretório pai de ai_agents (neste caso, /Projeto 1 - Começo) e execute o main.py:

python ai_agents/main.py

Ao iniciar, você verá a mensagem:

Iniciando o agente de chat. Digite 'sair' para terminar.
Você:

Como Interagir

  • Digite sua mensagem após o prompt "Você: " e pressione Enter.
  • O agente processará sua entrada e responderá.
  • Para encerrar a conversa, digite sair.

Exemplo de interação:

Você: Qual o tempo em Yorkshire?
Agente: It's cold and wet.
Você: sair
Agente: Até logo!

About

Simple system of agent using LangGraph.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages