Discourse AI utilise désormais une sortie structurée pour le contenu, mais la sortie structurée n’a pas été prise en charge par de nombreux fournisseurs d’API. Presque tous les fournisseurs d’IA de mon pays, comme DeepSeek ou Qwen, ne le font pas. L’utilisation d’une sortie structurée entraîne des choix d’API très limités, se limitant à quelques fournisseurs d’IA principaux.
Je pense que si Discourse AI doit surmonter la limitation actuelle des choix de fournisseurs, abandonner la sortie structurée est essentiel, et rien ne sera réellement cassé sans elle. Comme solution, nous pouvons utiliser des séparateurs uniques simples ou simplement demander à l’IA de générer du JSON en fournissant un schéma JSON ou des exemples, mais sans utiliser de sortie structurée, pourquoi pas ?
Pouvez-vous essayer Moonshot AI Kimi K2 via leurs points de terminaison API pour la Chine ?
Il semble que l’URL de base de l’API soit https://api.moonshot.cn/v1.
Nous avons mis en place l’exigence de sorties structurées parce que j’avais enduré des milliers de plaintes concernant des problèmes tels que les modèles ajoutant « Voici votre résumé » ou des échecs d’analyse lors de l’obtention d’une liste de titres suggérés pour l’assistant IA, etc. Maintenant, avec la traduction, cela est devenu un problème encore pire lorsque vous devez être en mesure de faire confiance à des millions d’invocations LLM pour ne rien ajouter d’autre à votre sortie.
Compte tenu du besoin de fiabilité et de la disponibilité générale des sorties structurées, nous avons pris cette décision pour les fournisseurs où cela est pris en charge, mais je serais ouvert à une PR qui ajoute une case à cocher pour désactiver les sorties structurées de la requête API sur le fournisseur OpenAI.
Ensuite, ne pas se soucier de quoi que ce soit en dehors de <START> et <END>, je crois que le modèle d’IA de production le plus stupide peut traiter les étiquettes correctement.
Et demander à l’IA de ne pas ajouter de description supplémentaire ; puis avertir les administrateurs des problèmes possibles s’ils ouvrent cette case à cocher. Merci.
Je ne sais pas à quoi ressemble le corps de la requête générée par Discourse AI. Mais sinon, il suffit de mettre les invites système dans le premier message dit par le rôle system, le résultat de la requête de la base de données vectorielle dans le message suivant du rôle system, et de mettre le contenu du message ou d’autres données réelles dans les messages du rôle user.