File size: 4,140 Bytes
fb513c1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 |
# 🤖 Advanced AI Agent with LlamaIndex
Este es un agente de IA avanzado construido con LlamaIndex que incluye capacidades de CodeAct, búsqueda web y herramientas matemáticas.
## 🚀 Características
### 🧠 Capacidades del Agente
- **Razonamiento Avanzado**: Utiliza LlamaIndex con modelos de Hugging Face
- **CodeAct Agent**: Puede escribir y ejecutar código Python para resolver problemas complejos
- **Herramientas Matemáticas**: Cálculos básicos y avanzados
- **Búsqueda Web**: Integración con DuckDuckGo y Wikipedia
- **Modo Fallback**: Funciona incluso sin configuración completa
### 🛠 Herramientas Disponibles
1. **Matemáticas**: suma, resta, multiplicación, división, potencias, porcentajes
2. **Búsqueda DuckDuckGo**: Búsquedas web en tiempo real
3. **Wikipedia**: Búsqueda de información factual
4. **Peticiones Web**: Llamadas a APIs
5. **Ejecución de Código**: Python con librerías como numpy, pandas, math
## ⚙️ Configuración
### 1. Instalar Dependencias
```bash
pip install -r requirements.txt
```
### 2. Configurar Variables de Entorno
Crea un archivo `.env` con:
```bash
# Token de Hugging Face (opcional pero recomendado)
HUGGINGFACE_TOKEN=tu_token_aqui
```
Para obtener tu token:
1. Ve a [Hugging Face Settings](https://huggingface.co/settings/tokens)
2. Crea un nuevo token
3. Copia el token en tu archivo `.env`
### 3. Usar el Agente
#### Desde Python:
```python
from agent import BasicAgent
# Inicializar el agente
agent = BasicAgent()
# Hacer una pregunta
result = agent("¿Cuál es la raíz cuadrada de 144?")
print(result)
```
#### Desde la Interfaz Gradio:
```bash
python app.py
```
Luego ve a `http://127.0.0.1:7860`
## 🎯 Formato de Respuestas
El agente está configurado para dar respuestas en el formato:
```
[Explicación del razonamiento...]
FINAL ANSWER: [RESPUESTA_FINAL]
```
### Reglas para FINAL ANSWER:
- **Números**: Sin comas ni símbolos (ej: `42` no `42,000` o `$42`)
- **Texto**: Sin artículos ni abreviaciones (ej: `New York` no `NYC`)
- **Listas**: Separadas por comas siguiendo las reglas anteriores
## 📝 Ejemplos de Uso
### Matemáticas Básicas
```python
agent("¿Cuánto es 15 + 27?")
# FINAL ANSWER: 42
```
### Cálculos Complejos
```python
agent("Calcula el 15% de 240 y súmale 50")
# El agente escribirá código: (240 * 15 / 100) + 50
# FINAL ANSWER: 86
```
### Búsqueda de Información
```python
agent("¿Cuál es la capital de Francia?")
# Buscará en Wikipedia
# FINAL ANSWER: Paris
```
### Problemas Complejos
```python
agent("Necesito calcular la suma de los primeros 10 números de Fibonacci")
# El agente escribirá código para calcular Fibonacci
# FINAL ANSWER: 143
```
## 🔧 Modos de Funcionamiento
### 1. Modo Completo (con HUGGINGFACE_TOKEN)
- Utiliza modelos de IA avanzados
- CodeAct Agent completo
- Todas las herramientas disponibles
### 2. Modo Básico (sin token)
- Procesamiento básico con expresiones regulares
- Matemáticas simples
- Respuestas limitadas pero funcionales
## 🚨 Importante para Producción
⚠️ **Seguridad**: El agente puede ejecutar código Python. En producción:
- Usar sandboxing (Docker, contenedores)
- Validar entradas del usuario
- Limitar acceso a recursos del sistema
## 🐛 Resolución de Problemas
### Error: No se puede importar LlamaIndex
```bash
pip install --upgrade llama-index-core llama-index-llms-huggingface
```
### Error: Token inválido
- Verifica que tu token de Hugging Face sea válido
- Asegúrate que el archivo `.env` esté en el directorio correcto
### Error: Modelo no encontrado
- Algunos modelos requieren acceso especial
- Prueba con modelos públicos como `microsoft/DialoGPT-medium`
## 📚 Personalización
### Cambiar el Modelo
En `agent.py`, modifica:
```python
model_name="tu-modelo-preferido"
```
### Agregar Nuevas Herramientas
1. Define tu función
2. Crea un `FunctionTool.from_defaults(fn=tu_funcion)`
3. Agrégala a `self.tools`
### Personalizar el Prompt
Modifica la variable `enhanced_prompt` en el método `__call__`
---
¡Tu agente de IA está listo para resolver problemas complejos! 🎉
|