Todos os produtos
Search
Central de documentação

Simple Log Service:CreateChat

Última atualização: Oct 30, 2026

Inicia uma sessão com um DataAgent especificado e recebe as respostas do agente, os processos de execução e os artefatos em tempo real como um fluxo de eventos. Várias rodadas de perguntas e respostas dentro do mesmo thread de sessão compartilham o contexto. Esta operação pode ser usada para adicionar perguntas a uma conversa existente, reconectar-se a uma saída de streaming não concluída ou encerrar uma geração de resposta em andamento.

Descrição da operação

Antes de começar

  • Você deve primeiro criar um DataAgent e obter o ID do thread de sessão chamando CreateThread.

Resposta de streaming

  • Esta operação é uma operação de streaming. O Content-Type da resposta é text/event-stream. Após o código de status HTTP 200 ser retornado, os eventos são continuamente enviados por push até que um evento com o tipo stream_done seja recebido.

  • O campo data de cada evento é um documento JSON independente, e não uma substituição para toda a resposta. Processe os eventos na ordem de chegada: as respostas de texto são fornecidas como fragmentos incrementais, e os processos de execução de ferramentas e subagentes são fornecidos como eventos de mensagem separados.

Duas formas de falhas

  • Se ocorrer uma falha antes da chegada do primeiro evento, uma resposta de falha JSON padrão será retornada com o código de status HTTP correspondente.

  • Se ocorrer uma falha durante o procedimento de saída de streaming, um evento chamado error será recebido. O campo data deste evento contém um campo error, e o código de status HTTP permanece 200. O cliente deve realizar o processamento simultâneo para ambos os cenários.

Três usos de action

  • create (padrão): Inicia uma nova rodada de conversa com mensagens.

  • reconnect: Reconecta-se a uma conversa não concluída no thread atual sem mensagens para continuar recebendo a saída.

  • stop: Encerra a geração de resposta em andamento.

Cenários que requerem entrada adicional

  • Quando o agente exige que você confirme ou complemente informações, um evento com o tipo interactive é enviado por push. Após concluir a interação no lado do cliente, continue a sessão enviando uma solicitação com action definido como create e incluindo os resultados da interação.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

Nenhuma autorização necessária para esta operação. Se você encontrar problemas com esta operação, entre em contato com o suporte técnico.

Sintaxe da solicitação

POST /chat HTTP/1.1

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

body

object

Sim

O corpo da solicitação no formato JSON.

action

string

Não

O tipo de ação da solicitação atual. Valores válidos:

  • create (padrão): Inicia uma nova rodada de conversa.

  • reconnect: Reconecta-se a uma conversa não concluída no thread atual para continuar recebendo a saída.

  • stop: Encerra a geração de resposta em andamento.

create

messages

array<object>

Não

A lista de mensagens transportadas na solicitação atual. Ao iniciar uma nova conversa, uma mensagem com a função user é normalmente passada. Este parâmetro é opcional quando action está definido como reconnect ou stop.

array<object>

Não

Uma mensagem.

contents

array<object>

Não

A lista de conteúdos da mensagem. Uma única mensagem pode transportar vários segmentos de conteúdo.

object

Não

Um segmento de conteúdo.

type

string

Não

O tipo de conteúdo. Defina este parâmetro como text para conteúdo de texto.

text

value

string

Não

O valor do conteúdo. Quando type está definido como text, este parâmetro especifica o texto da pergunta enviada ao agente.

Count the top 10 URLs with the highest number of requests in the nginx-access-log over the last hour

messageId

string

Não

O ID da mensagem gerado pelo chamador para identificar esta mensagem na solicitação atual.

msg-0001

role

string

Não

O remetente da mensagem. Defina este parâmetro como user para perguntas do usuário.

user

tools

array<object>

Não

A lista de resultados de interação de ferramentas. Quando o agente exige que você confirme ou complemente a entrada no lado do cliente por meio de um evento interativo, preencha os resultados de interação correspondentes na próxima solicitação.

object

Não

O resultado da interação de uma invocação para chamada de ferramenta. Os campos seguem a convenção da ferramenta correspondente.

