Rag-time
Un bot de trapo de código abierto para Slack y Discord usando Vectara. Con este bot, puede crear un bot bot flojo o discordia que esté conectado a su servidor y responda las preguntas del usuario consultando un Corpus Vectara.
Uso
- Mencione el bot en un mensaje para recibir una respuesta.
- Envíe un mensaje directo al bot para una conversación 1: 1.
- BOT almacena el mensaje y los ID de subprocesos para proporcionar respuestas conscientes de contexto en hilos o mientras responden.
Comandos de ejemplo
- Mencione el bot:
@bot-name Your message here - Envíe un mensaje directo:
Your message here
Instalación
Requisitos previos
Configuración
- Clon el repositorio:
git clone https://github.com/vectara/ragtime.git
cd ragtime
- Instale las dependencias requeridas:
pip3 install requirement.txt
- Configurar variables de entorno:
- Cree un archivo
.env en la raíz de su proyecto y agregue lo siguiente:
SLACK_BOT_TOKEN=<OAuth level token>
SLACK_APP_TOKEN=<APP level token>
DISCORD_BOT_TOKEN=<Discord bot token>
VECTARA_CUSTOMER_ID="<VECTARA_CUSTOMER_ID>"
VECTARA_CORPUS_IDS="<VECTARA_CORPUS_IDS>"
VECTARA_API_KEY="<VECTARA_API_KEY>"
ACCOUNT_SID=<Twilio account SID>
Auth_TOKEN=<Twilio auth token>
TWILIO_WHATSAPP_NUMBER=<Whatsapp number configured in twilio>
Para habilitar el trapo de agente, agregue las siguientes variables.
ENABLE_AGENTIC_RAG=True ## To enable agentic rag. By default ragtime uses vanilla RAG.
AGENTIC_RAG_DATA_DESCRIPTION='Vectara website, docs and forum data'
AGENTIC_RAG_ASSISTANT_SPECIALTY='Vectara'
AGENTIC_RAG_TOOL_NAME='ask_vectara'
- El
VECTARA_CUSTOMER_ID y VECTARA_CORPUS_IDS apuntan a su cuenta Vectara y a los corpus relevantes para usar. -
VECTARA_CORPUS_IDS puede ser una sola ID de corpus (numérica) o una lista de corpus.
Correr bots de ragtime
Ragtime admite Slack Bot, Discord Bot y WhatsApp Bot. Puedes ejecutar uno de estos, o todos.
Cómo ejecutarlo localmente
Ejecutando ambos bots
Ejecutando solo Bot Slack
Ejecutando solo Discord Bot
Ejecutando solo whatsapp bot
Ejecute la aplicación usando Docker
Construir y ejecutar con Docker.
Ejecutando ambos bots
Ejecutando solo Bot Slack
Ejecutando solo Discord Bot
bash run_docker.sh discord
Ejecutando solo whatsapp bot
bash run_docker.sh whatsapp
Pasos para crear Bot Slack
En Orer para conectar su bot de ragtime a su servicio Slack, siga estos pasos:
- Inicie sesión en su espacio de trabajo Slack y navegue hasta el sitio web de Slack API. Haga clic en "Sus aplicaciones" y luego "Crear nueva aplicación". Proporcione un nombre para su aplicación, seleccione el espacio de trabajo donde desea instalarla y haga clic en "Crear aplicación".
- En la configuración de la aplicación, puede configurar varios detalles, como el nombre, el icono y la descripción de la aplicación. Asegúrese de completar la información necesaria con precisión.
- Una vez que haya configurado su aplicación, navegue a la sección "Instalar aplicación". Haga clic en el botón "Instale la aplicación en el espacio de trabajo" para agregar el bot a su espacio de trabajo Slack. Este paso generará un token de acceso OAuth que necesitará usar para autenticar su bot.
- Para agregar el alcance del token de usuario, navegue a la sección "OAuth & permisos" en la configuración de su aplicación. En la sección "Tokens OAuth para su espacio de trabajo", deberá agregar
app_mentions:read , channels:history , chat:write , chat:write.public , groups:history , im:history , mpim:history , mpim:read , mpim:write , users:read Scopes. Cree el token y guárdelo como SLACK_BOT_TOKEN en su archivo .env . - Cree un token de nivel de aplicación con la
connection:write el alcance. Guarde este token como SLACK_APP_TOKEN en su archivo .env . - Asegúrese de guardar cualquier cambio que haya realizado en la configuración de su aplicación e instale/reinstale el bot al lugar de trabajo.
Pasos para crear Discord Bot
Para conectar su bot de ragtime a su servidor de discordia, siga estos pasos:
- Navegue a la página de aplicaciones del portal de Discord Developer y cree una nueva aplicación haciendo clic en el botón 'Nueva aplicación' en la esquina superior derecha.
- Vaya a la página 'Bot' seleccionando la opción 'Bot' desde la columna izquierda.
- Copie el token proporcionado y guárdelo como
DISCORD_BOT_TOKEN . - Elija 'Oauth2' en la columna izquierda y seleccione el generador de URL.
- En la sección de 'Permisos BOT' en la parte inferior, seleccione los permisos necesarios.
- Elija la opción 'Bot' en el cuadro 'Alcance', y el cuadro 'Bot Permissions' aparecerá debajo de ella.
- Seleccione 'Leer Mensaje', 'Enviar mensaje' y 'Administrar opciones de mensaje'.
- Copie la URL generada y péguela en su navegador web. Lo redirigirá a la página Discord para agregar el bot a su servidor.
Cómo configurar WhatsApp Bot usando Twilio
Para conectar su Bot WhatsApp Ragtime, siga estos pasos:
- Inicie sesión en su consola Twilio.
- Navegue a la caja de arena de WhatsApp.
- Configure el punto final
/whatsapp para la comunicación. - Copie la cuenta SID, Auth Token y WhatsApp Sandbox Número en
.env
Autor
? Vecara
- Sitio web: https://vectara.com
- Twitter: @vectara
- Github: @vectara
- LinkedIn: @Vectara
- Discord: @Vectara
? Que contribuye
¡Las contribuciones, los problemas y las solicitudes de funciones son bienvenidas!
No dude en verificar la página de problemas. También puede echar un vistazo a la guía contribuyente.
Muestra tu apoyo
¡Dale una osa si este proyecto te ayudó!
Licencia
Copyright © 2024 Vectara.
Este proyecto tiene licencia Apache 2.0.