Bot de IA - Agentes

:bookmark: Esta guía explica cómo configurar y gestionar Agentes para Discourse AI - Bot de IA.

:person_raising_hand: Nivel de usuario requerido: Administrador

El bot de IA de Discourse incluye un sistema flexible para gestionar Agentes. Esta guía cubre:

  • Métodos de interacción para Agentes de IA
  • Opciones de configuración
  • Configuración avanzada
  • Comandos compatibles
  • Posibilidades de personalización

:link: Obtenga información sobre el bot de IA y cómo habilitarlo en esta guía.

¿Qué son los agentes?

Los Agentes son una potente característica que le permite personalizar el comportamiento del motor de IA en su foro de Discourse. Actúan como un ‘mensaje del sistema’ que guía las respuestas e interacciones de la IA, ayudando a crear una experiencia de usuario más personalizada y atractiva.

¿Por qué usar agentes?

Con los agentes, puede adaptar el comportamiento de la IA para que se ajuste mejor al contexto y tono de su foro. Ya sea que desee que la IA sea más formal para un entorno profesional, más informal para un foro comunitario, o incluso que encarne un personaje específico para un juego de rol, los agentes le brindan la flexibilidad para hacerlo.

Acceso específico por grupo a los agentes

Además, puede configurarlo para que ciertos grupos de usuarios tengan acceso a agentes específicos. Esto significa que puede tener diferentes comportamientos de IA para diferentes secciones de su foro, mejorando aún más la diversidad y riqueza de las interacciones de su comunidad.

Interactuando con Agentes

Se puede interactuar con los agentes de varias maneras:

  1. Mensaje privado (MP)
  2. Mensaje directo de chat (MD)
  3. Menciones en canales de chat
  4. Mención en un tema público a través de @nombre_usuario_bot_ejemplo

Los administradores pueden controlar qué métodos de interacción están permitidos para cada agente.

Configuración

Para configurar Agentes, navegue a discourse.example.com/admin/plugins/discourse-ai/ai-agents.

Las opciones clave de configuración incluyen:

  • System prompt (Indicación del sistema): Dirige la conversación
  • Vision support (Soporte de Visión): Habilitar para LLMs impulsados por Visión, es decir, GPT-4 Turbo, Claude 3
  • Default model (Modelo predeterminado): Requerido para agentes que se pueden mencionar
  • Allowed groups (Grupos permitidos): Definir permisos usando la seguridad de grupos de Discourse
  • Uploads (Subidas): Indexar archivos de texto para conocimiento adicional (usando RAG - Generación Aumentada por Recuperación)
  • Enabled commands (Comandos habilitados): Controlar el acceso a comandos específicos
  • Allow chat (Permitir chat): Habilitar chat a través de MD (requiere el plugin de chat, un modelo de lenguaje grande (LLM) predeterminado y un usuario)

Aquí hay un vistazo a una pantalla de configuración completa de agente de IA:

Opciones de configuración avanzada

El editor de agentes ofrece varias opciones avanzadas:

  • Temperature (Temperatura) y top_p (muestreo de núcleo): Controlar la creatividad frente a la previsibilidad
  • Max context posts (Publicaciones máximas de contexto): Limitar el número de publicaciones suministradas al LLM para el historial; menos publicaciones reducirán los costos, pero harán que la IA “olvide” el contenido más antiguo
  • Upload options (Opciones de subida):
    • Chunk tokens (Tokens de fragmento): Controlar la división de documentos
    • Chunk overlap tokens (Tokens de superposición de fragmentos): Establecer superposición entre fragmentos
    • Search conversation chunks (Fragmentos de conversación de búsqueda): Número de fragmentos de documentos agregados a las consultas de usuario
    • Question consolidator LLM (LLM consolidado de preguntas): Elegir el LLM para determinar las preguntas del usuario

Prerrequisitos para el soporte de subidas

Para usar el soporte de subidas:

  1. Habilitar la configuración ai_embeddings_enabled
  2. Configurar un ai_embeddings_model

Discourse AI admite varios modelos de incrustación (embeddings). Los clientes alojados obtienen acceso gratuito al modelo bge-large-en.

:information_source: Los autoalojados o las personas que deseen más opciones pueden autoalojar un modelo de incrustación o utilizar modelos de Open AI, Google (Gemini) y más.

División de texto en Discourse AI

Discourse utiliza un Divisor de Texto de Carácter Recursivo para mantener juntos párrafos, líneas y palabras al dividir texto. Puede controlar la división de texto usando el separador [[metadata SU METADATO AQUÍ]]:

[[metadata sobre gatos]]
una larga historia sobre gatos
[[metadata sobre perros]]
una larga historia sobre perros

Este método evita la “contaminación de fragmentos” al asegurar que solo los datos relevantes se incluyan en cada fragmento.

Depuración de agentes de IA

Para depurar su agente:

  1. Añadir usuarios al grupo especificado en la configuración ai bot debugging enabled groups
  2. Los usuarios de este grupo verán un botón de depuración de IA en la parte inferior de las publicaciones de IA
  3. Haga clic en el botón para acceder a la ventana modal de la interfaz de depuración

:warning: Recuerde: Si proporciona información vaga o inútil a un LLM, tendrá grandes dificultades para convertirla en información útil.

Comandos compatibles

