Tous les produits
Search
Centre de documentation

MaxCompute:AI_EXTRACT

Dernière mise à jour :Aug 10, 2026

AI_EXTRACT est une fonction d'IA MaxCompute qui sollicite un modèle pour extraire des informations spécifiques d'un texte selon une liste de libellés.

Syntaxe

STRING AI_EXTRACT(
  STRING <model_name>,
  STRING <version_name>,
  STRING <input>,
  ARRAY<STRING> <labels>
  [, STRING <model_parameters>]
);

Paramètres

  • model_name : Obligatoire. Type STRING. Nom du modèle à utiliser. Pour plus d'informations, consultez la rubrique Fonction SQL AI.

  • version_name : Obligatoire. Type STRING. Nom de la version du modèle à utiliser. Pour utiliser la version par défaut, spécifiez DEFAULT_VERSION.

  • input : Obligatoire. Type STRING. Texte dont il faut extraire les informations.

  • labels : Obligatoire. Type de données : ARRAY<STRING>. Liste des libellés à extraire. Le nombre de libellés doit être compris entre 1 et 20.

  • model_parameters : Facultatif. Type STRING. Définit les paramètres du modèle, tels que max_tokens, temperature et top_p. Le format attendu est une chaîne JSON :

    '{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}'.

    • max_tokens : Nombre maximal de jetons à générer lors d'un seul appel au modèle. Pour les modèles publics MaxCompute, la valeur par défaut est 4 096.

    • temperature : Valeur comprise entre 0 et 1 qui contrôle le caractère aléatoire de la sortie. Une valeur élevée produit des résultats plus créatifs et diversifiés, tandis qu'une valeur faible génère des sorties plus déterministes et conservatrices.

    • top_p : Valeur comprise entre 0 et 1 qui limite la plage des libellés candidats parmi lesquels le modèle peut choisir. Une valeur élevée élargit la gamme et accroît la diversité, tandis qu'une valeur faible restreint la plage et produit des résultats plus ciblés.

Valeur de retour

Renvoie une chaîne STRING au format JSON contenant tous les libellés extraits et leurs valeurs correspondantes. La fonction applique les règles suivantes :

  • Si input n'est pas une chaîne STRING ou si labels n'est pas un tableau ARRAY<STRING>, la fonction renvoie une erreur.

  • Si un tableau constant fourni pour labels contient plus de 20 libellés, la fonction renvoie une erreur.

  • Si input ou labels a la valeur NULL, ou si input est une chaîne vide (""), la fonction renvoie NULL.

  • Si le texte input ne contient pas d'informations pour un libellé présent dans le tableau labels, la valeur de ce libellé est NULL dans la sortie.

Exemples

Exemple 1 : Extraction avec des libellés constants

Appelez le modèle public MaxCompute qwen3.7-max pour extraire des informations structurées du texte donné selon les libellés spécifiés.

SET odps.namespace.schema=true;

SELECT AI_EXTRACT(
    bigdata_public_modelset.default.`qwen3.7-max`,
    DEFAULT_VERSION,
    'Zhang Wei is a 35-year-old software engineer who works at the Alibaba Cloud office in Hangzhou. He joined the company in 2020 and specializes in distributed computing.',
    ARRAY('Name', 'Age', 'Occupation', 'Company', 'City', 'Year Joined')
) AS extracted_info;

-- Result
+----------------+
| extracted_info |
+----------------+
| {\n  "Name": "Zhang Wei",\n  "Age": 35,\n  "Occupation": "Software Engineer",\n  "Company": "Alibaba Cloud",\n  "City": "Hangzhou",\n  "Year Joined": 2020\n} |
+----------------+

Exemple 2 : Extraction à partir des données d'une table

Appelez le modèle public MaxCompute deepseek-v4-pro pour extraire des informations sur le produit, le problème et le sentiment à partir des avis clients stockés dans une table.

-- Sample data
CREATE TABLE customer_reviews (
    review STRING
);

INSERT INTO customer_reviews VALUES
    ('The new laptop has great battery life, but the keyboard feels a bit off.'),
    ('Shipping was fast, and the sound quality of the headphones is excellent for the price. Very satisfied.'),
    ('The monitor had dead pixels, so I returned it. The customer service was helpful, though.');

-- Call the model to extract structured information from customer reviews in the table
SET odps.namespace.schema=true;

SELECT
    review,
    AI_EXTRACT(
        bigdata_public_modelset.default.`deepseek-v4-pro`,
        DEFAULT_VERSION,
        review,
        ARRAY('Product', 'Issue', 'Sentiment')
    ) AS extracted_info
FROM customer_reviews;

-- Result
+--------+----------------+
| review | extracted_info |
+--------+----------------+
| The new laptop has great battery life, but the keyboard feels a bit off. | {"Product": "Laptop", "Issue": "Keyboard feels off", "Sentiment": "Negative"} |
| Shipping was fast, and the sound quality of the headphones is excellent for the price. Very satisfied. | {"Product": "Headphones", "Issue": null, "Sentiment": "Positive"} |
| The monitor had dead pixels, so I returned it. The customer service was helpful, though. | {"Product": "Monitor", "Issue": "Dead pixels", "Sentiment": "Negative"} |
+--------+----------------+

FAQ

Dépannage des modèles publics

Symptôme : Lorsque vous appelez un public model pris en charge par le Model Computing Service, vous recevez l'erreur suivante :

FAILED: ODPS-0130071:[1,8] Semantic analysis exception - inference quota status check failed, error message: region cn-shanghai not found in inference quota

Cause : Le Model Computing Service n'a pas été activé dans la region de votre project (par exemple, cn-shanghai). Par conséquent, MaxCompute ne peut pas accéder aux AI inference resources.

Solution : Accédez à la Alibaba Cloud console et activez le Model Computing Service pour la region de votre project. Pour obtenir des instructions détaillées, consultez la rubrique Achat et utilisation du service Model Computing Service MaxCompute.