Tous les produits
Search
Centre de documentation

Platform For AI:Invoquer un service via une passerelle partagée (point de terminaison public/VPC)

Dernière mise à jour :Aug 09, 2026

Une fois le service EAS déployé, une passerelle partagée est fournie par défaut. Utilisez cette passerelle pour invoquer le service d'inférence de modèle déployé via un point de terminaison Internet ou un point de terminaison VPC.

Important

Nous recommandons d'utiliser une passerelle partagée pour les environnements de développement et de test. Pour les environnements de production, utilisez une passerelle dédiée.

Choisir une adresse d'invocation

Une fois la passerelle partagée déployée, deux types d'adresses d'invocation sont disponibles par défaut :

Adresse d'invocation

Description

Cas d'utilisation

Internet Endpoint

La passerelle partagée EAS transfère les requêtes vers le service cible. Cette méthode convient à tout environnement disposant d'un accès à Internet public.

  • Invocation depuis l'extérieur d'Alibaba Cloud

  • Développement et tests locaux

VPC Endpoint

Convient aux scénarios où votre application et le service EAS sont déployés dans la même région.

Important

Par rapport à l'invocation via Internet public, l'invocation VPC offre une latence plus faible en évitant la surcharge du réseau public. Elle est également plus économique, car le trafic au sein d'un VPC est généralement gratuit.

  • Invocation depuis Alibaba Cloud (dans la même région que le service EAS)

  • Réduction de la latence et des coûts

  • Éviter l'exposition des services à Internet public

Si votre application et le service EAS se trouvent dans des régions différentes, vous ne pouvez pas utiliser l'adresse VPC de la passerelle partagée pour accéder au service, même si les VPC sont connectés. Dans ce cas, accédez au service uniquement via l'adresse IP et le port de l'instance. Toutefois, comme l'adresse IP change lors du redémarrage ou de la mise à jour du service, nous recommandons d'utiliser une passerelle dédiée.

Invoquer le service

Étape 1 : Obtenir le point de terminaison et le jeton

Après le déploiement d'un service, le système génère automatiquement un point de terminaison et un jeton d'autorisation.

Important

La console fournit le point de terminaison de base. Lorsque vous construisez l'URL complète de la requête, vous devez ajouter le chemin d'API correct à ce point de terminaison de base. Un chemin incorrect est la cause la plus fréquente des erreurs 404 Not Found.

  1. Dans l'onglet Inference Service, cliquez sur le nom du service cible pour accéder à la page Overview.

  2. Dans la section Basic Information, cliquez sur View Endpoint Information.

  3. Dans le panneau Invocation Method, copiez le point de terminaison et le jeton :

    • Selon vos besoins, sélectionnez Internet Endpoint ou VPC Endpoint.

    • Les exemples suivants utilisent <EAS_ENDPOINT> comme espace réservé pour le point de terminaison et <EAS_TOKEN> comme espace réservé pour le jeton.

    Cliquez sur View Endpoint Information pour ouvrir le panneau. Le panneau propose deux onglets : Shared Gateway et VPC High-Speed Direct Connection. L'adresse du réseau public, l'adresse VPC et le jeton se trouvent sous l'onglet Shared Gateway.

Étape 2 : Construire et envoyer la requête

Le format de la requête est identique, que vous utilisiez un Internet Endpoint ou un VPC Endpoint. Une requête standard comprend les éléments suivants :

Élément

Description

Méthode

Les méthodes les plus courantes sont POST et GET.

Chemin de la requête (URL)

Format : <EAS_ENDPOINT> + chemin de l'API. Exemple : http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test/v1/chat/completions

Autorisation (obligatoire)

Authorization: <EAS_TOKEN>, utilisé pour l'authentification.

Content-Type

Content-Type: application/json, généralement requis pour les requêtes POST.

Corps de la requête

La spécification de l'API du modèle déployé détermine le format. La taille du corps de la requête ne peut pas dépasser 1 Mo lorsqu'elle est envoyée via une passerelle.