Discourse AI admite varios comandos, que incluyen:

  • Categorías
  • Etiquetas
  • Búsqueda
  • Navegador web
  • Integración de GitHub (Buscar código, Diferencia de solicitud de extracción, Contenido de archivo)
    • Requiere que se rellene la configuración ai bot github access token
  • Buscar en Meta Discourse
  • Selector aleatorio (Random Picker)
  • Leer
  • Hora
  • Búsqueda de Google
    • Requiere que se rellenen las configuraciones ai google custom search api key y ai google custom search cx
  • Generación de imágenes a través de DALL-E
    • Requiere una clave de open_ai
  • Generación de imágenes a través de Stable Diffusion
    • Requiere que se rellene la configuración ai stability api key
    • La configuración ai stability engine controla el algoritmo de generación de imágenes
  • Esquema (Schema)
  • Configuración de búsqueda (Search Settings)
  • Establecer contexto (Setting Context)

Algunos comandos requieren configuración adicional o claves de API.

Soporte para herramientas personalizadas

Puede crear sus propias herramientas utilizando soporte para herramientas personalizadas.

Personalización de agentes del sistema

  1. Crear un nuevo agente
  2. Copiar y pegar la indicación del sistema del agente que desea personalizar
  3. Modificar según sea necesario
  4. Opcionalmente, deshabilitar el agente del sistema original para evitar duplicación

Personalización de la búsqueda

Para personalizar la búsqueda para un nuevo agente:

  1. Crear un nuevo agente
  2. Añadir el comando “search” (búsqueda)
  3. Configurar las opciones de búsqueda, incluyendo:

Esto le permite delegar permisos de búsqueda, aumentar el número de resultados o restringir la búsqueda a secciones específicas de su sitio.

7 Me gusta

Se dividió una publicación en un nuevo tema: ¿Puedo proporcionar una función generadora de imágenes a Discourse AI

¿Qué hace exactamente la herramienta Leer?

Además, las menciones en las publicaciones están rotas actualmente según este informe de error.

En resumen, permite que el LLM lea temas y publicaciones en tu foro.

1 me gusta

Básicamente lee un tema/publicación cuando se le da una URL, nombre o ID y, de lo contrario, o aún así, utiliza incrustaciones y qué, cuándo, por qué y cómo depende del propio modelo, ¿indicaciones, etc.?

2 Me gusta

Oh, lo siento, estaba respondiendo a una publicación diferente :slight_smile:

Utiliza el ID del tema o el ID del tema + el número de publicación para encontrar el markdown sin procesar de un tema/publicación con algunas protecciones para la longitud máxima.

No depende de la incrustación.

5 Me gusta

Un poco fuera de tema, pero como no tengo nada que preguntar y ustedes limpiarán estos temas de vez en cuando, no me importa.

Los títulos automáticos en los mensajes privados con IA ahora están en el idioma correcto. No es gran cosa, pero su valor psicológico es grande. ¡Gracias!

4 Me gusta

¿Hay alguna forma de añadir usuarios Bot a un grupo? Básicamente quiero añadir un avatar flair a esos usuarios, pero al añadirlos a un grupo, no aparecen.

No aparecen, pero siguen ahí. Puedes asegurarte intentando añadir una persona de IA por segunda vez. O puedes ver el grupo necesario en la configuración de esos pseudousuarios.

1 me gusta

¿Qué parte del repositorio de Discourse AI debería consultar si quiero saber exactamente cómo funcionan las herramientas del bot de IA?

Herramienta, Playground y Bot son todas buenas áreas para empezar.

Mira este ejemplo: Understanding Tools in Discourse AI System - AI Conversation - Discourse Meta

3 Me gusta

Precisamente la respuesta que estaba buscando. ¡Muchas gracias, amable señor! Para quien pueda interesar: Recomiendo leer el código en este repositorio para poder dirigir mejor sus indicaciones para las herramientas de su persona.

1 me gusta

Se dividió una publicación en un nuevo tema: Ingeniería de una persona para apoyarse en el historial de chat

Actualmente estoy intentando obtener todas las publicaciones de un tema a través de la herramienta “Leer”, pero solo proporciona un máximo de 100 publicaciones al modelo LLM. Ya he establecido “Máx. publicaciones” en 999 en la configuración de la persona, pero el problema persiste.

¿Podría haber alguna limitación en la solicitud de la API del lado del servidor que esté causando el problema?

@sam ¿alguna idea sobre esto, cuál podría ser la causa?

No he revisado el código, pero sospecho que podría ser un límite estricto establecido en el propio código. ¿Puedo preguntar qué es lo que intentas lograr con esto? Ese es un factor clave aquí.

¿Y tal vez sería mejor usar la personalidad del Investigador del Foro?

Tenemos la categoría “journal/log” que a menudo contiene varios cientos de publicaciones donde el propietario del tema informa sobre el progreso de su proyecto durante un período de 4 a 5 meses.

Mi objetivo es obtener todas las publicaciones dentro de ese tema, filtrarlas por autor = propietario del tema y crear un resumen.

1 me gusta

Tienes que usar el investigador de foros para esto, es el caso de uso exacto para el personaje.

2 Me gusta

@sam Me encantaría, pero actualmente no admite imágenes. ¿Está eso en el plan o no es una prioridad en este momento?

3 Me gusta

Claro que puedo añadir eso, no es un cambio muy grande.

3 Me gusta