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.
- 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
- Python: 3.13+ (recomendado 3.13)
- Node.js: (opcional, para herramientas adicionales)
- Sistema Operativo: Windows, macOS, Linux
# Clonar el repositorio
git clone <url-del-repositorio>
cd intelligent-agent# Crear ambiente virtual con Python 3.13
py -3.13 -m venv venv
# Activar ambiente virtual
venv\Scripts\activate
# Para desactivar cuando termines
deactivate# Crear ambiente virtual con Python 3.13
python3.13 -m venv venv
# Activar ambiente virtual
source venv/bin/activate
# Para desactivar cuando termines
deactivateUna vez activado, deberías ver (venv) al inicio de tu terminal:
(venv) C:\ruta\intelligent-agent>
# Asegúrate de que el ambiente virtual esté activado
# Instalar todas las dependencias
pip install -r requirements.txt
# Verificar instalación
pip list-
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
-
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 -
Obtener las claves API:
- Google Gemini API: Google AI Studio
- Tavily API: Tavily.com
# Asegúrate de que el ambiente virtual esté activado
(venv) $ python main.py- Escribe cualquier pregunta o solicitud
quit,exit,q: Salir del programaCtrl+C: Interrupción segura
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
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)
- 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
| Variable | Descripción | Requerida | Ejemplo |
|---|---|---|---|
GEMINI_API_KEY |
Clave API de Google Gemini | ✅ | AIza... |
TAVILY_API_KEY |
Clave API de Tavily Search | ✅ | tvly-... |
Edita workflow/main_agent.py línea 18:
llm = init_chat_model("google_genai:gemini-2.0-flash")
# Cambia por otro modelo compatibleEdita workflow/tools.py línea 52:
tavilySearch = TavilySearch(max_results=2) # Cambia el número de resultadosEdita workflow/main_agent.py línea 30:
system_prompt = SystemMessage(content="Tu mensaje personalizado aquí...")# 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# 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')))"- 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