any

Não

Os detalhes do resultado da interação. Os campos comuns incluem type (o tipo de interação, como confirm ou user_input), result (o resultado da interação) e content (descrição adicional).

confirm

name

string

Sim

O nome do DataAgent, que especifica o agente para a sessão atual. O agente deve ser criado na conta atual e você deve ter as permissões para acessá-lo.

my-agent

threadId

string

Sim

O ID do thread de sessão, que identifica um contexto de conversa contínuo. Várias rodadas de perguntas e respostas dentro do mesmo thread compartilham o contexto. Você deve primeiro chamar CreateThread para obter este ID.

thread-tiirv9-irwdoal8t4rm

variables

object

Não

As variáveis de sessão em pares chave-valor, que são usadas para passar parâmetros de contexto para a sessão atual ao agente, como workspace, region, project, language, timeZone, startTime e endTime. Você pode omitir chaves desnecessárias.

any

Não

O valor da variável. O tipo de dados é definido pela chave correspondente e pode ser uma string ou um número.

cn-hangzhou

Inicia uma nova rodada de conversa:

{
  "name": "my-agent",
  "threadId": "thread-tiirv9-irwdoal8t4rm",
  "action": "create",
  "messages": [
    {
      "role": "user",
      "contents": [
        { "type": "text", "value": "Count the top 10 URLs with the highest number of requests in the nginx-access-log over the last hour" }
      ]
    }
  ],
  "variables": {
    "region": "cn-hangzhou",
    "project": "nginx-demo",
    "language": "zh"
  }
}

Encerra a geração de resposta em andamento (messages não é obrigatório):

{
  "name": "my-agent",
  "threadId": "thread-tiirv9-irwdoal8t4rm",
  "action": "stop"
}

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

A resposta. Esta operação retorna um fluxo de Server-Sent Events (SSE) com o Content-Type definido como text/event-stream. O campo data de cada evento é um documento JSON da seguinte estrutura, que é enviado por push várias vezes enquanto o agente gera a resposta.

messages

array<object>

A lista de mensagens enviadas por push no evento atual. Normalmente, esta lista contém apenas uma mensagem recém-adicionada.

array<object>

Uma mensagem.

agents

array<object>

A lista de chamadas de subagente iniciadas na mensagem atual. Este campo pode aparecer apenas quando role está definido como assistant.

object

As informações sobre uma chamada de subagente.

any

Os detalhes da invocação do subagente. Os campos comuns incluem name (o nome do subagente), arguments (os parâmetros de entrada para a invocação atual) e status (o status de execução: start, progress, success ou fail).

search_data

artifacts

array<object>

A lista de artefatos (arquivos) gerados pela mensagem atual. Este campo pode aparecer apenas quando role está definido como assistant.

object

Um artefato.

any

Os detalhes do artefato. Os campos comuns incluem name (o nome do artefato) e path (o caminho do artefato). Você pode chamar operações como ListArtifacts e GetArtifact para recuperar os arquivos gerados.

report.md

callId

string

O ID de chamada da execução atual. Uma mensagem com este valor como seu parentCallId é sua mensagem subordinada. Este campo pode ser usado para restaurar a hierarquia de execução do agente.

call_0fdabe9ba7c645a7a6cbf34f

contents

array<object>

A lista de conteúdos na mensagem atual.

object

Um segmento de conteúdo.

any

Os detalhes do conteúdo. Os campos comuns incluem type e value. Se type for text, value será o trecho de texto da resposta. Se type for spin_text, value serão os prompts para o processo de raciocínio e execução do agente. Se type for thread_title_updated, value será o título da conversa atualizado. Se type for error, value será a mensagem de erro que contém um código e uma mensagem. Durante a saída em streaming, os marcadores append (se é um trecho incremental) e lastChunk (se é o último chunk) também são incluídos.

text

detail

string

A descrição suplementar da mensagem atual, como a descrição da ação que está sendo executada no momento.

Analyzing query conditions

events

array<object>

