Le déploiement des modèles DeepSeek nécessite de configurer l'environnement de calcul, de charger le modèle et d'optimiser l'inférence. PAI Model Gallery prend en charge le déploiement en un clic. En quelques étapes, obtenez un service de modèle compatible avec l'API OpenAI et intégrez-le rapidement à vos applications.
Architecture de la solution
Composants principaux
La solution s'appuie sur la plateforme PAI et comprend les composants principaux suivants :
Model Gallery : point d'entrée pour la distribution et le déploiement des modèles, fournissant des modèles DeepSeek prédéfinis ainsi que des configurations de déploiement.
Elastic Algorithm Service (EAS) : service central qui héberge le déploiement et l'inférence des modèles. Il gère automatiquement les ressources de calcul sous-jacentes, telles que les GPU, et lance les instances de service de modèle.
-
Moteurs d'accélération de l'inférence (SGLang/vLLM/BladeLLM) : optimisent les performances d'inférence des modèles.
SGLang/vLLM : fournit des interfaces entièrement compatibles avec l'API OpenAI, facilitant la migration des applications existantes.
BladeLLM : framework d'inférence haute performance développé en interne, offrant de meilleures performances dans des scénarios spécifiques.
Passerelle API : offre un canal sécurisé pour accéder aux services de modèle. Appelez les services à l'aide du endpoint du service et d'un token.
Méthode de déploiement
Pour les grands modèles, outre le déploiement sur nœud unique, Model Gallery propose également des solutions de déploiement en un clic telles que le déploiement distribué et la séparation EP+PD.
Par exemple, DeepSeek-V4-Pro-FP8 et DeepSeek-V4-Flash-FP8 peuvent tous deux être déployés à l'aide de la méthode de séparation EP+PD.
Déploiement rapide et validation
Étape 1 : Déployer le service de modèle
Connectez-vous à la console PAI et sélectionnez la région cible dans le coin supérieur gauche. Dans le volet de navigation de gauche, accédez à Workspaces et sélectionnez l'espace de travail cible.
Dans l'espace de travail, accédez à QuickStart > Model Gallery.
Recherchez et sélectionnez le modèle cible dans la liste des modèles, par exemple
DeepSeek-R1-Distill-Qwen-7B, puis cliquez sur la carte du modèle pour accéder à la page des détails.-
Cliquez sur Deploy dans le coin supérieur droit de la page et configurez les paramètres suivants.
Deployment Template : par défaut, le type de carte est A10, le moteur d'inférence est SGLang, la méthode de déploiement est sur nœud unique et le scénario de déploiement est équilibré.
-
Deployment Resource : sélectionnez des ressources publiques ou dédiées, puis choisissez une spécification GPU appropriée en fonction des exigences du modèle.
-
Par défaut, les ressources publiques sont utilisées et une spécification recommandée est fournie. Si aucune spécification n'est disponible, essayez de changer de région.
ImportantLors d'un déploiement utilisant des ressources publiques, la facturation commence dès le provisionnement de l'instance. Les frais sont basés sur la durée d'utilisation, même en l'absence d'appels. Arrêtez le service rapidement après les tests.
Si vous sélectionnez Resource Quota, veillez à choisir un moteur d'inférence et un modèle de déploiement correspondants en fonction du type d'instance. Par exemple, si vous utilisez Zhenwu PPU, vous pouvez sélectionner SGLang comme moteur d'inférence et PPU-810E comme type de carte dans le modèle de déploiement.
Un exemple de spécification GPU recommandée est
ecs.gn7i-c16g1.4xlarge(16 vCPU, 60 GiB, 1 × NVIDIA A10), dont le coût est d'environ 11,1 CNY par heure. -
-
Une fois toutes les configurations vérifiées, cliquez sur Deploy. Le système commence à créer le service.
RemarquePour un grand modèle, tel que la version complète de DeepSeek-R1, le chargement du modèle peut prendre de 20 à 30 minutes.
-
Consultez l'état de la tâche de déploiement sur la page Model Gallery > Job Management > Deployment Jobs. Cliquez sur un nom de service pour accéder à la page des détails du service. Vous pouvez également cliquer sur dans le coin supérieur droit pour accéder à la page des détails du service de modèle dans PAI-EAS et obtenir plus d'informations.
Sur la page des détails du service, cliquez sur View Deployment Events à côté du champ Status pour plus de détails, et sur View Call Information dans le champ Call Information pour obtenir le endpoint du service et le token. Vous pouvez également choisir Elastic Algorithm Service (EAS) dans le volet de navigation de gauche pour accéder à la page de gestion des services EAS.
Étape 2 : Débogage en ligne
Sur la page Model Gallery > Job Management > Deployment Jobs, cliquez sur le nom du service déployé et basculez vers l'onglet Online Debugging, qui prend en charge à la fois le Conversation Debugging et le API Debugging.
Les recommandations d'utilisation officielles pour la série de modèles DeepSeek-R1 sont les suivantes :
Définissez la température sur une valeur comprise entre 0,5 et 0,7. La valeur recommandée est 0,6 afin d'éviter les sorties répétitives ou incohérentes.
N'ajoutez pas de prompt système. Placez toutes les instructions dans le prompt utilisateur.
Pour les questions liées aux mathématiques, incluez « Please reason step by step and put the final answer in a \boxed{}. » dans le prompt.
Si seule la page de débogage API est disponible, l'exemple suivant montre comment déboguer l'API chat d'un service de grand modèle de langage (LLM) :
-
Définir la méthode et le chemin de la requête : dans l'onglet de débogage, sélectionnez
POSTcomme méthode HTTP et ajoutez/v1/chat/completionsà l'adresse pour former l'URL de requête complète<EAS_ENDPOINT>/v1/chat/completions. Dans l'URL,<EAS_ENDPOINT>représente le endpoint du service, généralement prérempli. Le format standard esthttp://<uid>.<region-id>.pai-eas.aliyuncs.com/api/predict/<service-name>.Pour les services déployés avec SGLang/vLLM, vous pouvez trouver davantage d'API prises en charge à l'adresse
<EAS_ENDPOINT>/openapi.json. -
Construire le corps de la requête.
Si le prompt est « What is 3 + 5? », le corps de la requête est formaté comme suit.
La valeur du paramètre model correspond au nom du modèle obtenu via l'API de liste des modèles
<EAS_ENDPOINT>/v1/models. Cet exemple utilise DeepSeek-R1-Distill-Qwen-7B.Dans la section Body, sélectionnez raw et saisissez le corps de requête JSON suivant :
{ "model": "DeepSeek-R1-Distill-Qwen-7B", "messages": [ { "role": "user", "content": "What is 3 + 5?" } ] } -
Envoyer la requête.
Cliquez sur Send Request. La section Response à droite affiche le code d'état 200, et la section Body présente la réponse du modèle au format JSON.
Appel API
-
Obtenez le endpoint du service et le token.
Sur la page Model Gallery > Job Management > Deployment Jobs, cliquez sur le nom du service déployé pour accéder à la page des détails du service.
Cliquez sur View Call Information pour obtenir le endpoint et le token utilisés pour appeler le service.
-
Voici un exemple d'appel de l'API chat.
Remplacez <EAS_ENDPOINT> par le endpoint du service et <EAS_TOKEN> par le token du service.
OpenAI SDK
Notes :
Vous devez ajouter /v1 au endpoint.
Le déploiement accéléré BladeLLM ne prend pas actuellement en charge l'utilisation de client.models.list() pour obtenir la liste des modèles. Vous pouvez définir la valeur de model sur "" pour assurer la compatibilité.
Déploiement accéléré SGLang/vLLM
from openai import OpenAI # 1. Configure the client # Replace <<EAS_ENDPOINT> and <EAS_TOKEN> with the actual service access address and Token. openai_api_key = "<EAS_TOKEN>" openai_api_base = "<EAS_ENDPOINT>/v1" client = OpenAI( api_key=openai_api_key, base_url=openai_api_base, ) # 2. Get the model name try: model = client.models.list().data[0].id print(model) except Exception as e: print(f"Failed to get the model list. Check the Endpoint and Token. Error: {e}") # 3. Construct and send the request stream = True chat_completion = client.chat.completions.create( messages=[ {"role": "user", "content": "Hello, please introduce yourself."} ], model=model, max_tokens=2048, stream=stream, ) if stream: for chunk in chat_completion: print(chunk.choices[0].delta.content, end="") else: result = chat_completion.choices[0].message.content print(result)Déploiement accéléré BladeLLM
from openai import OpenAI ##### API Configuration ##### # Replace <EAS_ENDPOINT> with the access address of the deployed service, and <EAS_TOKEN> with the Token of the deployed service. openai_api_key = "<EAS_TOKEN>" openai_api_base = "<EAS_ENDPOINT>/v1" client = OpenAI( api_key=openai_api_key, base_url=openai_api_base, ) # BladeLLM accelerated deployment currently does not support retrieving the model name via client.models.list(). You can directly set the value of model to "" for compatibility. model="" stream = True chat_completion = client.chat.completions.create( messages=[ {"role": "user", "content": "Hello, please introduce yourself."} ], model=model, max_tokens=2048, stream=stream, ) if stream: for chunk in chat_completion: print(chunk.choices[0].delta.content, end="") else: result = chat_completion.choices[0].message.content print(result)HTTP
Déploiement accéléré SGLang/vLLM
Remplacez <model_name> par le nom du modèle obtenu via l'API de liste des modèles
<EAS_ENDPOINT>/v1/models.curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: <EAS_TOKEN>" \ -d '{ "model": "<model_name>", "messages": [ { "role": "user", "content": "hello!" } ] }' \ <EAS_ENDPOINT>/v1/chat/completionsimport json import requests # Replace <EAS_ENDPOINT> with the access address of the deployed service, and <EAS_TOKEN> with the Token of the deployed service. EAS_ENDPOINT = "<EAS_ENDPOINT>" EAS_TOKEN = "<EAS_TOKEN>" url = f"{EAS_ENDPOINT}/v1/chat/completions" headers = { "Content-Type": "application/json", "Authorization": EAS_TOKEN, } # Replace <model_name> with the model name obtained from the model list API <EAS_ENDPOINT>/v1/models. model = "<model_name>" stream = True messages = [ {"role": "user", "content": "Hello, please introduce yourself."}, ] req = { "messages": messages, "stream": stream, "temperature": 0.6, "top_p": 0.5, "top_k": 10, "max_tokens": 300, "model": model, } response = requests.post( url, json=req, headers=headers, stream=stream, ) if stream: for chunk in response.iter_lines(chunk_size=8192, decode_unicode=False): msg = chunk.decode("utf-8") if msg.startswith("data"): info = msg[6:] if info == "[DONE]": break else: resp = json.loads(info) print(resp["choices"][0]["delta"]["content"], end="", flush=True) else: resp = json.loads(response.text) print(resp["choices"][0]["message"]["content"])Déploiement accéléré BladeLLM
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: <EAS_TOKEN>" \ -d '{ "messages": [ { "role": "user", "content": "hello!" } ] }' \ <EAS_ENDPOINT>/v1/chat/completionsimport json import requests # Replace <EAS_ENDPOINT> with the access address of the deployed service, and <EAS_TOKEN> with the Token of the deployed service. EAS_ENDPOINT = "<EAS_ENDPOINT>" EAS_TOKEN = "<EAS_TOKEN>" url = f"{EAS_ENDPOINT}/v1/chat/completions" headers = { "Content-Type": "application/json", "Authorization": EAS_TOKEN, } stream = True messages = [ {"role": "user", "content": "Hello, please introduce yourself."}, ] # With BladeLLM accelerated deployment, if the max_tokens parameter is not specified, the output is truncated at max_tokens=16 by default. We recommend that you adjust the max_tokens request parameter based on your actual needs. req = { "messages": messages, "stream": stream, "temperature": 0.6, "top_p": 0.5, "top_k": 10, "max_tokens": 300, } response = requests.post( url, json=req, headers=headers, stream=stream, ) if stream: for chunk in response.iter_lines(chunk_size=8192, decode_unicode=False): msg = chunk.decode("utf-8") if msg.startswith("data"): info = msg[6:] if info == "[DONE]": break else: resp = json.loads(info) if resp["choices"][0]["delta"].get("content") is not None: print(resp["choices"][0]["delta"]["content"], end="", flush=True) else: resp = json.loads(response.text) print(resp["choices"][0]["message"]["content"]) -
La méthode d'appel varie selon le modèle et le framework de déploiement. Pour plus d'informations, consultez la page de présentation du modèle dans Model Gallery.
Par exemple, la page model introduction de DeepSeek-R1-Distill-Qwen-7B dans Model Gallery spécifie les exigences en matière de ressources pour le déploiement accéléré BladeLLM (24 Go de mémoire GPU sont requis, et seules les familles d'instances ecs.gn7 et ultérieures sont prises en charge), indique que le modèle est compatible avec les API OpenAI
v1/completionsetv1/chat/completions, et fournit des exemples d'appels utilisant des commandes curl et des scripts Python.
Intégration tierce
Pour vous connecter à Chatbox, Dify ou Cherry Studio, consultez la section Intégrer des clients tiers.
Interface Web UI locale
Consultez la section Créer une interface Web UI locale.
Nettoyage des ressources
Lors d'un déploiement utilisant des ressources publiques, la facturation commence dès le provisionnement de l'instance et est basée sur la durée d'utilisation, les heures partielles étant proratisées à la minute. Arrêtez ou supprimez l'instance rapidement après utilisation.
Revenez à la page Task Management > Deployment Tasks.
-
Repérez le service que vous souhaitez arrêter et cliquez sur Stop ou Delete dans la colonne Actions.
Stop : l'instance de service est libérée et la facturation s'arrête, mais la configuration du service est conservée et le service peut être redémarré ultérieurement.
Delete : la configuration du service et l'instance sont supprimées définitivement.
Sélection du modèle et des ressources
Le modèle sélectionné détermine les ressources de calcul requises et les coûts de déploiement. Les modèles DeepSeek sont divisés en modèles en version complète et en versions distillées, qui diffèrent considérablement en termes d'exigences en ressources.
Développement et test : nous vous recommandons d'utiliser un modèle en version distillée, tel que
DeepSeek-R1-Distill-Qwen-7B. Ces modèles ont des exigences en ressources faibles (généralement un seul GPU avec 24 Go de mémoire GPU), peuvent être déployés rapidement à faible coût et conviennent à la validation rapide des fonctionnalités.Environnements de production : évaluez à la fois les performances du modèle et le coût.
DeepSeek-R1-Distill-Qwen-32Boffre un bon équilibre entre performances et coût. Si vous avez besoin de performances de modèle supérieures, vous pouvez opter pour un modèle en version complète, mais ces derniers nécessitent plusieurs GPU haut de gamme (par exemple, 8 GPU avec 96 Go de mémoire GPU chacun) et augmentent considérablement les coûts.
Le tableau suivant répertorie les configurations minimales requises pour différentes versions de modèles ainsi que le nombre maximal de tokens pris en charge lors de l'utilisation de différents types d'instances et moteurs d'inférence.
Modèles en version complète
|
Modèle |
Méthode de déploiement |
Nombre maximal de tokens (entrée + sortie) |
Configuration minimale |
|
|
SGLang (recommandé) |
vLLM |
|||
|
DeepSeek-V4-Pro |
Nœud unique/Distribué |
1M |
1M |
Nœud unique avec 8 × H20-3e (8 × 141 Go de mémoire GPU) |
|
DeepSeek-V4-Flash |
Nœud unique |
1M |
1M |
Nœud unique avec 8 × H20-3e (8 × 141 Go de mémoire GPU) |
|
DeepSeek-V4-Pro-FP8 |
Nœud unique/Séparation PD |
1M |
/ |
Nœud unique avec 8 × H20-3e (8 × 141 Go de mémoire GPU) |
|
DeepSeek-V4-Flash-FP8 |
Nœud unique/Séparation PD |
1M |
/ |
Nœud unique avec 4 × H20-3e (4 × 141 Go de mémoire GPU) |
|
DeepSeek-V3 |
Nœud unique - GPU NVIDIA |
56 000 |
65 536 |
Nœud unique 8 × GU120 (8 × 96 Go de mémoire GPU) |
|
Nœud unique - Zhenwu PPU |
56 000 |
16 384 |
||
|
Distribué - Service de calcul intelligent PAI Lingjun |
163 840 |
163 840 |
||
|
DeepSeek-R1 |
Nœud unique - GPU NVIDIA |
56 000 |
65 536 |
Nœud unique 8 × GU120 (8 × 96 Go de mémoire GPU) |
|
Nœud unique - Zhenwu PPU |
56 000 |
16 384 |
||
|
Distribué - Service de calcul intelligent PAI Lingjun |
163 840 |
163 840 |
||
Notes sur le type d'instance pour le déploiement sur nœud unique :
-
GPU NVIDIA :
ml.gu8v.c192m1024.8-gu120etecs.gn8v-8x.48xlarge: disponibles en tant que ressources publiques, mais leur inventaire peut être limité.ecs.ebmgn8v.48xlarge: ne peut pas être utilisé en tant que ressource publique. Vous devez acheter des ressources EAS dédiées.
Zhenwu PPU :
ml.gp7vf.16.40xlargeest une ressource publique et ne peut être utilisée qu'en mode preemptible. Si les ressources GPU NVIDIA sont rares, vous pouvez passer à la région Chine (Ulanqab) pour trouver des ressources Zhenwu PPU. Vous devez configurer un VPC lors du déploiement.
Notes sur le type d'instance pour le déploiement distribué (recommandé lorsque des performances élevées sont requises) :
Le déploiement distribué repose sur un réseau haut débit. Par conséquent, vous devez utiliser le Service de calcul intelligent PAI Lingjun, qui fournit une puissance de calcul hétérogène élastique et haute performance, et configurer un VPC lors du déploiement. Pour utiliser le Service de calcul intelligent PAI Lingjun, basculez la région vers Chine (Ulanqab).
-
Ressources publiques Lingjun :
ml.gu7xf.8xlarge-gu108: nécessite quatre machines pour un déploiement à instance unique et ne peut être utilisé qu'en mode preemptible.Zhenwu PPU : nécessite deux machines pour un déploiement à instance unique.
Ressources prépayées Lingjun : vous devez être ajouté à une liste blanche pour utiliser ces ressources. Contactez votre responsable commercial ou soumettez un ticket pour consultation.
Modèles en version distillée
|
Modèle |
Nombre maximal de tokens (entrée + sortie) |
Configuration minimale |
||
|
SGLang (recommandé) |
vLLM |
BladeLLM |
||
|
DeepSeek-R1-Distill-Qwen-1,5B |
131 072 |
131 072 |
131 072 |
1 × GPU A10 (24 Go de mémoire GPU) |
|
DeepSeek-R1-Distill-Qwen-7B |
131 072 |
32 768 |
131 072 |
1 × GPU A10 (24 Go de mémoire GPU) |
|
DeepSeek-R1-Distill-Llama-8B |
131 072 |
32 768 |
131 072 |
1 × GPU A10 (24 Go de mémoire GPU) |
|
DeepSeek-R1-Distill-Qwen-14B |
131 072 |
32 768 |
131 072 |
1 × GPU L (48 Go de mémoire GPU) |
|
DeepSeek-R1-Distill-Qwen-32B |
131 072 |
32 768 |
131 072 |
2 × GPU L (2 × 48 Go de mémoire GPU) |
|
DeepSeek-R1-Distill-Llama-70B |
131 072 |
32 768 |
131 072 |
2 × GU120 (2 × 96 Go de mémoire GPU) |
DeepSeek-R1-0528-Qwen3-8B : un modèle distillé à partir de DeepSeek-R1 vers Qwen3-8B avec 8 milliards de paramètres. Il prend uniquement en charge le déploiement et ne permet pas le fine-tuning ni l'entraînement.
Modèles optimisés par PAI
Model Gallery propose le déploiement en un clic des modèles DeepSeek optimisés par PAI suivants :
DeepSeek-R1-PAI-optimized
DeepSeek-R1-0528-PAI-optimized
DeepSeek-V3-0324-PAI-optimized
Coûts et risques
Détail des coûts
Pour les services utilisant des ressources publiques, la facturation est calculée à la minute, à partir du moment où une instance est provisionnée jusqu'à ce qu'elle soit arrêtée ou supprimée. Les factures sont réglées toutes les heures. Des frais s'accumulent même lorsque le service est inactif. L'arrêt du service interrompt la facturation.
Pour plus d'informations, consultez la section Facturation d'Elastic Algorithm Service (EAS).
Contrôle des coûts
Nettoyer rapidement : après le développement et les tests, arrêtez ou supprimez immédiatement le service pour maîtriser les coûts.
Sélectionner un modèle approprié : dans les environnements hors production, privilégiez les modèles en version distillée moins coûteux.
Utiliser des ressources preemptibles : pour les tâches hors production, vous pouvez activer le mode preemptible lors du déploiement. Notez que certaines conditions doivent être remplies pour que l'enchère aboutisse et qu'il existe un risque d'instabilité des ressources.
Réductions pour usage à long terme : pour les services de production fonctionnant en continu, vous pouvez réduire les coûts en achetant un plan d'économies ou des ressources prépayées.
Principaux risques
Coûts imprévus : oublier d'arrêter le service entraîne une facturation continue. Nettoyez toujours les ressources immédiatement après utilisation.
Troncature de la sortie BladeLLM : lorsque vous utilisez le moteur BladeLLM, si
max_tokensn'est pas spécifié dans la requête API, la sortie est tronquée à 16 tokens, ce qui peut empêcher la fonctionnalité de fonctionner comme prévu.-
Utilisation incorrecte de l'API :
Lorsque vous appelez un modèle de la série DeepSeek-R1, l'inclusion d'un prompt
systemdansmessagespeut provoquer un comportement inattendu.L'URL de la requête API doit se terminer par un chemin tel que
/v1/chat/completions. Sinon, une erreur 404 est renvoyée.
Inventaire des ressources : lors du déploiement de grands modèles (en particulier les modèles en version complète), l'inventaire des ressources GPU haut de gamme dans certaines régions peut être tendu, entraînant des échecs de déploiement ou de longs temps d'attente. Vous pouvez essayer de changer de région.
FAQ sur le déploiement des modèles
Choisir un moteur d'inférence
Recommandé SGLang : il offre des performances élevées, est entièrement compatible avec la norme API OpenAI, s'adapte aux écosystèmes d'applications grand public et prend en charge une longueur de contexte maximale plus longue que vLLM dans la plupart des scénarios.
Alternative vLLM : en tant que framework populaire dans l'industrie, il offre également une bonne compatibilité API.
Pour des scénarios spécifiques BladeLLM : choisissez BladeLLM, le framework d'inférence haute performance développé indépendamment par Alibaba Cloud PAI, uniquement si vous exigez des performances d'inférence supérieures et pouvez accepter les différences entre ses API et la norme OpenAI (par exemple,
client.models.list()n'est pas pris en charge et le paramètremax_tokensprésente un comportement de troncature par défaut).
Service bloqué en attente
Causes possibles :
Ressources machine insuffisantes dans la région actuelle.
Le chargement du modèle prend beaucoup de temps en raison de la taille importante du modèle (20 à 30 minutes pour des modèles tels que DeepSeek-R1 et DeepSeek-V3).
Patientez un moment. Si le service ne démarre toujours pas comme prévu, nous vous recommandons d'essayer les étapes suivantes :
-
Accédez à Job Management-Deployment Jobs pour ouvrir la page des détails de la tâche de déploiement. Cliquez sur dans le coin supérieur droit de la page pour accéder à la page des détails du service de modèle dans PAI-EAS et consulter l'état de l'instance de service.
Si la colonne Instance Status affiche Insufficient Inventory, cela signifie que l'instance ne peut pas être planifiée en raison de ressources insuffisantes.
-
Arrêtez le service actuel, changez de région dans le coin supérieur gauche de la console et redéployez le service.
RemarqueLes modèles comportant un nombre extrêmement élevé de paramètres, tels que DeepSeek-R1 et DeepSeek-V3, nécessitent 8 GPU pour démarrer le service (l'inventaire des ressources est tendu). Vous pouvez choisir de déployer des modèles distillés plus petits, tels que DeepSeek-R1-Distill-Qwen-7B (l'inventaire des ressources est abondant).
FAQ sur l'appel des modèles
L'appel API renvoie une erreur 404
Vérifiez si un suffixe API OpenAI, tel que v1/chat/completions, a été ajouté à l'URL. Pour plus d'informations, consultez les instructions d'appel API sur la page de présentation du modèle.
Si vous utilisez un déploiement accéléré vLLM, vérifiez que le paramètre model dans le corps de la requête de l'API chat est défini sur le nom de modèle correct. Vous pouvez obtenir le nom du modèle à partir de v1/models.
Délai d'expiration de la requête
Le délai d'expiration par défaut des requêtes de passerelle pour les déploiements est de 180 secondes. Pour l'étendre, vous pouvez configurer une passerelle dédiée et soumettre un ticket afin d'ajuster le délai d'expiration des requêtes de la passerelle dédiée. Le délai peut être étendu jusqu'à 600 secondes.
Absence de fonctionnalité « web search »
La fonctionnalité « web search » n'est pas activée par le simple déploiement du service de modèle ; elle nécessite la création d'une application IA distincte (agent) par-dessus le service.
Le modèle ignore le processus de réflexion
Si le modèle DeepSeek-R1 ignore parfois le processus de réflexion, utilisez le modèle de chat mis à jour de DeepSeek qui force la réflexion :
-
Modifier la commande de démarrage.
Dans la configuration du service, modifiez la configuration JSON et ajustez le champ containers-script pour ajouter « --chat-template /model_dir/template_force_thinking.jinja » (vous pouvez l'ajouter après « --served-model-name DeepSeek-R1 »).
Pour un service déjà déployé, accédez à Model Gallery > Job Management > Deployment Jobs, cliquez sur le nom du service déployé, puis cliquez sur Update service dans le coin supérieur droit de la page des détails pour accéder à la page de configuration.
Modifier le corps de la requête. Dans chaque requête, ajoutez {"role": "assistant", "content": "<think>\n"} à la fin du message.
Désactivation du mode de réflexion
Les modèles de la série DeepSeek-R1 ne prennent pas actuellement en charge la désactivation du processus de réflexion.
Conversations multi-tours
Le service de modèle ne sauvegarde pas l'historique des conversations. Le client doit stocker l'historique des conversations et l'ajouter aux requêtes envoyées au modèle. L'exemple suivant concerne un service déployé avec SGLang.
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: <EAS_TOKEN>" \
-d '{
"model": "<model_name>",
"messages": [
{
"role": "user",
"content": "Hello"
},
{
"role": "assistant",
"content": "Hello! Nice to meet you. How can I help you?"
},
{
"role": "user",
"content": "What was my previous question?"
}
]
}' \
<EAS_ENDPOINT>/v1/chat/completions