채팅

채팅 대화 관리, 메시징, 완성

개요

채팅 엔드포인트를 통해 사용자는 대화를 관리하고, 메시지를 보내고 조회하며, 채팅 완성을 스트리밍할 수 있습니다. 모든 엔드포인트는 인증이 필요합니다.

기본 URL:

채팅 작업

GET /api/v1/chats

현재 사용자의 페이지 나눔된 채팅 목록을 가져옵니다.

GETAuth required

사용자 채팅의 페이지 나눔 목록을 가져옵니다.

쿼리 파라미터

json
{
"page": 1,
"include_pinned": true,
"include_folders": true
}

응답 200

json
[
{
  "id": "chat-uuid",
  "user_id": "user-uuid",
  "title": "Chat Title",
  "created_at": 1700000000,
  "updated_at": 1700000000,
  "pinned": false,
  "archived": false
}
]

POST /api/v1/chats/new

새 채팅 대화를 생성합니다.

POSTAuth required

새 채팅 대화를 생성합니다.

요청 본문

json
{
"title": "New Chat"
}

응답 200

json
{
"id": "chat-uuid",
"user_id": "user-uuid",
"title": "New Chat",
"created_at": 1700000000,
"updated_at": 1700000000
}

GET /api/v1/chats/{id}

ID로 특정 채팅을 가져옵니다.

GETAuth required

전체 메시지 기록과 함께 ID로 채팅을 가져옵니다.

응답 200

json
{
"id": "chat-uuid",
"title": "Chat Title",
"messages": [...],
"created_at": 1700000000,
"updated_at": 1700000000
}

오류

상태 코드설명
404채팅을 찾을 수 없음
403접근 거부

DELETE /api/v1/chats/{id}

특정 채팅을 삭제합니다.

DELETEAuth required

채팅 대화를 삭제합니다.

응답 200

json
true

채팅 완성

POST /api/chat/completions

스트리밍 지원으로 채팅 완성을 실행합니다.

POSTAuth required

SSE를 사용하여 채팅 완성 응답을 스트리밍합니다.

요청 본문

json
{
"model": "model-id",
"messages": [
  {
    "role": "user",
    "content": "Hello!"
  }
],
"stream": true,
"session_id": "session-uuid"
}

응답 200 (스트리밍)

text
data: {"id":"...","choices":[{"delta":{"content":"Hello"}}]}

data: {"id":"...","choices":[{"delta":{"content":" there"}}]}

data: [DONE]

오류

상태 코드설명
400유효하지 않은 요청 파라미터
401토큰이 만료되었거나 없음