A lista de eventos transportados na mensagem atual, que indica alterações no estado da sessão. Os tipos comuns incluem: thinking (o agente está pensando), interactive (entrada ou confirmação adicional é necessária), task_finished (o nó atual foi concluído e o payload contém informações de sucesso e estatísticas), stream_done (a saída de streaming atual foi concluída), error (ocorreu uma falha de execução) e thread_title_updated (o título da sessão foi atualizado).

object

Um evento.

any

Os detalhes do evento. Os campos comuns incluem type (o tipo de evento) e payload (os dados do evento, cuja estrutura varia dependendo do tipo de evento).

task_finished

parentCallId

string

O ID da chamada pai, que é usado para restaurar a hierarquia de execução. Uma string vazia indica o nó raiz da sessão atual.

thread-t709p8-s24hgl7ug8jw

role

string

O produtor da mensagem. Valores válidos: assistant (a resposta ou ação do agente), tool (o resultado da execução da ferramenta), user (a entrada do usuário) e system (a mensagem do sistema).

assistant

seq

integer

O número de sequência da mensagem, que é incrementado dentro da mesma sessão e pode ser usado para classificar mensagens no mesmo nível. Recomendamos que você também consulte timestamp em vez de depender estritamente deste valor.

1

timestamp

string

A hora em que a mensagem foi gerada. O valor é um carimbo de data/hora UNIX no formato de string.

1765289000

tools

array<object>

A lista de invocações para chamada de ferramenta iniciadas pelo agente na mensagem atual. Este campo pode aparecer apenas quando role está definido como assistant.

object

Uma invocação para chamada de ferramenta.

any

Os detalhes da chamada da ferramenta. Os campos comuns incluem name (o nome da ferramenta), arguments (os parâmetros de entrada a serem invocados), status (o status do estágio de execução: start, success ou fail), state (o resultado da execução: success ou fail) e contents (o conteúdo de saída da ferramenta).

get_current_time

type

string

O tipo de mensagem. Este campo pode estar ausente para mensagens de resposta regulares. Ele aparece quando toda a mensagem é usada para expressar um estado, como done indicando o fim da sessão e error indicando uma mensagem de erro.

done

version

string

O número da versão da estrutura da mensagem. A versão atual é v0.1.0.

v0.1.0

traceId

string

O ID do Tracing Analysis da sessão atual, que é usado para localizar a invocação atual durante a solução de problemas.

88b50db22437400fa9c16c5399722310

A resposta é enviada por push por eventos. Cada evento consiste em event, id e data. O campo data é um documento JSON completo:

event: message
id: 1
data: {"messages":[{"parentCallId":"","callId":"thread-t709p8-s24hgl7ug8jw","role":"assistant","seq":4,"timestamp":"1765289004","contents":[{"type":"text","value":"Analyzing...","append":true}]}],"traceId":"88b50db22437400fa9c16c5399722310"}

Concatene os campos value com o tipo text na mesma mensagem na ordem de chegada para obter o texto completo da resposta. O conteúdo com o tipo spin_text representa os prompts de pensamento e processo de execução do agente e não precisa ser exibido como o texto principal. Quando a tarefa terminar, você receberá sequencialmente eventos com o tipo task_finished (o payload contém success) e stream_done.

Exemplos

Resposta de sucesso

JSON formato

{
  "messages": [
    {
      "agents": [
        {
          "key": "search_data"
        }
      ],
      "artifacts": [
        {
          "key": "report.md"
        }
      ],
      "callId": "call_0fdabe9ba7c645a7a6cbf34f",
      "contents": [
        {
          "key": "text"
        }
      ],
      "detail": "正在分析查询条件",
      "events": [
        {
          "key": "task_finished"
        }
      ],
      "parentCallId": "thread-t709p8-s24hgl7ug8jw",
      "role": "assistant",
      "seq": 1,
      "timestamp": "1765289000",
      "tools": [
        {
          "key": "get_current_time"
        }
      ],
      "type": "done",
      "version": "v0.1.0"
    }
  ],
  "traceId": "88b50db22437400fa9c16c5399722310"
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.