Cortex Analyst REST API¶
Utilisez cette API pour répondre aux questions sur vos données avec des requêtes en langage naturel.
Envoyer un message¶
POST /api/v2/cortex/analyst/message
Génère une requête SQL pour la question donnée en utilisant le modèle sémantique fourni dans la demande. Notez que l’API est sans état, donc seules les conversations à tour unique sont prises en charge.
La demande comprend une question de l’utilisateur et la réponse comprend la question de l’utilisateur et la réponse de l’analyste. Chaque message d’une réponse peut avoir plusieurs blocs de contenu de types différents. Trois valeurs actuellement prises en charge pour le champ type
de l’objet de contenu sont : text
, suggestions
, et sql
.
En-têtes de requête¶
En-tête |
Description |
---|---|
|
(Obligatoire) Jeton d’autorisation. Pour plus d’informations, voir Authentification auprès du serveur. |
|
(Obligatoire) application/json |
Corps de la requête¶
Le corps de la requête contient le rôle du locuteur qui doit être user
, la question de l’utilisateur et un chemin vers le fichier YAML du modèle sémantique. La question de l’utilisateur est contenue dans un objet content
qui a deux champs, type
et text
. text
est également la seule valeur autorisée du champ type
.
Champ |
Description |
---|---|
|
(Obligatoire) Le rôle de l’entité qui crée le message. Actuellement, seulement Type : string:enum Exemple : |
|
(Obligatoire) L’objet de contenu qui fait partie d’un message. Type : objet
|
|
(Obligatoire) Le type de contenu. Actuellement, seulement Type : string:enum Exemple : |
|
(Obligatoire) La question de l’utilisateur. Type : chaîne Exemple : |
|
Chemin vers le fichier YAML du modèle sémantique. Doit être une URL de zone de préparation entièrement qualifiée, y compris la base de données et le schéma. Vous pouvez plutôt fournir le modèle sémantique YAML complet dans le champ Type : chaîne Exemple : |
|
Une chaîne contenant l’intégralité du modèle sémantique YAML. Vous pouvez plutôt transmettre le modèle sémantique YAML en tant que fichier en zone de préparation en fournissant son URL dans le champ Type : chaîne |
Important
Vous devez fournir soit semantic_model_file
ou semantic_model
dans le corps de la requête.
Exemple¶
{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "which company had the most revenue?"
}
]
},
],
"semantic_model_file": "@my_stage/my_semantic_model.yaml"
}
Réponse¶
Cette opération peut renvoyer les codes de réponse énumérés ci-dessous. La réponse a toujours la structure suivante. Actuellement, trois types de contenu sont pris en charge pour la réponse, text
, suggestion
, et sql
. Les types de contenu suggestion
et sql
sont mutuellement exclusifs de sorte que si la réponse contient un type de contenu sql
, elle ne contiendra pas de type de contenu suggestion
. Le type de contenu suggestion
n’est inclus dans une réponse que si la question de l’utilisateur était ambiguë et Cortex Analyst ne pouvait pas retourner une instruction SQL pour cette requête.
Pour garantir la compatibilité ascendante, assurez-vous que votre implémentation prend en compte le type de contenu et gère les types.
Code |
Description |
---|---|
200 |
L’instruction a été exécutée avec succès. Le corps de la réponse contient un objet message qui contient les champs suivants :
{
"message": {
"role": "analyst",
"content": [
{
"type": "text",
"text": "We interpreted your question as ..."
},
{
"type": "sql",
"statement": "SELECT * FROM table"
}
]
}
}
|