Proyecto de ejemploEl código de este ejemplo se puede encontrar en el repositorio de ejemplos.
Prerrequisitos
- Necesitarás tener
uvinstalado - Necesitarás acceso a un espacio de trabajo de Slack
- Necesitarás una clave de API de Anthropic o una clave de API de otro proveedor de LLM
Crear una aplicación de Slack
- Ve a slack.com/apps y haz clic en
Create New App. - Elige la opción
From scratchy asígnale un nombre a tu aplicación. - Selecciona tu espacio de trabajo de Slack.
Instala la aplicación en tu espacio de trabajo
A continuación, tendrás que añadir a tu espacio de trabajo la aplicación que creaste en el paso anterior. Puedes seguir las instrucciones de “Add apps to your Slack workspace” en la documentación de Slack.Configura los ajustes de la aplicación de Slack
- Ve a
App Home- En
Show Tabs→Messages Tab: habilitaAllow users to send Slash commands and messages from the messages tab - Ve a
Socket Mode- Habilita
Socket Mode - Anota el
Socket Mode Handlerpara la variable de entornoSLACK_APP_TOKEN
- Habilita
- Ve a
OAuth & Permissions- Añade los siguientes
Bot Token Scopes:app_mentions:readassistant:writechat:writeim:historyim:readim:writechannels:history
- Instala la aplicación en tu espacio de trabajo y anota el
Bot User OAuth Tokenpara la variable de entornoSLACK_BOT_TOKEN.
- Añade los siguientes
- Ve a
Event Subscriptions- Habilita
Events - En
Subscribe to bot events, añade:app_mentionassistant_thread_startedmessage:im
- Save Changes
- Habilita
- En
Añade variables de entorno (.env)
Crea un archivo .env en la raíz del proyecto con las siguientes variables de entorno,
que permitirán que tu aplicación se conecte al Playground de SQL de ClickHouse.Uso del bot
-
Inicia el bot:
-
En Slack:
- Menciona al bot en un canal:
@yourbot Who are the top contributors to the ClickHouse git repo? - Responde en el hilo mencionándolo:
@yourbot how many contributions did these users make last week? - Envía un mensaje directo al bot:
Show me all tables in the demo database.
- Menciona al bot en un canal: