OPENAICHAT
Aperçu
L’application de workflow OPENAICHAT vous permet d’interagir avec des modèles de chat IA provenant de plusieurs fournisseurs, notamment OpenAI, Mistral AI, Google Gemini et Anthropic Claude.
Mode de fonctionnement
L'application vous permet d'interagir avec les modèles de complétion.
Des logs d'application sont disponibles. Ceux-ci peuvent être spécifiés en définissant la valeur du paramètre
OpenAIChatLogLeveldans le fichierweb.configsur0pour désactiver la journalisation,1pour les logs d'erreur,2pour des logs d'informations ou3pour les logs de débogage; la valeur par défaut est0.
Fournisseurs supportés
OpenAI
Natif
https://api.openai.com/v1/chat/completions
Mistral AI
Compatible OpenAI
https://api.mistral.ai/v1/chat/completions
Google Gemini
Compatible OpenAI
https://generativelanguage.googleapis.com/v1beta/openai/chat/completions
Anthropic Claude
Natif
https://api.anthropic.com/v1/messages
Le fournisseur est détecté automatiquement à partir de l’URL de l’API, mais il peut être défini explicitement à l’aide du paramètre PROVIDER (voir le tableau des paramètres facultatifs ci-dessous).
Fournisseurs compatible OpenAI
L’application OPENAICHAT détecte automatiquement les fournisseurs compatibles OpenAI et les supporte en fonction de l’URL de l’API.
Pour les fournisseurs qui utilisent le format d’API compatible OpenAI (Mistral AI, Google Gemini), vous pouvez définir le paramètre URL (ou le paramètre d’URL d’API du fournisseur dans le fichier web.config) avec le point de terminaison du fournisseur.
Pour Anthropic Claude, qui utilise une API native différente, définissez soit URL avec un point de terminaison Anthropic (détection automatique), soit PROVIDER = anthropic explicitement.
Paramètres de configuration de l’API du fournisseur
OpenAIApiKey
Clé d’API OpenAI
OpenAIChatApiUrl
Point de terminaison de l’API OpenAI
MistralApiKey
Clé d’API Mistral AI (requise pour Mistral)
MistralChatApiUrl
Point de terminaison de l’API Mistral AI
Par défaut : https://api.mistral.ai/v1/chat/completions
GeminiApiKey
Clé d’API Google Gemini (requise pour Gemini)
GeminiChatApiUrl
Point de terminaison de l’API Google Gemini
Par défaut : https://generativelanguage.googleapis.com/v1beta/openai/chat/completions
Note : Ce point de terminaison est en version bêta et peut être modifié lors de la mise en disponibilité générale (GA).
AnthropicApiKey
Clé d’API Anthropic (requise pour Anthropic)
AnthropicChatApiUrl
Point de terminaison de l’API Anthropic
Par défaut : https://api.anthropic.com/v1/messages
Chaque fournisseur nécessite sa propre clé d’API. Il n’existe aucun mécanisme de repli entre fournisseurs.
Détection automatique du fournisseur
Contient api.anthropic.com
Anthropic
Contient generativelanguage.googleapis.com
Gemini
Contient api.mistral.ai
Mistral
Par défaut
OpenAI
Fournisseurs compatibles
Azure OpenAI
Cloud
Ollama
Auto-hébergé
vLLM
Auto-hébergé
LocalAI
Auto-hébergé
LM Studio
Auto-hébergé
Together AI
Cloud
Groq
Cloud
Mistral AI
Cloud
OpenRouter
Cloud
N’utilisez pas
MAX_COMPLETION_TOKENSniREASONING_EFFORTavec des fournisseurs autres qu’OpenAI, sauf si vous savez que le fournisseur supporte ces paramètres.Utilisez
MAX_TOKENSpour définir les limites de jetons lorsque vous utilisez des fournisseurs autres qu’OpenAI.Certains fournisseurs peuvent ignorer les paramètres non supportés, tandis que d’autres peuvent retourner une erreur.
Paramètres requis
MODEL
TEXT
IN
ID du modèle à utiliser
Vous pouvez trouver les modèles disponibles au lien suivant : https://platform.openai.com/docs/models/ (page disponible en anglais uniquement); le point de terminaison utilisé par défaut est /v1/chat/completions.
Vous pouvez utiliser l'une des configurations suivantes : avec des messages système/utilisateur, avec un numéro de message ou avec un tableau de messages JSON.
Avec des messages système/utilisateur
SYSTEM_MESSAGE
TEXT
IN
Le contenu du message système
USER_MESSAGE
TEXT
IN
Le contenu du message utilisateur
Avec un numéro de message
MESSAGE_ROLEx
TEXT
IN
Le type du message, où x correspond au numéro du message ; le la valeur doit être assistant, system ou user
MESSAGE_CONTENTx
TEXT
IN
Le contenu du message utilisateur, où x correspond au numéro du message
Avec un tableau de messages JSON
MESSAGE_JSON
TEXT
IN
L'objet de message du tableau JSON ; la structure doit correspondre à ce qui suit :
Paramètres facultatifs
PROVIDER
TEXT
IN
Force la sélection du fournisseur; s’il n’est pas défini, le fournisseur est détecté automatiquement à partir de l’URL
Valeurs possibles : openai, mistral, gemini ou anthropic
API_KEY
TEXT
IN
Clé API OpenAI
Par défaut, cette valeur provient du paramètre OpenAIApiKey du fichier web.config.
URL
TEXT
IN
Point de terminaison de l'API; cette valeur provient du paramètre OpenAIChatApiUrl dans le fichier web.config, s’il est défini
TEMPERATURE
NUMERIC
IN
Température d'échantillonnage, comprise entre 0 et 1; la valeur par défaut est 1
Des valeurs plus élevées (par exemple 0.8) rendront la sortie plus aléatoire, tandis que des valeurs plus faibles (par exemple 0.2) la rendront plus ciblée et déterministe.
TOP_P
NUMERIC
IN
Une alternative à l'échantillonnage avec température, appelée échantillonnage de noyau, où le modèle prend en compte les résultats des jetons avec une masse de probabilité top_p. Ainsi, 0.1 signifie que seuls les jetons comprenant la masse de probabilité la plus élevée de 10 % sont pris en compte.
Par défaut : 1
FREQUENCY_PENALTY
NUMERIC
IN
Nombre compris entre -2.0 et 2.0. Les valeurs positives pénalisent les nouveaux jetons en fonction de leur fréquence existante dans le texte jusqu'à présent, réduisant ainsi la probabilité que le modèle répète mot pour mot la même ligne.
Par défaut : 0
MAX_TOKENS
NUMERIC
IN
Nombre maximum de jetons pouvant être générés dans la complétion de chat
Par défaut : 256
✏️ Note : Pour les modèles de raisonnement (o1, o3, série GPT-5), utilisez MAX_COMPLETION_TOKENS à la place.
Si MAX_TOKENS et MAX_COMPLETION_TOKENS sont tous deux spécifiés, MAX_COMPLETION_TOKENS a priorité.
MAX_COMPLETION_TOKENS
NUMERIC
IN
Nombre maximum de jetons à générer dans la complétion
Ce paramètre est requis pour les modèles de raisonnement (o1, o3, série GPT-5) et a priorité sur MAX_TOKENS lorsque les deux sont spécifiés. Pour les modèles de raisonnement, cette valeur inclut à la fois les jetons de raisonnement et les jetons visibles de la complétion.
REASONING_EFFORT
TEXT
IN
Contrôle le niveau d’effort pour les modèles de raisonnement; applicable uniquement aux modèles de raisonnement (o1, o3, série GPT-5)
Valeurs : low, medium ou high
⚠️ Important : N’utilisez pas ce paramètre avec des modèles non orientés raisonnement (p.ex. GPT-4o, GPT-4-turbo), car cela provoquera une erreur de l’API.
PRESENCE_PENALTY
NUMERIC
IN
Numéro compris entre -2.0 et 2.0 ; la valeur par défaut est 0
Les valeurs positives pénalisent les nouveaux jetons selon qu'ils apparaissent ou non dans le texte jusqu'à présent, augmentant ainsi la probabilité du modèle de parler de nouveaux sujets.
RESPONSE_FORMAT
TEXT
IN
Format de réponse : text , json_object ou json_schema
Lorsque la valeur est json_object, l'invite système doit contenir le mot-clé JSON.
Lorsque la valeur est json_schema, il faut renseigner le schema attendu dans le paramètre RESPONSE_FORMAT_JSON_SCHEMA.
RESPONSE_FORMAT_JSON_SCHEMA
TEXT
IN
Le schema JSON qui sera utilisé par le modèle pour répondre.
Voir la section RESPONSE_FORMAT_JSON_SCHEMA ci-dessous pour un exemple.
APP_RESPONSE_IGNORE_ERROR
TEXT
IN
Spécifie (Y ou N) si l'erreur doit être ignorée; la valeur par défaut est N
En cas d'erreur, si le paramètre a Y comme valeur, l'erreur sera ignorée et les paramètres OUT définis (APP_RESPONSE_STATUS ou APP_RESPONSE_CONTENT) seront mappés. Sinon, une exception sera levée.
TOOLS
TEXT
IN
Listes des outils à dispositions du modèle, le format doit être en json et correspondre au format d'OpenAI : https://platform.openai.com/docs/api-reference/chat/create#chat-create-tools
Voir la section TOOLS ci-dessous pour un exemple.
TOOL_CHOICE_REQUIRED
TEXT
IN
Spécifie si le modèle doit obligatoirement choisir un outil. Valeurs : Y ou N (par défaut)
PARALLEL_TOOL
TEXT
IN
Spécifie si le modèle peut choisir plusieurs outils. Valeurs : Y (par défaut) ou N
MESSAGE_HISTORY
TEXT
INOUT
L'historique des messages au format JSON. La structure de référence est celle de la documentation d'OpenAI pour l'objet messages
https://platform.openai.com/docs/api-reference/chat/create#chat-create-messages
SELECTED_TOOLS
TEXT
OUT
La liste des noms d'outils qui ont été sélectionnés, séparé par une virgule
SELECTED_TOOLS_PARAM
TEXT
OUT
Tableau JSON représentant la liste des outils sélectionnés avec leurs paramètres. Voir la section SELECTED_TOOLS_PARAMS ci-dessous pour un exemple de rendu.
SELECTED_TOOLS_COUNT
NUMERIC
OUT
Le nombre d'outils sélectionnés
RESULT
TEXT
OUT
Appel de résultat du chat
RESULT_CONTENT
TEXT
OUT
Contenu du message de l'assistant
RESULT_TOTAL_TOKENS
NUMERIC
OUT
Total des jetons utilisés pour la génération
RESULT_COMPLETION_TOKENS
NUMERIC
OUT
Total des jetons utilisés pour la génération
RESULT_PROMPT_TOKENS
NUMERIC
OUT
Total des jetons utilisés pour l'invite
APP_RESPONSE_STATUS
TEXT
OUT
Code d'état de la réponse
APP_RESPONSE_CONTENT
TEXT
OUT
Charge utile de réponse ou message d'erreur
USER_AUDIO
FILE
IN
Fichier audio local envoyé en entrée audio WorkflowGen convertit le fichier en base64 avant d’envoyer la requête. Pris en charge par OpenAI (modèles compatibles audio uniquement), Mistral et Gemini.
USER_DOCUMENT_URL
TEXT
IN
URL d’un document à analyser
À utiliser de préférence avec le paramètre facultatif USER_DOCUMENT_NAME. Supporté par Mistral et Anthropic (URL de PDF uniquement pour Anthropic).
USER_FILE_ID
TEXT
IN
Identifiant de fichier renvoyé par l’API Files du fournisseur
À utiliser lorsque le fichier a déjà été téléversé en dehors d’OPENAICHAT. Supporté par OpenAI, Mistral et Anthropic.
USER_FILE
FILE
IN
Fichier local envoyé inline dans la requête de chat sous forme de contenu de fichier en base64
Aucune étape de téléversement préalable n’est requise. Supporté par OpenAI et Anthropic. Anthropic accepte actuellement uniquement les fichiers PDF et texte brut dans ce flux.
Entrée multimodale
OPENAICHAT supporte l’entrée utilisateur multimodale via USER_AUDIO, USER_DOCUMENT_URL, USER_FILE_ID et USER_FILE.
Utilisez ces paramètres avec USER_MESSAGE pour indiquer au modèle quoi faire avec l’audio, le document ou le fichier joint.
Support des fournisseurs
OpenAI
Oui, avec des modèles compatibles audio
Non
Oui
Oui
Mistral
Oui
Oui
Oui
Non
Gemini (point de terminaison compatible OpenAI)
Oui
Non
Non
non
Anthropic
Non
Oui, pour les URL de documents PDF
Oui
Oui, pour les fichiers PDF et texte brut
Variantes indexées
Ces paramètres supportent également des variantes indexées lorsqu’un seul message utilisateur doit contenir plusieurs blocs de contenu.
📌 Exemples
USER_AUDIO1,USER_AUDIO2USER_DOCUMENT_URL1,USER_DOCUMENT_URL2USER_FILE_ID1,USER_FILE_ID2USER_FILE1,USER_FILE2
Utilisez USER_DOCUMENT_NAME1, USER_DOCUMENT_NAME2, etc., avec l’index correspondant de USER_DOCUMENT_URL.
Lorsque des paramètres multimodaux indexés sont utilisés, les versions non indexées de
USER_AUDIO,USER_DOCUMENT_URL,USER_FILE_IDetUSER_FILEsont ignorées.Si
USER_MESSAGE1n’est pas fourni, leUSER_MESSAGEnon indexé peut tout de même être inclus comme premier bloc de texte.Si le fournisseur sélectionné ne supporte pas l’un de ces types de contenu, OPENAICHAT ignore ce contenu et écrit une entrée de journal informative (si la journalisation de l’application est activée).
Considérations spécifiques aux fournisseurs
Disponibilité des paramètres selon le fournisseur
MODEL
Oui
Oui
Oui
Oui
SYSTEM_MESSAGE
Oui
Oui
Oui
Oui
USER_MESSAGE
Oui
Oui
Oui
Oui
TEMPERATURE
0-2
0-2
0-1
0-1
TOP_P
Oui
Oui
Oui
Non
MAX_TOKENS
Oui
Oui
Oui
Requis
TOOLS
Oui
Oui
Oui
Oui
RESPONSE_FORMAT
Yes
Yes
Yes
Yes
DEVELOPER_MESSAGE
o1+ only
No
No
No
MAX_COMPLETION_TOKENS
o1+ only
No
No
No
REASONING_EFFORT
o1/o3
No
Mapped
Mapped
FREQUENCY_PENALTY
Yes
Yes
No
No
PRESENCE_PENALTY
Yes
Yes
No
No
PARALLEL_TOOL
Yes
Yes
Yes
Yes
PLes paramètres non supportés par un fournisseur sont ignorés silencieusement.
Les valeurs de
TEMPERATUREsupérieures à1.0sont plafonnées à1.0pour Gemini et Anthropic (Mistral supporte0–2).REASONING_EFFORTest mappé vers les configurations de raisonnement propres au fournisseurMAX_TOKENSest requis pour Anthropic (non facultatif).Lorsque
REASONING_EFFORTest utilisé avec Anthropic,TEMPERATUREetTOP_Psont ignorés (exigence de l’API).
TOP_P n’est pas envoyé pour Anthropic, car les modèles Claude 4.5 n’autorisent pas l’utilisation simultanée de la température et de top_p.
Modèles de raisonnement OpenAI
OpenAI propose des modèles de raisonnement (o1, o3, série GPT-5) qui utilisent un raisonnement interne avant de générer une réponse. Ces modèles ont des exigences spécifiques en matière de paramètres :
Paramètres
MAX_COMPLETION_TOKENS
Requis pour les modèles de raisonnement. Spécifie le nombre maximum de jetons pour la complétion, incluant à la fois les jetons de raisonnement et les jetons de sortie visibles.
REASONING_EFFORT
Facultatif. Contrôle la profondeur du raisonnement : low, medium ou high.
Des valeurs plus élevées utilisent davantage de jetons de raisonnement, mais peuvent produire de meilleurs résultats.
Utilisez
MAX_COMPLETION_TOKENSau lieu deMAX_TOKENSpour les modèles de raisonnement. Le paramètreMAX_TOKENSest obsolète pour ces modèles.N’utilisez pas
REASONING_EFFORTavec des modèles non orientés raisonnement (p.ex. GPT-4o, GPT-4-turbo). Ces modèles ne supportent pas ce paramètre et l’API renverra une erreur.Lorsque vous utilisez
REASONING_EFFORT, définissez toujoursMAX_COMPLETION_TOKENS. SiREASONING_EFFORTest spécifié sansMAX_COMPLETION_TOKENS, aucune limite de jetons n’est envoyée à l’API (l’API utilisera ses limites par défaut). Ce comportement est intentionnel, car les modèles de raisonnement rejettent le paramètreMAX_TOKENS.Les jetons de raisonnement ne sont pas visibles dans le contenu de la réponse, mais ils sont inclus dans le décompte des jetons et la facturation.
Paramètres de sortie
RESULT_REASONING_TOKENS
Nombre de jetons utilisés pour le raisonnement interne
Uniquement renseigné pour les modèles de raisonnement; renvoie 0 pour les autres modèles.
RESULT_CACHED_TOKENS
Nombre de jetons de l’invite servis depuis le cache (s’applique à tous les modèles prenant en charge la mise en cache des invites)
Exemple d’utilisation d’un modèle de raisonnement
Sortie
Cas d’utilisation du schéma JSON
En utilisation un schéma JSON comme format de réponse, cela force l'application à répondre de manière structuré pour correspondre au schéma.
Vous avez la possibilité d'extraire directement les valeurs retournées pour les mettre dans une donnée; il suffit d'indiquer en nom de paramètre le nom de la propriété à extraire et de mettre en OUT la donnée cible.
Exemples
TOOLS
TOOLSSELECTED_TOOLS_PARAMS
SELECTED_TOOLS_PARAMSRESPONSE_FORMAT_JSON_SCHEMA
RESPONSE_FORMAT_JSON_SCHEMAFournisseurs compatibles OpenAI
L’application OPENAICHAT peut être utilisée avec des fournisseurs compatibles OpenAI en spécifiant un point de terminaison d’API personnalisé via le paramètre URL ou le paramètre OpenAIChatApiUrl dans le fichier web.config.
Fournisseurs compatibles
Azure OpenAI
Cloud
Ollama
Auto-hébergé
vLLM
Auto-hébergé
LocalAI
Auto-hébergé
LM Studio
Auto-hébergé
Together AI
Cloud
Groq
Cloud
Mistral AI
Cloud
OpenRouter
Cloud
N’utilisez pas
MAX_COMPLETION_TOKENSniREASONING_EFFORTavec des fournisseurs non-OpenAI, sauf si vous savez que le fournisseur supporte ces paramètres.Utilisez
MAX_TOKENSpour définir les limites de jetons lorsque vous utilisez des fournisseurs non-OpenAI.Certains fournisseurs peuvent ignorer les paramètres non supportés, tandis que d’autres peuvent renvoyer une erreur.
Last updated