Skip to content

JordanRondon/intelligent-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Agente Inteligente

Un asistente de IA conversacional que puede buscar información en la web y realizar operaciones matemáticas básicas usando LangGraph, Google Gemini y Tavily Search.

✨ Características

  • Conversación inteligente: Powered by Google Gemini 2.0 Flash
  • Búsqueda web: Capacidad para buscar información actualizada usando Tavily
  • Operaciones matemáticas: Suma, resta, multiplicación y división
  • Arquitectura modular: Implementado con LangGraph para flujos complejos
  • Sesión persistente: Mantiene el contexto de la conversación
  • Manejo de errores: Sistema robusto de manejo de errores

📋 Requisitos del Sistema

  • Python: 3.13+ (recomendado 3.13)
  • Node.js: (opcional, para herramientas adicionales)
  • Sistema Operativo: Windows, macOS, Linux

🚀 Instalación

1. Descargar el Proyecto

# Clonar el repositorio
git clone <url-del-repositorio>
cd intelligent-agent

2. Crear Ambiente Virtual

Windows

# Crear ambiente virtual con Python 3.13
py -3.13 -m venv venv

# Activar ambiente virtual
venv\Scripts\activate

# Para desactivar cuando termines
deactivate

macOS/Linux

# Crear ambiente virtual con Python 3.13
python3.13 -m venv venv

# Activar ambiente virtual
source venv/bin/activate

# Para desactivar cuando termines
deactivate

Verificar Activación

Una vez activado, deberías ver (venv) al inicio de tu terminal:

(venv) C:\ruta\intelligent-agent>

3. Instalar Dependencias

# Asegúrate de que el ambiente virtual esté activado
# Instalar todas las dependencias
pip install -r requirements.txt

# Verificar instalación
pip list

4. Configurar Variables de Entorno

  1. Crear archivo de configuración:

    # Crear archivo .env en la raíz del proyecto
    touch .env  # En Linux/macOS
    # En Windows, crear manualmente el archivo .env
  2. Agregar tus claves API en el archivo .env:

    # Variables de entorno requeridas
    GEMINI_API_KEY=tu_clave_gemini_aqui
    TAVILY_API_KEY=tu_clave_tavily_aqui
  3. Obtener las claves API:

🎯 Uso

Ejecutar el Agente

# Asegúrate de que el ambiente virtual esté activado
(venv) $ python main.py

Comandos Disponibles

  • Escribe cualquier pregunta o solicitud
  • quit, exit, q: Salir del programa
  • Ctrl+C: Interrupción segura

Ejemplos de Uso

User: ¿Cuál es el clima actual en Lima, Perú?
Assistant: Según la información más reciente, el clima en Lima...

User: ¿Cuánto es 25 + 37?
Assistant: 25 + 37 = 62

User: Busca información sobre inteligencia artificial
Assistant: La inteligencia artificial es...

User: ¿Cuánto es 144 dividido entre 12?
Assistant: 144 ÷ 12 = 12.0

🏗️ Estructura del Proyecto

intelligent-agent/
├── main.py               # Punto de entrada principal
├── requirements.txt      # Dependencias del proyecto
├── .env                  # Variables de entorno (crear)
├── .gitignore            # Archivos ignorados por Git
├── README.md             # Documentación del proyecto
├── venv/                 # Ambiente virtual (generado)
└── workflow/             # Módulo principal del agente
    ├── __init__.py       # Inicializador del paquete
    ├── main_agent.py     # Agente principal y configuración
    ├── tools.py          # Herramientas disponibles
    ├── graph.py          # Configuración del grafo LangGraph
    └── nodes.py          # Nodos adicionales (reservado)

Componentes Principales

  • main.py: Maneja la sesión de chat y la interfaz de usuario
  • workflow/main_agent.py: Define el agente principal, modelo LLM y estado
  • workflow/tools.py: Implementa herramientas (búsqueda web, matemáticas)
  • workflow/graph.py: Configura el flujo de conversación con LangGraph

🔧 Configuración Avanzada

Variables de Entorno Disponibles

Variable Descripción Requerida Ejemplo
GEMINI_API_KEY Clave API de Google Gemini AIza...
TAVILY_API_KEY Clave API de Tavily Search tvly-...

Personalización del Agente

Cambiar el Modelo LLM

Edita workflow/main_agent.py línea 18:

llm = init_chat_model("google_genai:gemini-2.0-flash")
# Cambia por otro modelo compatible

Modificar Resultados de Búsqueda

Edita workflow/tools.py línea 52:

tavilySearch = TavilySearch(max_results=2)  # Cambia el número de resultados

Personalizar Sistema Prompt

Edita workflow/main_agent.py línea 30:

system_prompt = SystemMessage(content="Tu mensaje personalizado aquí...")

🛠️ Comandos de Desarrollo

Gestión del Ambiente Virtual

# Crear nuevo ambiente virtual
py -3.13 -m venv venv        # Windows
python3.13 -m venv venv      # macOS/Linux

# Activar ambiente virtual
venv\Scripts\activate        # Windows
source venv/bin/activate     # macOS/Linux

# Verificar que está activado
where python                 # Windows
which python                 # macOS/Linux

# Instalar dependencias
pip install -r requirements.txt

# Actualizar dependencias
pip freeze > requirements.txt

# Desactivar ambiente virtual
deactivate

Comandos de Verificación

# Verificar versión de Python
python --version

# Ver paquetes instalados
pip list

# Verificar variables de entorno
python -c "import os; print('GEMINI_API_KEY:', bool(os.getenv('GEMINI_API_KEY')))"

📝 Dependencias Principales

  • LangGraph: Framework para crear agentes de IA
  • LangChain: Herramientas y abstracciones para LLMs
  • Google Generative AI: Integración con Gemini
  • Tavily: API de búsqueda web para IA
  • Streamlit: Framework web para aplicaciones (instalado)
  • python-dotenv: Manejo de variables de entorno

About

Intelligent agent capable of searching the web using Tavily and performing basic mathematical operations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages