Cortex Analyst REST API¶
Use esta API para responder perguntas sobre seus dados com consultas em linguagem natural.
Envio de mensagem¶
POST /api/v2/cortex/analyst/message
Gera uma consulta SQL para a pergunta fornecida usando o modelo semântico fornecido na solicitação. Observe que a API não tem estado, portanto, apenas conversas de turno único são suportadas.
A solicitação inclui uma pergunta do usuário e a resposta inclui a pergunta do usuário e a resposta do analista. Cada mensagem em uma resposta pode ter vários blocos de conteúdo de diferentes tipos. Três valores atualmente suportados para o campo type
do objeto de conteúdo são: text
, suggestions
e sql
.
Cabeçalhos de solicitação¶
Cabeçalho |
Descrição |
---|---|
|
Token de autorização (obrigatório). Para obter mais informações, consulte Autenticação no servidor. |
|
Aplicativo/json (obrigatório) |
Corpo da solicitação¶
O corpo da solicitação contém a função do palestrante, que deve ser user
, a pergunta do usuário e um caminho para o arquivo YAML do modelo semântico. A pergunta do usuário está contida em um objeto content
que possui dois campos, type
e text
. text
também é o único valor permitido do campo type
.
Campo |
Descrição |
---|---|
|
A função da entidade que está criando a mensagem (obrigatório). Atualmente só oferece suporte a Tipo: string:enum Exemplo: |
|
O objeto de conteúdo que faz parte de uma mensagem (obrigatório). Tipo: objeto
|
|
O tipo de conteúdo (obrigatório). Atualmente, somente Tipo: string:enum Exemplo: |
|
A pergunta do usuário (obrigatório). Tipo: cadeia de caracteres Exemplo: |
|
Caminho para o arquivo YAML do modelo semântico. Deve ser um URL do estágio totalmente qualificado, incluindo o banco de dados e o esquema. Em vez disso, você pode fornecer o YAML do modelo semântico completo no campo Tipo: cadeia de caracteres Exemplo: |
|
Uma cadeia de caracteres contendo todo o YAML do modelo semântico. Em vez disso, você pode passar o YAML do modelo semântico como um arquivo preparado, fornecendo seu URL no campo Tipo: cadeia de caracteres |
Importante
Você deve fornecer semantic_model_file
ou semantic_model
no corpo da solicitação.
Exemplo¶
{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "which company had the most revenue?"
}
]
},
],
"semantic_model_file": "@my_stage/my_semantic_model.yaml"
}
Resposta¶
Essa operação pode retornar os códigos de resposta listados abaixo. A resposta sempre tem a seguinte estrutura. Atualmente, três tipos de conteúdo são suportados para a resposta, text
, suggestion
e sql
. Os tipos de conteúdo suggestion
e sql
são mutuamente exclusivos, de modo que se a resposta contiver um tipo de conteúdo sql
, ela não conterá um tipo de conteúdo suggestion
. O tipo de conteúdo suggestion
só é incluído em uma resposta se a pergunta do usuário for ambígua e Cortex Analyst não puder retornar uma instrução para essa consulta SQL.
Para garantir a compatibilidade futura, certifique-se de que sua implementação leve em conta o tipo de conteúdo e trate os tipos.
Código |
Descrição |
---|---|
200 |
A instrução foi executada com sucesso. O corpo da resposta contém um objeto de mensagem que contém os seguintes campos:
{
"message": {
"role": "analyst",
"content": [
{
"type": "text",
"text": "We interpreted your question as ..."
},
{
"type": "sql",
"statement": "SELECT * FROM table"
}
]
}
}
|