Chat
Envie uma lista de mensagens e receba transmitida a resposta do assistente. O roteador inteligente escolhe um modelo para você (ou fixe um); agrupe turnos em uma conversa para contexto de múltiplos turnos.
Uma chamada
POST/v1/workspaces/{workspace_id}/chat — envie uma lista de mensagens e receba transmitida a resposta do assistente. Corpo da requisição:
messages(obrigatório) — um array de{role, content};roleésystem,user,assistant, outool.model— opcional; omita (ou deixe vazio) para deixar o roteador da Nexevo escolher o melhor modelo. Fixe apenas para forçar um específico.max_tokens— padrão4096(1–128000).temperature— padrão0.7(0–2).intent_hint— uma dica curta do tipo de tarefa que ignora o classificador de intenção quando o chamador já sabe o tipo de requisição.conversation_id— encadeia este turno sob uma conversa existente. Quando definido, o servidor reconstrói o histórico anterior do banco de dados, entãomessagessó precisa carregar o novo turno do usuário.project_id— executa dentro de um project; suas instruções e arquivos de conhecimento são injetados no servidor (com verificação de acesso).images— até 4 URLs de imagem (OSS) para chat com visão; o roteador escolhe um modelo com capacidade de visão e converte o último turno do usuário em uma mensagem multimodal.
A resposta é transmitida como Server-Sent Events — um objeto JSON por linha data:: {delta: "..."} para o texto do assistente, {reasoning: "..."} para a cadeia de pensamento, um {context_compacted: {summary, turns_folded}} opcional no início quando turnos anteriores foram resumidos, e {error: "..."} em caso de falha. O stream termina com data: [DONE]. (Este é um formato de transmissão diferente dos agent runs, cujos eventos carregam um campo type.)
curl -N https://nexevo.ai/v1/workspaces/$NEXEVO_WORKSPACE/chat \
-H "Authorization: Bearer $NEXEVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [{"role": "user", "content": "Explain SEPA Instant in two sentences."}]
}'Deixe model vazio para deixar o roteador da Nexevo escolher o melhor modelo para a tarefa (qualidade / custo / latência balanceados). Fixe model apenas quando precisar de um específico.
Conversas (múltiplos turnos)
Para manter contexto entre turnos, crie uma conversa e anexe mensagens a ela:
POST
/v1/workspaces/{workspace_id}/conversations— cria um thread (title,project_idopcional).POST
/v1/workspaces/{workspace_id}/conversations/{conversation_id}/messages— anexa uma mensagem (role,content).GET
/v1/workspaces/{workspace_id}/conversations/ GET/v1/workspaces/{workspace_id}/conversations/{conversation_id}— lista / busca threads.PATCH
/v1/workspaces/{workspace_id}/conversations/{conversation_id}— renomeia / arquiva.POST
/v1/workspaces/{workspace_id}/conversations/{conversation_id}/share/ DELETE/v1/workspaces/{workspace_id}/conversations/{conversation_id}/share— cria / revoga um link público somente leitura.DELETE
/v1/workspaces/{workspace_id}/conversations/{conversation_id}— exclui um thread.
Passe o project_id de uma conversa para basear o thread nas instruções + arquivos de um project.