Bot de Discord con IA local
Qué cubre este artículo
- Cómo funciona un bot de Discord con IA local.
- Qué bibliotecas son adecuadas para Python y Node.js.
- Cómo integrar Ollama en el bot.
- Consideraciones sobre privacidad de datos y permisos de Discord.
Introducción: Bot de Discord con IA local
Ampliar un servidor de Discord con tu propia IA es una forma popular de iniciarse en modelos de lenguaje locales. Puedes responder preguntas, ejecutar comandos o resumir contenido de tus documentos sin que los mensajes lleguen a servicios en la nube.
La IA local es ideal para esto porque las conversaciones del servidor y los adjuntos permanecen en tu infraestructura. Esto resulta especialmente interesante para comunidades, empresas y grupos privados que valoran la privacidad de datos.
¿Qué necesitas?
Para un bot de Discord con IA local necesitas:
- Una cuenta de Discord y una aplicación de Discord propia.
- Un servidor donde ejecutar el bot, por ejemplo un servidor doméstico o un VPS.
- Una instancia de Ollama en ejecución con al menos un modelo como Llama 3.2.
- Python o Node.js, según qué biblioteca prefieras.
Para Python, discord.py es la opción más conocida. Para Node.js, discord.js es muy popular. Ambas ofrecen capacidades similares.
Crear la aplicación de Discord
En el Discord Developer Portal creas una nueva aplicación. Allí defines qué permisos necesita el bot. Como mínimo requiere leer mensajes y enviar mensajes. Si debe reaccionar a mensajes, necesita permisos adicionales para Message Content Intents.
Copia el token del bot y guárdalo en una variable de entorno o archivo de configuración. Nunca lo pongas directamente en el código fuente.
Integrar Ollama
El bot envía entrada del usuario a la API de Ollama y espera la respuesta. Esto ocurre normalmente a través de HTTP:
import requests
def frage_ollama(prompt, modell='llama3.2'):
url = 'http://localhost:11434/api/generate'
daten = {
'model': modell,
'prompt': prompt,
'stream': False
}
antwort = requests.post(url, json=daten)
return antwort.json()['response']
En Discord el bot reacciona a un mensaje, llama esta función y publica la respuesta de vuelta en el canal.
Contexto y memoria
Un bot funciona mucho mejor cuando puede recordar mensajes anteriores. Para lograrlo, almacenas los últimos mensajes de un canal o thread en una lista y los añades al prompt. Esto crea un historial conversacional simple.
Para bots en producción deberías limitar la longitud del contexto. De lo contrario, el consumo de tokens y el tiempo de respuesta aumentan rápidamente. Un límite de cinco a diez mensajes es un buen punto de partida.
Privacidad de datos y moderación
El bot no debería ejecutar comandos o acciones sensibles por su cuenta. Un bot de IA en Discord es un objetivo público para inyección de prompts. Ten en cuenta estos puntos:
- Permite que solo ciertos roles utilicen ciertos comandos.
- Valida entradas antes de enviarlas a Ollama.
- No permitas que el bot elimine archivos, envíe correos electrónicos o llamar APIs externas sin aprobación humana.
- Registra acciones para poder auditar qué ocurrió.
Resumen: Bot de Discord con IA local
Un bot de Discord con IA local conecta Discord con Ollama. Creas una aplicación en el Discord Developer Portal, construyes la conexión en Python o Node.js e integras la API de Ollama. Mediante limitación de contexto, control de roles y validación de entrada, el funcionamiento se mantiene seguro y conforme a la privacidad de datos.


