Azure OpenAI
Comment configurer Azure OpenAI dans LibreChat via le fichier `librechat.yaml`, en couvrant les déploiements, les groupes de modèles, les régions multiples et les paramètres associés.
Intégration Azure OpenAI pour LibreChat
LibreChat prend en charge les services Azure OpenAI API en tant qu'endpoint de premier ordre. Pour utiliser Azure OpenAI dans LibreChat, configurez le fichier librechat.yaml pour votre installation. Ce document couvre le processus de configuration pour l'utilisation de plusieurs déploiements et modèles.
Exemple
Un exemple de configuration incluant bon nombre des options et fonctionnalités décrites ci-dessous :
Cet exemple suit la documentation de configuration de l'endpoint Azure OpenAI.
Chaque niveau de configuration est détaillé dans sa section respective :
Configuration
-
Ouvrir
librechat.yamlpour modification : Utilisez votre éditeur de texte ou IDE préféré pour ouvrir et modifier le fichierlibrechat.yaml.- Optionnel : utilisez un chemin de fichier distant ou personnalisé avec la variable d'environnement suivante :
-
Configurer les paramètres Azure OpenAI : Suivez la structure décrite ci-dessous pour renseigner vos paramètres Azure OpenAI, y compris les clés API, les noms d'instance, les groupes de modèles et d'autres configurations.
-
Supprimer les paramètres hérités : Si vous utilisez l'une des configurations héritées, supprimez-les. Le serveur LibreChat les détectera également et vous le rappellera.
-
Enregistrez vos modifications : Enregistrez le fichier
librechat.yaml. -
Redémarrer LibreChat : Redémarrez votre application LibreChat afin que la configuration mise à jour soit chargée.
Champs requis
Pour intégrer Azure OpenAI avec LibreChat, des champs spécifiques doivent être configurés dans votre fichier librechat.yaml. Ces champs sont validés par une combinaison de variables personnalisées et de variables d'environnement. Les exigences détaillées suivent.
Configuration au niveau de l'endpoint
Paramètres Azure globaux :
Paramètres du titre et de la conversation :
| Key | Type | Description | Example |
|---|---|---|---|
| titleModel | string | Spécifie le modèle à utiliser pour générer les titres des conversations. S'il n'est pas fourni, le modèle par défaut est défini sur `gpt-3.5-turbo`, ce qui n'entraînera aucun titre si ce modèle est absent. Vous pouvez également le configurer pour utiliser dynamiquement le modèle actuel en le réglant sur `current_model`. | titleModel: |
| plugins | boolean | Active l'utilisation de plugins via Azure. Définissez sur `true` pour activer la prise en charge de l'endpoint Plugins via votre configuration Azure. Par défaut : `false`. | plugins:false |
| assistants | boolean | Active l'utilisation d'assistants via Azure. Définissez sur `true` pour activer l'endpoint Assistants via votre configuration Azure. Par défaut : `false`. Remarque : cela nécessite une région compatible avec les assistants. | assistants:false |
| summarize | boolean | Active la synthèse des conversations pour tous les modèles Azure. Définissez sur `true` pour activer la synthèse. Par défaut : `false`. | summarize:false |
| summaryModel | string | Spécifie le modèle à utiliser pour générer les résumés de conversation. S'il n'est pas fourni, le comportement par défaut consiste à utiliser le premier modèle du tableau `default` du premier groupe. | summaryModel: |
| titleConvo | boolean | Active la génération de titres de conversation pour tous les modèles Azure. Définissez sur `true` pour activer la génération de titres. Par défaut : `false`. | titleConvo:false |
| titleMethod | string | Contrôle la méthode utilisée pour générer les titres de conversation. Valeurs valides : "completion" (par défaut), "structured", "functions" (alias hérité pour "structured"). | titleMethod:completion |
| titlePrompt | string | Invite personnalisée pour la génération de titre. Doit inclure l'espace réservé {convo} pour le contenu de la conversation. | See documentation for default prompt |
| titlePromptTemplate | string | Modèle pour formater le contenu de la conversation. Doit inclure les espaces réservés {input} et {output}. Par défaut : "User: {input} AI: {output}" | titlePromptTemplate: |
| titleEndpoint | string | Point de terminaison alternatif à utiliser pour la génération de titres. Valeurs acceptées : openAI, azureOpenAI, google, anthropic, bedrock, ou des noms de point de terminaison personnalisés. | titleEndpoint: |
Configuration du groupe :
| Key | Type | Description | Example |
|---|---|---|---|
| groups | array | Spécifie la liste des groupes de modèles Azure OpenAI. Chaque groupe représente un ensemble de modèles avec des configurations partagées. Le champ groups est un tableau d'objets, où chaque objet définit les paramètres d'un groupe spécifique. Il s'agit d'un champ obligatoire au niveau de l'endpoint, et au moins un groupe doit être défini. Les configurations au niveau du groupe sont détaillées dans la section Group-Level Configuration. | # groups:[] |
Ordre personnalisé (Optionnel) :
| Key | Type | Description | Example |
|---|---|---|---|
| customOrder | number | Vous permet de spécifier un ordre personnalisé pour l'endpoint Azure dans l'interface utilisateur. Les nombres plus élevés apparaîtront plus bas dans la liste. S'il n'est pas fourni, l'ordre par défaut est déterminé par l'ordre dans lequel les endpoints sont définis dans le fichier `librechat.yaml`. | customOrder: |
L'option customOrder est mise en commentaire, car elle est facultative.
Exemple de ces paramètres au niveau de l'endpoint dans votre fichier librechat.yaml :
Configuration au niveau du groupe
Les champs configurables dans le fichier de configuration personnalisée (librechat.yaml). Pour plus d'informations sur chaque champ, consultez la section Azure OpenAI dans la documentation de configuration personnalisée.
Configuration au niveau du groupe : Identification du groupe :
| Key | Type | Description | Example |
|---|---|---|---|
| group | string | Nom d'identifiant unique pour un groupe de modèles. Les noms de groupe en double ne sont pas autorisés et entraîneront des erreurs de validation. | group: default |
Authentification :
| Key | Type | Description | Example |
|---|---|---|---|
| apiKey | string | Doit être une clé API valide pour les services Azure OpenAI. Il peut s'agir d'une chaîne de caractères directe ou d'une référence à une variable d'environnement (par ex. ${WESTUS_API_KEY}). | apiKey: ${AZURE_API_KEY} |
Instance Azure OpenAI :
| Key | Type | Description | Example |
|---|---|---|---|
| instanceName | string | Nom de l'instance Azure OpenAI. Ce champ prend également en charge les références aux variables d'environnement. **Prend en charge les deux formats de domaine** : `.openai.azure.com` (hérité) et `.cognitiveservices.azure.com` (nouveau). Vous pouvez spécifier soit le domaine complet (par ex. `my-instance.cognitiveservices.azure.com`), soit uniquement le nom de l'instance (par ex. `my-instance`) pour une compatibilité ascendante avec l'ancien format `.openai.azure.com`. | instanceName: ${AZURE_OPENAI_INSTANCE} |
Configuration du déploiement :
| Key | Type | Description | Example |
|---|---|---|---|
| deploymentName | string | Le nom du déploiement au niveau du groupe est facultatif, mais requis si un modèle au sein du groupe est défini sur true. | deploymentName: my-deployment |
| version | string | La version de l'API Azure OpenAI au niveau du groupe est facultative, mais requise si un modèle au sein du groupe est défini sur true. | version: 2023-03-15-preview |
Paramètres avancés :
| Key | Type | Description | Example |
|---|---|---|---|
| baseURL | string | URL de base personnalisée pour les requêtes de l'API Azure OpenAI. Les références aux variables d'environnement sont prises en charge. Ceci est facultatif et peut être utilisé pour des scénarios de routage avancés. | baseURL: https://my-custom-base-url.com |
| additionalHeaders | object | Spécifie les en-têtes supplémentaires pour les requêtes de l'API Azure OpenAI sous forme de paires clé-valeur. Les références aux variables d'environnement peuvent être incluses en tant que valeurs. | additionalHeaders: {Authorization: ${AUTH_HEADER}} |
| serverless | boolean | Indique si le groupe est un endpoint de complétion de chat en inférence serverless provenant du Azure Model Catalog, pour lequel seuls un identifiant de modèle, une baseURL et une apiKey sont nécessaires. Pour plus d'informations, consultez serverless inference endpoints. | serverless: true |
| addParams | object | Ajoute ou remplace des paramètres supplémentaires pour les requêtes API Azure OpenAI. Utile pour spécifier des options spécifiques à l'API sous forme de paires clé-valeur. | addParams: {temperature: 0.7} |
| dropParams | array | Permet l'exclusion de certains paramètres par défaut des requêtes de l'API Azure OpenAI. Utile pour les API qui n'acceptent pas ou ne reconnaissent pas des paramètres spécifiques. Ceci doit être spécifié sous forme de liste de chaînes de caractères. | dropParams: [top_p, stop] |
Configuration du modèle :
| Key | Type | Description | Example |
|---|---|---|---|
| models | object | Spécifie le mappage des identifiants de modèle vers leurs configurations au sein du groupe. Les clés représentent les identifiants de modèle, qui doivent correspondre aux noms de modèle OpenAI correspondants. Les valeurs peuvent être soit des booléens (true), soit des objets contenant des paramètres spécifiques au modèle. Si un modèle est défini sur true, il hérite du deploymentName et de la version au niveau du groupe. Si un modèle est configuré en tant qu'objet, il peut avoir son propre deploymentName et sa propre version. Ce champ est requis, et au moins un modèle doit être défini au sein de chaque groupe. Plus d'informations ici | models: {gpt-3.5-turbo: true, text-davinci-003: {}} |
Exemple d'une configuration au niveau du groupe dans le fichier librechat.yaml :
Configuration au niveau du modèle
Au sein de chaque groupe, le champ models contient un mappage des identifiants de modèles vers leurs configurations :
Identification du modèle :
| Key | Type | Description | Example |
|---|---|---|---|
| Model Identifier | string | Doit correspondre au nom du modèle OpenAI correspondant. Peut être une correspondance partielle. | gpt-3.5-turbo: true |
Configuration du modèle :
| Key | Type | Description | Example |
|---|---|---|---|
| Model Configuration | boolean/object | Booléen true : Utilise le deploymentName et la version au niveau du groupe. Objet : Spécifie le deploymentName et la version spécifiques au modèle. S'ils ne sont pas fournis, ils sont hérités du groupe. | text-davinci-003: {deploymentName: my-model-deployment, version: 2023-03-15-preview} |
| deploymentName | string | Le nom de déploiement pour ce modèle spécifique. | deploymentName: my-model-deployment |
| version | string | La version de l'API Azure OpenAI pour ce modèle spécifique. | version: 2023-03-15-preview |
Endpoints d'inférence serverless :
| Key | Type | Description | Example |
|---|---|---|---|
| Serverless Inference Endpoints | note | Pour les modèles serverless, définissez le modèle sur true. | gpt-4: true |
- L'identifiant du modèle doit correspondre à son nom de modèle OpenAI correspondant afin qu'il reflète correctement ses limites de contexte connues et/ou son fonctionnement dans le cas de la vision. Par exemple, si vous avez l'intention d'utiliser gpt-4-vision, il doit être configuré comme suit :
-
Voir Model Deployments pour plus d'exemples.
-
Si un modèle est défini sur
true, cela implique l'utilisation dudeploymentNameet de laversionau niveau du groupe pour ce modèle. Les deux doivent être définis au niveau du groupe dans ce cas. -
Si un modèle est configuré en tant qu'objet, il peut spécifier ses propres
deploymentNameetversion. Si ceux-ci ne sont pas fournis, le modèle hérite dudeploymentNameet de laversiondu groupe. -
Si le groupe représente un serverless inference endpoint, le modèle singulier doit être défini sur
truepour l'ajouter à la liste des modèles.
Considérations particulières
-
Noms uniques : Les noms de modèles et de groupes doivent être uniques dans l'ensemble de la configuration. Les noms en double entraînent des échecs de validation.
-
Champs requis manquants : L'absence du
deploymentNameou de laversionrequis, soit au niveau du groupe (pour les modèles avec indicateur booléen), soit dans les configurations des modèles (s'ils n'héritent pas ou ne sont pas explicitement spécifiés), entraînera des erreurs de validation, à moins que le groupe ne représente un serverless inference endpoint. -
Références aux variables d'environnement : La configuration prend en charge les références aux variables d'environnement (par exemple,
${VARIABLE_NAME}). Assurez-vous que toutes les variables référencées sont présentes dans votre environnement pour éviter les erreurs d'exécution. L'absence de variables d'environnement définies et référencées dans la configuration provoquera des erreurs.${INSTANCE_NAME}et${DEPLOYMENT_NAME}sont des espaces réservés uniques ; ils ne correspondent pas à des variables d'environnement, mais plutôt au nom de l'instance et au nom du déploiement du modèle actuellement sélectionné. Il n'est pas recommandé d'utiliserINSTANCE_NAMEetDEPLOYMENT_NAMEcomme noms de variables d'environnement afin d'éviter tout conflit potentiel. -
Gestion des erreurs : Tout problème dans la configuration, tel que des noms en double, des variables d'environnement non définies ou des champs requis manquants, invalidera l'installation et générera des messages d'erreur descriptifs visant une résolution rapide. Vous ne serez pas autorisé à exécuter le serveur avec une configuration invalide.
-
Identifiants de modèle : Un modèle inconnu (du projet) peut être utilisé comme identifiant de modèle, mais il doit correspondre à un modèle connu pour refléter sa longueur de contexte connue, ce qui est crucial pour la gestion des messages/jetons ; par exemple,
gpt-7000sera valide mais utilisera par défaut une limite de 4k jetons, tandis quegpt-4-turbosera reconnu comme ayant une limite de contexte de 128k.
Validez votre configuration par rapport aux dernières définitions de schéma et directives pour maintenir la compatibilité.
Déploiements de modèles
La liste des modèles disponibles pour vos utilisateurs est déterminée par les regroupements de modèles spécifiés dans votre configuration d'endpoint azureOpenAI.
Par exemple :
La configuration ci-dessus activerait gpt-4-vision-preview, gpt-3.5-turbo et gpt-4-turbo pour vos utilisateurs dans l'ordre où ils ont été définis.
Utilisation des Assistants avec Azure
Pour activer l'utilisation des Assistants avec Azure OpenAI, il y a 2 étapes principales.
- Définissez le champ
assistants, sous l'endpointazureOpenAI, c'est-à-dire au niveau de l'endpoint, surtrue, comme ceci :
- Ajoutez le champ
assistantsaux groupes compatibles avec l'intégration de l'Assistants API d'Azure.
- Au moins l'une de vos configurations de groupe doit être compatible.
- Vous pouvez consulter les régions et modèles compatibles dans la documentation Azure ici.
- La version doit également être « 2024-02-15-preview » ou ultérieure, de préférence ultérieure pour accéder aux dernières fonctionnalités.
Notes :
-
Pour les identifiants, fiez-vous aux variables d'environnement personnalisées spécifiées dans chaque configuration de groupe compatible avec les assistants.
-
Si vous marquez plusieurs régions comme étant compatibles avec les assistants, les assistants que vous créez seront regroupés par région dans la liste principale de sélection des assistants.
-
Les fichiers que vous téléchargez sur Azure OpenAI, que ce soit au niveau du message ou de l'assistant, ne seront disponibles que dans la région dont fait partie le modèle de l'assistant actuel.
- Pour cette raison, il est recommandé d'utiliser une seule région ou un seul groupe de ressources pour les Azure OpenAI Assistants, sous peine de rencontrer une erreur.
- Le téléchargement vers "OpenAI" est le comportement par défaut pour les fonctionnalités officielles
code_interpreteretretrieval.
-
Le téléchargement des fichiers générés par les assistants sera bientôt pris en charge.
-
Depuis le 19 mai 2024, la récupération (retrieval) et le streaming ne sont pas encore pris en charge via Azure OpenAI.
- Pour éviter toute erreur avec la récupération (retrieval) alors qu'elle n'est pas prise en charge, il est recommandé de désactiver complètement cette fonctionnalité via la configuration de l'endpoint
azureAssistants:
- Par défaut, toutes les fonctionnalités, à l'exception de la récupération (retrieval), sont activées.
- Pour éviter toute erreur avec la récupération (retrieval) alors qu'elle n'est pas prise en charge, il est recommandé de désactiver complètement cette fonctionnalité via la configuration de l'endpoint
Utilisation de plugins avec Azure
Pour utiliser l'endpoint Plugins avec Azure OpenAI, vous avez besoin d'un déploiement prenant en charge le function calling. Sinon, désactivez « Functions » dans les paramètres de l'Agent. Lorsque vous n'utilisez pas le mode « functions », il est également recommandé de désactiver « skip completion », qui est une étape de révision de ce que l'agent a généré.
Pour utiliser Azure avec le endpoint Plugins, assurez-vous que le champ plugins est défini sur true dans votre configuration de endpoint Azure OpenAI :
La configuration du champ plugins configurera les Plugins pour utiliser les modèles Azure.
REMARQUE : La configuration actuelle via librechat.yaml utilise le modèle principal que vous sélectionnez depuis l'interface pour l'utilisation des Plugins, ce qui n'est généralement pas le fonctionnement prévu sans Azure, où le modèle "Agent" est utilisé à la place. Le paramètre du modèle Agent peut être ignoré lors de l'utilisation de Plugins via Azure.
Utilisation d'une URL de base spécifiée avec Azure
L'URL de base pour les requêtes API Azure OpenAI peut être configurée dynamiquement. Ceci est utile pour les services de proxy tels que Cloudflare AI Gateway, ou si vous souhaitez remplacer explicitement la gestion de baseURL de l'application.
LibreChat utilisera le champ baseURL pour votre regroupement de modèles Azure, qui peut inclure des espaces réservés pour l'instance de l'API Azure OpenAI et les noms de déploiement.
Prise en charge du format de domaine de l'endpoint Azure
Azure OpenAI prend désormais en charge les deux formats de domaine d'endpoint :
- Nouveau format :
.cognitiveservices.azure.com - Format hérité :
.openai.azure.com
Lorsque vous utilisez instanceName sans domaine complet, le format hérité .openai.azure.com est appliqué par défaut. Si vous fournissez un domaine complet (par exemple, my-instance.cognitiveservices.azure.com), il sera utilisé tel quel. Cela s'applique à la fois aux champs instanceName et aux configurations baseURL.
Dans la configuration, la base URL peut être personnalisée comme suit :
REMARQUE : ${INSTANCE_NAME} et ${DEPLOYMENT_NAME} sont des espaces réservés uniques et ne correspondent pas à des variables d'environnement, mais plutôt au nom de l'instance et au nom du déploiement du modèle actuellement sélectionné. Il n'est pas recommandé d'utiliser INSTANCE_NAME et DEPLOYMENT_NAME comme noms de variables d'environnement afin d'éviter tout conflit potentiel.
Vous pouvez également omettre complètement les espaces réservés et simplement construire la baseURL avec vos identifiants :
Enfin, vous pouvez spécifier l'intégralité de la baseURL via une variable d'environnement personnalisée
Activation des titres générés automatiquement avec Azure
Pour activer la génération de titres pour Azure, définissez titleConvo sur true.
Vous pouvez également spécifier le modèle à utiliser pour la génération de titres, avec titleModel, à condition de l'avoir configuré dans votre ou vos groupes.
Note : "gpt-3.5-turbo" est la valeur par défaut, vous pouvez donc l'omettre si vous souhaitez utiliser ce modèle exact et qu'il est configuré. S'il n'est pas configuré et que titleConvo est défini sur true, le processus de titrage entraînera une erreur et aucun titre ne sera généré. Vous pouvez également le configurer pour utiliser dynamiquement le modèle actuel en le définissant sur current_model.
Utilisation de GPT-4 Vision avec Azure
Pour utiliser Vision (analyse d'image) avec Azure OpenAI, assurez-vous que gpt-4-vision-preview est un modèle spécifié dans l'un de vos regroupements.
Cela fonctionne de la même manière qu'avec l' endpoint OpenAI : il n'est pas nécessaire de sélectionner le modèle de vision, car il sera commuté en arrière-plan.
Générer des images avec Azure OpenAI Service (DALL-E)
| ID du modèle | Disponibilité des fonctionnalités | Requête max (caractères) |
|---|---|---|
| dalle2 | East US | 1000 |
| dalle3 | Sweden Central | 4000 |
- Vous devez d'abord créer une ressource Azure qui héberge DALL-E
- Au moment de la rédaction, dall-e-3 est disponible dans la région
SwedenCentral, et dall-e-2 dans la régionEastUS.
- Au moment de la rédaction, dall-e-3 est disponible dans la région
- Ensuite, vous devez déployer le modèle de génération d'images dans l'une des régions ci-dessus.
- Lisez le Guide de démarrage rapide de la génération d'images Azure OpenAI pour obtenir une assistance supplémentaire.
- Configurez vos variables d'environnement en fonction de vos identifiants Azure :
Les options de configuration de DALL-E :
DALL-E:
Clés API :
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE_API_KEY | string | La clé API OpenAI pour les services DALL-E 2 et DALL-E 3. | # DALLE_API_KEY= |
Clés API (spécifiques à la version) :
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE3_API_KEY | string | La clé API OpenAI pour DALL-E 3. | # DALLE3_API_KEY= |
| DALLE2_API_KEY | string | La clé API OpenAI pour DALL-E 2. | # DALLE2_API_KEY= |
Prompts système :
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE3_SYSTEM_PROMPT | string | Le prompt système pour DALL-E 3. | # DALLE3_SYSTEM_PROMPT="Your DALL-E-3 System Prompt here" |
| DALLE2_SYSTEM_PROMPT | string | Le prompt système pour DALL-E 2. | # DALLE2_SYSTEM_PROMPT="Your DALL-E-2 System Prompt here" |
Paramètres du Reverse Proxy :
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE_REVERSE_PROXY | string | L'URL du proxy inverse pour les requêtes de l'API DALL-E. | # DALLE_REVERSE_PROXY= |
URLs de base :
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE3_BASEURL | string | L'URL de base pour les endpoints de l'API DALL-E 3. Prend en charge les formats de domaine `.openai.azure.com` (hérité) et `.cognitiveservices.azure.com` (nouveau). | # DALLE3_BASEURL=https://<AZURE_OPENAI_API_INSTANCE_NAME>.openai.azure.com/openai/deployments/<DALLE3_DEPLOYMENT_NAME>/ # OR # DALLE3_BASEURL=https://<AZURE_OPENAI_API_INSTANCE_NAME>.cognitiveservices.azure.com/openai/deployments/<DALLE3_DEPLOYMENT_NAME>/ |
| DALLE2_BASEURL | string | L'URL de base pour les endpoints de l'API DALL-E 2. Prend en charge les formats de domaine `.openai.azure.com` (hérité) et `.cognitiveservices.azure.com` (nouveau). | # DALLE2_BASEURL=https://<AZURE_OPENAI_API_INSTANCE_NAME>.openai.azure.com/openai/deployments/<DALLE2_DEPLOYMENT_NAME>/ # OR # DALLE2_BASEURL=https://<AZURE_OPENAI_API_INSTANCE_NAME>.cognitiveservices.azure.com/openai/deployments/<DALLE2_DEPLOYMENT_NAME>/ |
Intégration Azure OpenAI (Optionnel) :
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE3_AZURE_API_VERSION | string | La version de l'API pour DALL-E 3 avec le service Azure OpenAI. | # DALLE3_AZURE_API_VERSION=the-api-version # e.g.: 2023-12-01-preview |
| DALLE2_AZURE_API_VERSION | string | La version de l'API pour DALL-E 2 avec le service Azure OpenAI. | # DALLE2_AZURE_API_VERSION=the-api-version # e.g.: 2023-12-01-preview |
Remplacez le texte fictif par des prompts ou des instructions réels, et fournissez vos clés API si vous choisissez de les inclure directement dans le fichier (il est recommandé de gérer les clés sensibles en dehors de la base de code). Examinez et respectez les politiques d'utilisation d'OpenAI lors de l'intégration de clés API dans un logiciel.
Remarque : si vous avez configuré PROXY, il sera également utilisé pour les appels DALL-E, ce qui est universel pour l'application.
Points de terminaison d'inférence Serverless
Via le fichier librechat.yaml, vous pouvez configurer les endpoints d'inférence serverless d'Azure AI Studio pour accéder aux modèles depuis Azure AI Foundry. Seuls un identifiant de modèle, une baseURL et une apiKey sont nécessaires, accompagnés du champ serverless pour indiquer le traitement spécial requis par ces endpoints.
-
Vous devrez suivre les instructions des fiches de modèles compatibles pour configurer l'accès MaaS ("Models as a Service") sur Azure AI Studio.
-
Pour référence, voici quelques fiches de modèles compatibles connues :
-
Mistral-large | Meta-Llama-3.1-8B-Instruct | Phi-3-medium-128k-instruct
-
-
Vous pouvez également consulter le blog technique sur la sortie du modèle "Mistral-large" pour plus d'informations.
-
Ensuite, vous devrez les ajouter à votre configuration
azureOpenAIdans le fichier librechat.yaml. -
Voici un exemple de configuration pour
Meta-Llama-3.1-8B-Instruct:
Notes :
- Les modèles Azure AI Foundry provisionnent désormais des endpoints sous
/models/chat/completions?api-version=versionpour l'inférence sans serveur (serverless).- Le champ
baseURLdoit être défini sur la racine de l'endpoint, sans rien après/models/, c'est-à-dire le chemin/chat/completions. - Exemple :
https://example.services.ai.azure.com/models/pourhttps://example.services.ai.azure.com/models/chat/completions?api-version=2024-05-01-preview - Le paramètre de requête
versionest facultatif et peut être spécifié dans le champbaseURL.
- Le champ
- Le nom du modèle utilisé dans le champ
modelsdoit correspondre au nom du déploiement du modèle dans Azure AI Foundry. - La compatibilité avec LibreChat repose sur la parité avec les spécifications de l'API OpenAI, qui, au moment de la rédaction, sont généralement des déploiements "Pay-as-you-go" ou "Models as a Service" (MaaS) sur Azure AI Studio, compatibles avec le SDK OpenAI et gérant soit le endpoint
v1/completions, soitmodels/chat/completions. - Tous les modèles proposant des déploiements sans serveur (« Serverless APIs ») sont compatibles depuis le catalogue de modèles Azure. Vous pouvez filtrer par « Serverless API » sous les options de déploiement et « Chat completion » sous les tâches d'inférence pour voir la liste complète ; cependant, les modèles de point de terminaison en temps réel n'ont pas été testés.
- Ces endpoint/modèles d'inférence serverless peuvent ou non prendre en charge l'appel de fonction selon les spécifications de l'API OpenAI, ce qui permet leur utilisation avec des Agents.
Que pensez-vous de ce guide ?