Tous les produits
Search
Centre de documentation

Lindorm:Inférence de modèle

Dernière mise à jour :Aug 11, 2026

Le moteur AI de Lindorm vous permet d'utiliser l'opération API RESTful d'inférence de modèle pour appeler des modèles à l'état READY afin d'effectuer des tâches telles que l'inférence et la génération.

Prérequis

Un modèle a été créé ou importé, et son état est défini sur READY. Pour plus d'informations sur la consultation de l'état du modèle, consultez la rubrique Afficher les détails du modèle.

Opération API

POST v1/ai/models/${MODEL_NAME}/infer

Paramètres de requête

|
**Paramètres de requête**
|
**Type**
|
**Description**
| | --- | --- | --- | |
input
|
Aucun type fixe
|
L'entrée pour l'inférence de modèle. Les formats d'entrée peuvent varier selon les modèles. Pour plus d'informations, consultez la section [Entrée d'inférence de modèle (input)](#0786ff3300nc2).
| |
params
|
JSON
|
Les paramètres pour l'inférence de modèle. Les paramètres d'inférence peuvent varier selon les modèles. Pour plus d'informations, consultez la section [Paramètres d'inférence de modèle (params)](#b38cd930b9mto).
|

Entrée d'inférence de modèle (input)

Le format d'entrée varie en fonction de la tâche, comme décrit ci-dessous :

  • FEATURE_EXTRACTION (Text Embedding) : le format d'entrée est une chaîne ou un tableau de chaînes.

  • FEATURE_EXTRACTION (Multimodal Embedding) : les deux formats d'entrée suivants sont pris en charge.

    Tableau d'objets JSON

    Chaque objet JSON doit contenir les paramètres suivants :

    |
    **Paramètre**
    |
    **Type**
    |
    **Description**
    | | --- | --- | --- | |
    image
    |
    String
    |
    La chaîne encodée en Base64 ou l'URI OSS de l'image d'entrée pour l'inférence de modèle.
    | |
    text
    |
    String
    |
    La chaîne de texte d'entrée pour l'inférence de modèle.
    |

















    Objet JSON

    |
    **Nom du paramètre**
    |
    **Type**
    |
    **Description**
    | | --- | --- | --- | |
    images
    |
    Tableau de chaînes
    |
    Les chaînes encodées en Base64 ou les URI OSS des images d'entrée pour l'inférence de modèle.
    | |
    texts
    |
    Tableau de chaînes
    |
    Les chaînes de texte d'entrée pour l'inférence de modèle.
    |

    Vous pouvez utiliser ce format d'entrée pour envoyer des requêtes dans des scénarios d'inférence impliquant uniquement des images ou uniquement du texte brut.



















  • QUESTION_ANSWERING : le format d'entrée est une chaîne.

  • SEMANTIC_SIMILARITY : le format d'entrée est un objet JSON contenant les paramètres suivants :

    |
    **Paramètre**
    |
    **Type**
    |
    **Description**
    | | --- | --- | --- | |
    query
    |
    String
    |
    La requête pour laquelle vous souhaitez comparer la similarité (rerank).
    | |
    chunks
    |
    Tableau de chaînes
    |
    Une liste de fragments de document pour lesquels vous souhaitez comparer la similarité.
    |

















Paramètres d'inférence de modèle (params)

FEATURE_EXTRACTION

|
**Paramètre**
|
**Type**
|
**Description**
| | --- | --- | --- | |
normalize
|
BOOLEAN
|
Indique s'il faut normaliser le vecteur. La valeur par défaut est `true`.
| |
batchSize
|
INT
|
La taille du lot pour l'inférence. Une valeur plus faible réduit la consommation de mémoire GPU. La valeur par défaut est `32`.
|

















QUESTION_ANSWERING

|
**Paramètre**
|
**Type**
|
**Description**
| | --- | --- | --- | |
max_length
|
INT
|
Définit la longueur maximale du texte généré.
| |
num_beams
|
INT
|
Définit le nombre de branches pour la recherche en faisceau (Beam Search). Une valeur **num_beams** plus élevée améliore la qualité du texte généré mais augmente le coût de calcul.
| |
do_sample
|
BOOLEAN
|
Indique s'il faut utiliser l'échantillonnage pour générer du texte.
| |
top_p
|
FLOAT
|
Définit le seuil de probabilité pour l'échantillonnage par noyau (nucleus sampling). Le mot suivant est sélectionné uniquement parmi le vocabulaire dont la probabilité cumulative atteint top_p.
| |
temperature
|
FLOAT
|
Définit la température pour l'échantillonnage. Une température plus élevée rend le texte généré plus aléatoire et diversifié. Une température plus basse rend le texte généré plus déterministe et ciblé.
|



































SEMANTIC_SIMILARITY

|
**Nom du paramètre**
|
**Type**
|
**Description**
| | --- | --- | --- | |
topK
|
INT
|
Le nombre d'entrées de données les plus similaires à renvoyer lors du reclassement. La valeur doit être comprise entre [1, 10000]. La valeur par défaut correspond à la longueur du tableau de chunks d'entrée.
| |
batchSize
|
INT
|
La taille du lot pour l'inférence. Une valeur plus faible réduit la consommation de mémoire GPU. La valeur par défaut est `32`.
|



































Descriptions des paramètres de réponse

Les paramètres de réponse dans le champ data varient en fonction de la tâche. Les sections suivantes fournissent les détails.

FEATURE_EXTRACTION

Aucun paramètre. La sortie est un vecteur.

QUESTION_ANSWERING

|
**Nom du paramètre**
|
**Type**
|
**Description**
| | --- | --- | --- | |
data.output
|
string
|
Ce paramètre est mutuellement exclusif avec le paramètre **outputs**. Lorsque **stream_mode** est défini sur `off` lors de la création du modèle, ce paramètre contient la réponse du grand modèle de langage (LLM).
| |
data.outputs
|
tableau de chaînes
|
Ce paramètre est mutuellement exclusif avec le paramètre **output**. Lorsque **stream_mode** est défini sur `on` lors de la création du modèle, ce paramètre contient la sortie en continu du LLM. La réponse apparaît sous forme de plusieurs éléments de chaîne dans le tableau **outputs**.
|

















SEMANTIC_SIMILARITY

|
**Nom du paramètre**
|
**Type**
|
**Description**
| | --- | --- | --- | |
data
|
Tableau JSON
|
Un tableau des résultats de reclassement.
| |
data.chunk
|
string
|
Le fragment de document après reclassement.
| |
data.score
|
nombre à virgule flottante
|
Le score de similarité du fragment.
| |
data.index
|
entier
|
L'index du fragment dans l'entrée originale.
|





























Format d'encodage de la réponse

Vous pouvez inclure l'en-tête de requête Content-Encoding dans une requête HTTP pour recevoir une réponse compressée. Par défaut, les réponses ne sont pas compressées. Seule la compression gzip est prise en charge.

Requête compressée avec Gzip :

POST <URI> HTTP/1.1
Content-Encoding: gzip
Content-Length: 88

"request contents here"

Réponse :

HTTP/11 200 OK
Content-encoding: gzip
Date: Tue, 24 Sep 2024 09:01:12 GMT
Content-type: application/json
Content-length: 39342

"response contents here"

Exemples

Exemple 1 : Extraction de caractéristiques

Extraction de caractéristiques textuelles

  • Requête avec une seule chaîne :

    POST v1/ai/models/bge_m3_model/infer HTTP/1.1
    Content-Type: application/json
    
    {
        "input": "I love Tiananmen"
    }

    Réponse :

    HTTP/1.1 200 OK
    Date: Tue, 28 Nov 2023 03:18:55 GMT
    Content-type: application/json
    Content-length: 419
    
    {
      "code": 0,
      "msg": "SUCCESS",
      "data": [0.027204733341932297,0.004229982383549213, ...],
      "success": true,
      "request_id":"..."
    }
  • Requête par lot de chaînes :

    POST v1/ai/models/bge_m3_model/infer HTTP/1.1
    Content-Type: application/json
    
    {
        "input": ["I love Tiananmen", "test text"]
    }

    Réponse :

    HTTP/1.1 200 OK
    Date: Tue, 28 Nov 2023 03:18:55 GMT
    Content-type: application/json
    Content-length: 419
    
    {
      "code": 0,
      "msg": "SUCCESS",
      "data": [[0.027204733341932297,0.004229982383549213, ...], 
      [-0.05367295444011688,0.022600287571549416, ...]],
      "success": true
    }

Exemple 2 : Questions-réponses

Requête :

POST v1/ai/models/qa_model/infer HTTP/1.1
Content-Type: application/json

{
    "input": "Write an essay of about 200 words"
}

Réponse :

HTTP/1.1 200 OK
Date: Tue, 28 Nov 2023 03:18:55 GMT
Transfer-encoding: chunked
Content-type: application/json

{"code":0,"msg":"SUCCESS","success":true,"data":{"outputs":["","Life is like ","a journey, full of ","unknowns and challenges.","On this journey, ","we will meet various people and ","events. Some make us ","feel excited and curious",", while others make us ","feel frustrated and disappointed",". But no matter what ","situations we encounter, ","we must maintain a positive and optimistic attitude",", believe in ourselves, believe ","in the future, and keep moving forward.","\n\nOn the journey of life",", we will encounter ","various people and events. ","Some people make us feel excited ","and curious, while others ","make us feel frustrated ","and disappointed. But ","no matter what situations ","we encounter, we must maintain ","a positive and optimistic attitude, believe in ourselves",", believe in the future, ","and keep moving forward.","\n\nSometimes, we may ","feel lost and unsure of what to do",". At these times, we need to give ourselves ","some time and space to think ","about what we want and how to achieve ","our goals. At the same time, ","we also need to communicate with others",", listen to their opinions ","and ideas, and from ","them, gain inspiration and help.","\n\nOn the journey ","of life, we need to ","constantly learn and grow ","to better face the challenges ahead",". No matter what ","difficulties and challenges we face, ","we must maintain a positive and optimistic attitude",", believe in ourselves, believe ","in the future, and keep moving forward.","\n\nOn the journey of life",", we need to constantly ","learn and grow to better ","face the challenges ahead.","No matter what ","difficulties and challenges we face, we must ","maintain a positive and optimistic attitude,"]}}%

Exemple 3 : Similarité sémantique

Requête :

POST v1/ai/models/bge_rerank_model/infer HTTP/1.1
Content-Type: application/json

{
    "input": {"query": "a dog", "chunks": ["a slide", "a small yellow dog"]}
}

Réponse :

HTTP/1.1 200 OK
Date: Tue, 28 Nov 2023 03:18:55 GMT
Content-type: application/json
Content-length: 419

{
  "code" : 0,
  "msg" : "SUCCESS",
  "data" : [ {
    "chunk" : "a small yellow dog",
    "score" : "0.6785464882850647",
    "index" : 1
  }, {
    "chunk" : "a slide",
    "score" : "0.5992767214775085",
    "index" : 0
  }],
  "success" : true
}