Creo que la API de discourse-ai necesita una regresión

Discourse AI ahora utiliza la salida estructurada para el contenido, pero la salida estructurada no ha sido compatible con muchos proveedores de API, casi todos los proveedores de IA en mi país como DeepSeek o Qwen no lo hacen. El uso de la salida estructurada conduce a opciones de API muy limitadas que se limitan a unos pocos proveedores de IA principales.

Creo que, si Discourse AI tiene que superar la limitación actual en las opciones de proveedores, renunciar a la salida estructurada es esencial, y nada se romperá realmente sin ella. Como solución, podemos usar algunos separadores únicos simples o simplemente pedirle a la IA que genere JSON proporcionando un esquema JSON o ejemplos, pero sin usar la salida estructurada, ¿por qué no?

1 me gusta

¿Puedes probar Moonshot AI Kimi K2 a través de sus puntos finales de API para China?

Parece que la URL base de la API es https://api.moonshot.cn/v1.

Implementamos el requisito de salidas estructuradas porque había soportado miles de quejas sobre problemas como que los modelos añadieran “Aquí tienes tu resumen” o fallos al analizar al obtener una lista de títulos sugeridos para el asistente de IA, etc. Ahora, con la traducción, se convirtió en un problema aún peor cuando tienes que poder confiar en millones de invocaciones de LLM para que no añadan nada extra a tu salida.

Dada la necesidad de fiabilidad y la disponibilidad general de salidas estructuradas, tomamos esta decisión sobre los proveedores donde es compatible, pero estaría abierto a una PR que añada una casilla de verificación para deshabilitar las Salidas Estructuradas de la solicitud de API en el proveedor de OpenAI.

1 me gusta

Eso sería bueno, no soy ni puedo exigir al equipo de Discourse, así que solo doy algunas sugerencias.

Usando la antigua solución de “separadores” para un análisis más robusto, un contenido sin procesar similar a XML como este:

<SUMMARY_START>
Contenido del resumen.
<SUMMARY_END>

<SUGGESTIONS_START>
<SUGGESTION_START>
Sugerencia 1
<SUGGESTION_END>
<SUGGESTION_START>
Sugerencia 2
<SUGGESTION_END>
...
<SUGGESTIONS_END>

Luego, sin preocuparse por nada fuera de <START> y <END>, creo que el modelo de IA de producción más tonto puede procesar las etiquetas correctamente.

Y pidiendo a la IA que no agregue descripciones adicionales; luego advirtiendo a los administradores sobre posibles problemas si abren esa casilla. Gracias.

No sé cómo se ve el cuerpo de la solicitud generada por Discourse AI. Pero si no es así, simplemente ponga las indicaciones del sistema en el primer mensaje dicho por el rol system, el resultado de la consulta de la base de datos vectorial en el siguiente mensaje del rol system, y ponga el contenido de la publicación u otros datos reales en los mensajes del rol user.