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! 🎉