Feat: Agregar agente Groq con integración RAG
- Nuevo módulo groq_agent.py para consultas a la API de Groq - Panel de administración en /groq para configurar API key, modelo y prompt - Comando /rag en Discord y Telegram para consultar el RAG - Sistema de prompt personalizable guardado en base de datos - Soporte para variables de entorno en Docker - Fix: starlette version para evitar bug con Jinja2
This commit is contained in:
75
action_plan_groq_ui.md
Normal file
75
action_plan_groq_ui.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# Plan de Acción: Panel de Administración de Groq
|
||||
|
||||
## Objetivo
|
||||
Agregar al panel de administración una nueva sección para configurar el agente Groq con integración RAG.
|
||||
|
||||
## 1. Modificaciones en `config.yaml`
|
||||
|
||||
Agregar nueva sección `groq` con los campos:
|
||||
- `api_key`: API key de Groq
|
||||
- `model`: Modelo a usar (default: llama-3.3-70b-versatile)
|
||||
- `rag_url`: URL de la API RAG (default: http://localhost:8004)
|
||||
- `system_prompt`: Prompt del sistema para el agente
|
||||
|
||||
## 2. Modificaciones en `botdiscord/config.py`
|
||||
|
||||
- Agregar funciones para obtener la configuración de Groq:
|
||||
- `get_groq_config()` - Retorna dict con api_key, model, rag_url, system_prompt
|
||||
- `get_groq_api_key()` - Retorna solo la API key
|
||||
- `get_groq_model()` - Retorna el modelo
|
||||
- `get_groq_rag_url()` - Retorna la URL del RAG
|
||||
- `get_groq_system_prompt()` - Retorna el prompt
|
||||
|
||||
## 3. Modificaciones en `.env.example`
|
||||
|
||||
Agregar variables de entorno:
|
||||
```bash
|
||||
GROQ_API_KEY=
|
||||
GROQ_MODEL=llama-3.3-70b-versatile
|
||||
RAG_API_URL=http://localhost:8004
|
||||
GROQ_SYSTEM_PROMPT=You are a helpful assistant...
|
||||
```
|
||||
|
||||
## 4. Modificaciones en `panel/main.py`
|
||||
|
||||
- Agregar endpoint `/groq` (GET) - Página de configuración
|
||||
- Agregar endpoint `/groq/save` (POST) - Guardar configuración
|
||||
- Modificar `get_config()` para incluir la config de Groq
|
||||
|
||||
## 5. Crear plantilla `panel/templates/groq.html`
|
||||
|
||||
- Formulario con campos:
|
||||
- API Key (campo de texto)
|
||||
- Modelo (dropdown con modelos gratuitos de Groq)
|
||||
- RAG URL (campo de texto)
|
||||
- System Prompt (textarea)
|
||||
- Botón para guardar
|
||||
- Información sobre modelos gratuitos
|
||||
|
||||
## 6. Modelos Gratuitos de Groq a incluir en el dropdown
|
||||
|
||||
- `llama-3.3-70b-versatile` (recomendado)
|
||||
- `llama-3.1-70b-versatile`
|
||||
- `llama-3.1-8b-instant`
|
||||
- `mixtral-8x7b-32768`
|
||||
- `gemma2-9b-it`
|
||||
|
||||
## 7. Agregar enlace en dashboard
|
||||
|
||||
Agregar link/nav al panel de Groq en las plantillas existentes.
|
||||
|
||||
## Variables de Entorno para Docker Compose
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- GROQ_API_KEY=${GROQ_API_KEY}
|
||||
- GROQ_MODEL=${GROQ_MODEL}
|
||||
- RAG_API_URL=${RAG_API_URL}
|
||||
- GROQ_SYSTEM_PROMPT=${GROQ_SYSTEM_PROMPT}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Tiempo estimado**: 30-45 minutos
|
||||
**Archivos a modificar**: 6
|
||||
**Archivos a crear**: 1
|
||||
Reference in New Issue
Block a user