Tous les produits
Search
Centre de documentation

MaxCompute:AI_SIMILARITY

Dernière mise à jour :Aug 10, 2026

AI_SIMILARITY est une fonction d'IA intégrée à MaxCompute. Elle utilise un modèle pour mesurer la similarité sémantique entre deux textes et renvoie un nombre à virgule flottante compris entre 0 et 1. Plus la valeur est élevée, plus la similarité sémantique est forte.

Syntaxe

FLOAT AI_SIMILARITY(
  STRING <model_name>,
  STRING <version_name>,
  STRING <input1>,
  STRING <input2>
  [, STRING <model_parameters>]
);

Paramètres

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

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

  • input1 : Obligatoire. Type STRING. Premier texte à comparer pour évaluer la similarité sémantique.

  • input2 : Obligatoire. Type STRING. Deuxième texte à comparer pour évaluer la similarité sémantique.

  • model_parameters : Facultatif. Type STRING. Spécifie 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 plus élevée favorise des résultats plus créatifs et diversifiés, tandis qu'une valeur plus basse produit des sorties plus déterministes et conservatrices.

    • top_p : Valeur comprise entre 0 et 1 qui limite l'éventail des libellés candidats parmi lesquels le modèle peut choisir. Une valeur plus élevée permet une plus grande diversité, tandis qu'une valeur plus basse restreint la sélection pour obtenir des résultats plus ciblés.

Valeur de retour

Renvoie une valeur FLOAT comprise entre 0 et 1, représentant le score de similarité entre les deux textes en entrée. Les valeurs de retour sont décrites comme suit :

  • Un score de 1,0 indique que les deux textes sont identiques. Un score de 0,0 signifie qu'ils n'ont aucun lien sémantique.

  • Si input1 ou input2 a la valeur NULL, la fonction renvoie NULL.

  • Si input1 ou input2 n'est pas de type STRING, la fonction renvoie une erreur.

Exemples

Exemple 1 : Comparer la similarité de deux textes

Appelez le modèle public qwen3.7-max fourni par MaxCompute pour calculer la similarité sémantique entre deux textes portant sur MaxCompute.

SET odps.namespace.schema=true;

SELECT AI_SIMILARITY(
    bigdata_public_modelset.default.`qwen3.7-max`,
    DEFAULT_VERSION,
    'MaxCompute is a big data computing platform.',
    'MaxCompute provides large-scale data processing capabilities.'
) AS similarity_score;
-- Result
+------------------+
| similarity_score |
+------------------+
| 0.75             |
+------------------+

Exemple 2 : Comparer plusieurs paires de textes et les trier par similarité

Utilisez le modèle public deepseek-v4-pro proposé par MaxCompute pour comparer plusieurs paires de textes et les classer par ordre décroissant de similarité. Cette approche est idéale pour identifier les paires de textes les plus pertinentes sémantiquement au sein d'un jeu de données.

-- Sample data
CREATE TABLE text_pairs (
    text1 STRING,
    text2 STRING
);

INSERT INTO text_pairs VALUES
    ('Cloud computing supports scalable infrastructure.', 'Enterprises can flexibly scale IT resources using cloud services.'),
    ('The weather is sunny today.', 'Machine learning algorithms require large datasets.'),
    ('A data warehouse stores historical data for analysis.', 'A data warehouse provides analytical processing capabilities for large-scale data.'),
    ('I like to read books.', 'Reading is my favorite hobby.');

-- Compare the semantic similarity of multiple text pairs
SET odps.namespace.schema=true;

SELECT
    text1,
    text2,
    AI_SIMILARITY(
        bigdata_public_modelset.default.`deepseek-v4-pro`,
        DEFAULT_VERSION,
        text1,
        text2
    ) AS similarity_score
FROM text_pairs
ORDER BY similarity_score DESC;

-- Result:
+----------------------------------------------------+--------------------------------------------------------------------------+------------------+
| text1                                              | text2                                                                    | similarity_score |
+----------------------------------------------------+--------------------------------------------------------------------------+------------------+
| A data warehouse stores historical data for analysis. | A data warehouse provides analytical processing capabilities for large-scale data. | 0.92             |
| I like to read books.                              | Reading is my favorite hobby.                                            | 0.88             |
| Cloud computing supports scalable infrastructure.  | Enterprises can flexibly scale IT resources using cloud services.        | 0.82             |
| The weather is sunny today.                        | Machine learning algorithms require large datasets.                      | 0.05             |
+----------------------------------------------------+--------------------------------------------------------------------------+------------------+

FAQ

Résolution des problèmes courants liés aux modèles publics

Symptôme : Lors de l'appel à un modèle public pris en charge par le service de calcul de modèles, le message d'erreur suivant s'affiche.

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 service de calcul de modèles n'est pas activé dans la région où se trouve votre projet actuel (par exemple, cn-shanghai). Par conséquent, vous ne pouvez pas accéder aux ressources d'inférence IA.

Solution : Accédez à la console Alibaba Cloud et activez le service de calcul de modèles pour la région de votre projet. Pour plus de détails, consultez la rubrique Achat et utilisation du service de calcul de modèles MaxCompute.