AI bot - Herramientas personalizadas

:bookmark: Esta guía explica cómo crear, configurar e integrar herramientas de IA personalizadas dentro del plugin Discourse AI, permitiendo a los administradores extender las capacidades del bot con funciones de JavaScript definidas por el usuario.

:person_raising_hand: Nivel de usuario requerido: Administrador

Las herramientas son funcionalidades programables que el bot de IA puede utilizar para realizar tareas específicas o recuperar información más allá de las simples respuestas basadas en texto. Estas herramientas son scripts o integraciones que permiten al bot interactuar con APIs externas, manipular datos o ejecutar funciones adicionales para extender sus capacidades.

Resumen

Esta documentación cubre:

  • Creación de una nueva herramienta de IA personalizada
  • Configuración de parámetros y scripts de herramientas
  • APIs disponibles para scripts de herramientas
  • Integración de herramientas personalizadas con personas de IA
  • Pruebas y solución de problemas de herramientas personalizadas

Creación de una nueva herramienta de IA personalizada

Para crear una nueva herramienta de IA:

  1. Navegue a Panel de Administración > Plugins > Discourse AI > Herramientas
  2. Haga clic en “Nueva Herramienta” (puede usar preajustes existentes para conocer las opciones)
  3. Rellene los siguientes campos:
    • Nombre: El nombre de la herramienta tal como se presenta al LLM
    • Descripción: La descripción de la herramienta tal como se presenta al LLM
    • Resumen: Resumen de lo que hace la herramienta para ayudar a los usuarios (se muestra en los detalles)
    • Parámetros: Defina las entradas que su herramienta necesita tal como se presentan al LLM
    • Script: El código JavaScript que potencia su herramienta
  4. Haga clic en “Guardar”

Configuración de scripts de herramientas

APIs disponibles

Sus scripts de herramientas tienen acceso a las siguientes APIs:

  1. Solicitudes HTTP:

    http.get(url, options)
    http.post(url, options)
    

    Utilice estas para interactuar con servicios externos. Puede usar options para especificar encabezados HTTP:

    http.get(url, { headers: { Auth: "some value" } })
    http.post(url, { headers: { Auth: "some value", body: "some body" } })
    http.patch(url, { headers: { Auth: "some value", body: "some body" } })
    http.delete(url, { headers: ...})
    http.put(url, { headers: ... , body: ...})
    
  2. Integración LLM (Modelo de Lenguaje):

    llm.truncate(text, length)
    

    Esto le permite manipular texto dentro de los límites de tokens del modelo de IA.

  3. Integración de carga personalizada (RAG)

    index.search(query, { filenames: options, limit: max_fragments_optional })
    
  4. Soporte para la creación de cargas

    upload.create(filename, base_64_content)
    
  5. Control de la cadena de ejecución

    chain.setCustomRaw(raw) - establece el cuerpo de la publicación en la cadena.
    

Funciones requeridas

Su script debe implementar:

  • invoke(params): La función principal que se ejecuta cuando se llama a la herramienta

Opcionalmente, puede implementar:

  • details(): (Opcional) Proporciona información adicional sobre la ejecución de la herramienta

Script de ejemplo:

function invoke(params) {
  let result = http.get("https://api.example.com/data?query=" + params.query);
  return JSON.parse(result.body);
}

function details() {
  return "Fetched data from Example API";
}

Limitaciones y seguridad

  • Tiempo de espera de ejecución: Las herramientas tienen un tiempo de espera predeterminado de 2 segundos
  • Solicitudes HTTP: Máximo de 20 solicitudes por ejecución de herramienta
  • Entorno aislado: Sin acceso al sistema de archivos del servidor ni a bibliotecas Ruby

Prueba de su herramienta

Debe probar cualquier herramienta que cree para asegurarse de que los resultados que se proporcionarán al LLM coincidan con sus expectativas.

Integración de herramientas con personas de IA

Para agregar su herramienta personalizada a una Persona de IA:

  1. Vaya a Panel de Administración > Plugins > Discourse AI > Personas
  2. Edite una persona existente o cree una nueva
  3. En la sección “Herramientas”, verá sus herramientas personalizadas listadas junto con las herramientas integradas
  4. Seleccione su herramienta personalizada para agregarla a la persona

Herramientas personalizadas en acción

Una vez que proporcione la herramienta personalizada a su LLM, puede usarla para mejorar la conversación.

Solución de problemas

Si su herramienta no funciona como se esperaba:

  1. Utilice la interfaz de prueba para asegurarse de que se comporta como se espera para sus entradas.
  2. Asegúrese de que su grupo esté en ai_bot_debugging_allowed_groups. Los miembros de este grupo tienen acceso completo a las transcripciones del bot; puede ver los registros de IA allí.
  3. Si algo inesperado está sucediendo, visite https://SITENAME/logs para verificar si hay errores.

Recursos adicionales

14 Me gusta