¿Enriquecer llamadas API del plugin de AI?

Hola a todos,

Estoy trabajando en un entorno empresarial y usamos Discourse como tablón de discusiones para dar soporte a una plataforma en la nube.
Queremos usar el plugin Discourse AI para varios casos de uso e incluso tener puntos finales de IA internos compatibles con OpenAI.

La cuestión es que las solicitudes salientes a estos puntos finales deben incluir una cabecera de autenticación con un token oauth2 que proviene de un punto final de autenticación m2m interno que debe recuperarse de antemano.

Pensé en varios enfoques, como un proxy local en la instancia ec2 que aloja Discourse, que podría enriquecer la solicitud con esa información de autenticación.
Otro enfoque es una puerta de enlace API con una función lambda de autorización que obtenga el token.

Lo que no he entendido hasta ahora son las herramientas que se pueden agregar dentro del propio plugin Discourse AI.
¿Podría usarse eso para lograr lo que tengo en mente?

¡Muchas gracias por su apoyo y que tengan un gran día!

Saludos,

WS

Este es uno difícil.

Generalmente no nos gusta añadir demasiados controles porque confunden a la gente, pero entiendo que esto es difícil de resolver ahora, puede que necesitemos otro control.

Una opción sería permitir que el compatible con OpenAI tenga una sección de “encabezados personalizados”.

Las herramientas no pudieron resolver esto fácilmente porque crearía un flujo de trabajo increíblemente complejo y no tenemos la capacidad de pasar fácilmente toda la información que la herramienta necesita.

¿@Falco, qué opinas?

Moviendo esto a función, porque es una solicitud de función.

1 me gusta

Hola @sam,

Gracias por tu respuesta y tus ideas al respecto.

Un campo para encabezados personalizados no sería suficiente, porque el token tiene que recuperarse dinámicamente antes de cada llamada a la API.

¿Quizás más bien una especie de pipeline/middleware, donde alguien pueda transmutar toda la llamada saliente con su propio código antes de que se envíe?

¡Muchas gracias, chicos, y que tengáis un gran día!

Saludos,

WS

Vaya, esto es realmente bastante avanzado.

Supongo que si las herramientas personalizadas tuvieran suficiente riqueza, podrían lograr esto… se siente un poco como una máquina de Rube Goldberg, pero imagínate.

  1. SI una configuración con una persona:
    1. Fuerza llamadas a herramientas
    2. Tiene una herramienta personalizada forzada y NO tiene parámetros
  2. ENTONCES no invocamos ningún LLM y simplemente pasamos el control a la herramienta
  3. ENTONCES le damos a la herramienta suficiente infraestructura para transmitir resultados a la aplicación a través de la inversión de control de alguna manera

Es una cantidad de cambios bastante asombrosa y sería un verdadero oso de mantener.

Supongo que una alternativa es que definas un nuevo plugin personalizado que dependa de Discourse-AI y defina tu propio Dialecto y Punto final; ciertamente es la forma más sencilla de hacerlo.

Es muuuucho más fácil resolver esta necesidad específica a través de un proxy ligero, como Nginx con scripting LUA, por lo que creo que @Wurzelseppi estará mejor servido si sigue esa ruta.

1 me gusta

Hola chicos,

Sois geniales discutiendo la necesidad de un pequeño usuario como yo con seriedad. Siempre me impresiona vuestra dedicación, y lo digo en serio (no es broma :slight_smile: )

Sí, como todo se ejecuta en una instancia EC2 y ya decidí seguir el camino de AWS API Gateway → Lambda → endpoint LLM …

Estar integrado en Discourse sería genial, pero entiendo la complejidad que eso traería, por supuesto …

Muchas gracias por vuestro tiempo y por el tiempo que dedicáis a ayudar a todos los usuarios aquí.

No podría pensar en un software de foro mejor, no solo por la madurez del software, sino también por las personas que brindan soporte.

Que tengáis una gran semana, chicos… ¡y seguid siendo como sois!

Saludos,

WS

1 me gusta