Chat
메시지 목록을 보내고 assistant의 응답을 스트리밍합니다. 스마트 라우터가 모델을 선택하거나(또는 직접 지정), 여러 턴의 컨텍스트를 위해 턴을 conversation으로 묶을 수 있습니다.
한 번의 호출
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— 이 턴을 기존 conversation 아래에 묶습니다. 설정하면 서버가 데이터베이스에서 이전 히스토리를 다시 구성하므로,messages에는 새 사용자 턴만 전달하면 됩니다.project_id— project 내에서 실행. 해당 지시사항과 knowledge 파일이 서버 측에서 주입됩니다(접근 권한 검증 포함).images— 비전 chat을 위한 최대 4개의 이미지 URL(OSS). 라우터가 비전 지원 모델을 선택하고 마지막 사용자 턴을 멀티모달 메시지로 변환합니다.
응답은 Server-Sent Events로 스트리밍됩니다. data: 줄당 하나의 JSON 객체로, assistant 텍스트는 {delta: "..."}, 사고 과정은 {reasoning: "..."}, 이전 턴이 요약되었을 때는 선택적으로 선행하는 {context_compacted: {summary, turns_folded}}, 실패 시 {error: "..."}가 전달됩니다. 스트림은 data: [DONE]으로 끝납니다. (이는 이벤트에 type 필드를 포함하는 agent runs의 와이어 포맷과 다릅니다.)
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."}]
}'Nexevo의 라우터가 작업에 가장 적합한 모델을 선택하도록(품질/비용/지연 균형) model을 비워두세요. 특정 모델이 필요할 때만 model을 지정하세요.
Conversations(멀티 턴)
턴 간 컨텍스트를 유지하려면 conversation을 만들고 메시지를 추가하세요:
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}— 스레드 삭제.
conversation의 project_id를 전달하여 스레드를 project의 지시사항과 파일에 기반하게 할 수 있습니다.