Exemple d'invocation

L'exemple suivant montre comment invoquer le service de modèle DeepSeek-R1-Distill-Qwen-7B déployé avec vLLM. Supposons que <EAS_ENDPOINT> corresponde à http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test.

Corps de la requête :

{
    "model": "DeepSeek-R1-Distill-Qwen-7B",
    "messages": [
    {
        "role": "system",
        "content": "You are a helpful assistant."
    },
    {
        "role": "user",
        "content": "hello!"
    }
    ]
}

Exemple de code :

curl http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: *********5ZTM1ZDczg5OT**********" \
-X POST \
-d '{
    "model": "DeepSeek-R1-Distill-Qwen-7B",
    "messages": [
    {
        "role": "system",
        "content": "You are a helpful assistant."
    },
    {
        "role": "user",
        "content": "hello!"
    }
    ]
}' 
import requests

# Replace with your actual endpoint.
url = 'http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test/v1/chat/completions'
# The value of Authorization in the header is your actual token.
headers = {
    "Content-Type": "application/json",
    "Authorization": "*********5ZTM1ZDczg5OT**********",
}
# Construct the service request based on the data format required by the specific model.
data = {
    "model": "DeepSeek-R1-Distill-Qwen-7B",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "hello!"
        }
    ]
}
# Send the request.
resp = requests.post(url, json=data, headers=headers)
print(resp)
print(resp.content)

Pour plus d'informations sur l'invocation des services de grands modèles de langage (LLM), consultez Invocation de service LLM.

Autres scénarios de déploiement

  • Modèles déployés depuis Model Gallery : La page Overview du modèle fournit généralement des exemples d'invocation d'API, y compris le chemin d'URL complet et le format de la requête.

    Commande cURL

    Paramètres courants :

    Paramètre

    Description

    Exemple

    -X

    Spécifie la méthode HTTP.

    -X POST

    -H

    Ajoute un en-tête de requête.

    -H "Content-Type: application/json"

    -d

    Ajoute un corps de requête.

    -d '{"key": "value"}'

    Exemple d'appel d'API Chat : envoyez une requête POST vers <EAS_ENDPOINT>/v1/chat/completions avec les en-têtes suivants : Content-Type: application/json et Authorization: <EAS_TOKEN>. La structure du corps de la requête JSON est la suivante :

    • model : le nom du modèle, qui peut être récupéré via l'API /v1/models.

    • messages : un tableau de messages contenant un rôle system (exemple de contenu : You are a helpful assistant.) et un rôle user (exemple de contenu : Hello!).

    Code Python

    L'exemple suivant utilise le modèle Qwen3-Reranker-8B pour montrer comment invoquer le service avec du code Python. Notez que son URL et son corps de requête diffèrent de l'exemple cURL. Suivez toujours les instructions figurant sur la page Overview du modèle.

    Le code Python contient les configurations clés suivantes : définissez url sur EAS_ENDPOINT/v1/rerank et configurez Authorization et Content-Type dans headers. Définissez les chaînes de modèle prefix, suffix, query_template et document_template (contenant les jetons spéciaux im_start/im_end). Construisez le corps de la requête data avec le champ model (valeur : Qwen3-Reranker-8B), query et les champs documents (les documents d'exemple incluent « The capital of China is Beijing »). Enfin, dans la fonction main(), envoyez une requête POST en utilisant requests.post(url, headers=headers, json=data) et affichez le résultat renvoyé.

  • Déploiements basés sur des scénarios :

  • Services déployés avec un processeur générique (tel que TensorFlow, Caffe et PMML) : consultez Construire une requête de service basée sur un processeur générique.

  • Autres services personnalisés : le format de la requête est déterminé par le format d'entrée des données défini dans votre image ou votre code personnalisé.

  • Modèles auto-entraînés : la méthode d'invocation est identique à celle du modèle d'origine.

FAQ

Pour les problèmes courants et les solutions liés à l'invocation de service, consultez FAQ sur l'invocation de service.