聊天
发送一组消息并流式获取 assistant 的回复。智能路由器会为你选择模型(也可固定一个);将多个轮次归入一条会话,以获得多轮上下文。
一次调用
Chat 和 Agent runs 是同一个系统的两种模式。大多数时候你不需要区分——把 task 发到 /agent/runs,平台会自动路由。本页覆盖 /chat 端点,适用于你明确需要纯文本回复(无工具、最低延迟、OpenAI 风格 messages 数组)的场景。
POST/v1/workspaces/{workspace_id}/chat — 发送一组消息并流式返回 assistant 的回复。请求体:
messages(必填)——一个{role, content}数组;role为system、user、assistant或tool。model——可选;省略(或留空)让 Nexevo 的路由器选择最佳模型。仅在需要强制指定时填写。max_tokens——默认4096(1–128000)。temperature——默认0.7(0–2)。intent_hint——一个简短的任务类型提示;当调用方已知请求类型时,可跳过意图分类器。conversation_id——将本次轮次挂到一条已有的会话下。设置后,服务端会从数据库重建此前历史,因此messages只需携带新的用户轮次。project_id——在某个Project中运行;其指令和知识文件会在服务端注入(带权限校验)。images——最多 4 个图片 URL(OSS),用于视觉聊天;路由器会选择一个支持视觉的模型,并将最后一条用户轮次转换为多模态消息。
回复以 Server-Sent Events 流式返回——每行 data: 一个 JSON 对象:{delta: "..."} 为 assistant 文本,{reasoning: "..."} 为思维链,当较早的轮次被压缩时会先出现一个可选的 {context_compacted: {summary, turns_folded}},失败时为 {error: "..."}。流以 data: [DONE] 结束。(这与 Agent runs的线上格式不同——后者的事件带有 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."}]
}'将 model 留空可让 Nexevo 的路由器为任务挑选最佳模型(在质量 / 成本 / 延迟之间平衡)。仅在需要特定模型时才固定 model。
Conversations(多轮)
要跨轮次保留上下文,请创建一条会话并向其追加消息:
POST
/v1/workspaces/{workspace_id}/conversations——创建一条线程(title、可选的project_id)。POST
/v1/workspaces/{workspace_id}/conversations/{conversation_id}/messages——追加一条消息(role、content)。GET
/v1/workspaces/{workspace_id}/conversations/ GET/v1/workspaces/{workspace_id}/conversations/{conversation_id}——列出 / 获取线程。PATCH
/v1/workspaces/{workspace_id}/conversations/{conversation_id}——重命名 / 归档。POST
/v1/workspaces/{workspace_id}/conversations/{conversation_id}/share/ DELETE/v1/workspaces/{workspace_id}/conversations/{conversation_id}/share——创建 / 撤销一个只读公开链接。DELETE
/v1/workspaces/{workspace_id}/conversations/{conversation_id}——删除一条线程。
传入会话的 project_id,可将该线程扎根于某个Project的指令 + 文件上下文中。