--- title: "대화 제목 생성" slug: "rag-create-chat-title" updated: 2026-09-17T09:15:53Z published: 2026-09-17T09:15:53Z canonical: "api.ncloud-docs.com/rag-create-chat-title" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 대화 제목 생성 VPC 환경에서 이용 가능합니다. 사용자와 주고받은 대화에 대해 LLM이 제목을 생성합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | POST | /api/v1/svc/{serviceId}/conversation-title | ### 요청 헤더 RAG API 에서 공통으로 사용하는 헤더에 대한 정보는 [RAG 요청 헤더](/docs/rag-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 경로 파라미터 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | 서비스의 고유 식별자 | ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | 서비스의 고유 식별자 | | `messages` | Array | Required | 메시지 목록: [messages](/docs/rag-create-chat-title#messages) - 대화 내역을 나타내는 메시지 객체의 배열 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `role` | String | Required | 메시지 역할 - `user` \| `assistant` - `user`: 사용자 쿼리 - `assistant`: 모델 응답 | | `content` | String | Required | 메시지 내용 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://kr-pub-gateway.rag.naverncp.com/api/v1/svc/{serviceId}/conversation-title' \ --header 'Authorization: Bearer {apiKey}' \ --header 'Accept: text/event-stream' \ --data '{ "serviceId": "{serviceId}", "messages": [ { "role": "user", "content": "AI를 안전하게 사용하려면 어떻게 해야 할까?" }, { "role": "assistant", "content": "인공지능을 안전하게 사용하기 위한 방법은 다음과 같습니다:\n\n1. **기술적 개선**: 인공지능 시스템이 잘못된 정보나 편향된 내용을 학습하지 않도록 정확하고 중립적인 데이터를 제공하고, 지속적인 연구개발을 통해 시스템의 안정성과 신뢰성을 높여야 합니다.\n\n2. **윤리 지침 마련 및 준수**: 네이버처럼 기업이 자체적인 AI 윤리 지침을 만들고 이에 따라 행동하도록 해야 합니다. 예를 들어 사람을 중심으로 한 가치관을 강조하고, AI 윤리 자문 프로세스를 통해 구성원 모두가 윤리적인 문제를 고민하고 논의할 수 있게 해야 합니다.\n\n3. **교육 및 훈련**: AI 기술을 사용하는 사람들을 대상으로 올바른 사용법과 잠재적 위험에 대해 교육함으로써, AI에 과도한 의존을 방지하고 의사결정 통제력을 유지할 수 있도록 도와야 합니다.\n\n4. **안전 조치 도입**: AI 시스템의 위험을 최소화하기 위해 필요한 경우 기술적이거나 정책적인 안전 조치를 취하고, 충분한 위험 평가 후 시스템을 배포해야 합니다.\n\n5. **다양한 이해관계자와 협력**: 학계, 산업 등 여러 이해관계자들과 협력하여 문화적 특성이 반영된 데이터셋을 구축하고 공유함으로써, 지역적 특성에 맞는 안전하고 효율적인 AI 사용을 도모해야 합니다.\n\n이러한 방법들을 종합적으로 적용하면 인공지능을 더욱 안전하고 윤리적으로 사용할 수 있을 것입니다." } ] }' ``` ## 응답 스트림 Server-Sent Events (SSE) 방식을 통해 실시간 스트리밍 응답을 제공합니다. 각 SSE 메시지는 다음과 같은 형식으로 구성됩니다. (이벤트 간에는 빈 줄로 구분합니다.) ``` event: [event_type] data: [json_data] ``` 대화 제목 생성 API에서 지원하는 이벤트 타입은 `ping`, `token`, `result`, `error` 네 가지입니다. - `ping`: 답변 생성 전 대기 중에 Read Timeout을 방지하기 위해 데이터 출력 (답변 생성 전까지 1초마다) - `token`: 생성 중인 답변의 토큰을 실시간으로 출력 - `result`: 최종 답변 출력 - `error`: 답변 생성 중 에러 발생 시 출력 ### 응답 헤더 응답 헤더에 대한 설명은 다음과 같습니다. | 헤더 | 필수 여부 | 설명 | | --- | --- | --- | | `Accept` | - | 응답 데이터의 형식 - `text/event-stream` | ### 응답 바디 응답 바디는 이벤트 타입에 따라 상이합니다. #### `ping`, `token`, `result` 이벤트 `ping`, `token`, `result` 이벤트에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `message` | Object | - | 메시지 정보 | | `message.role` | String | - | 메시지 역할 - `assistant` | | `message.content` | String | - | 현재 생성된 토큰 | | `message.totalContent` | String | - | 현재까지 생성된 전체 토큰 | | `status` | String | - | 메시지 상태 - `IN_PROGRESS` \| `COMPLETE` - `IN_PROGRESS`: 생성 중 - `COMPLETE`: 생성 완료 | | `references` | Array | - | 인용 정보 | | `rateLimit` | String | - | API 사용량 제한 정보 (`result` 이벤트에만 포함) | | `rateLimit.limitRequests` | String | - | 요청 수 제한 | | `rateLimit.remainingRequests` | String | - | 현재 남은 요청 수 | | `rateLimit.resetRequests` | String | - | 요청 제한 초기화 시간 (초) | | `rateLimit.limitTokens` | String | - | 토큰 수 제한 | | `rateLimit.remainingTokens` | String | - | 현재 남은 토큰 수 | | `rateLimit.resetTokens` | String | - | 토큰 제한 초기화 시간 (초) | | `metadata` | String | - | 요청 메타데이터 (`result` 이벤트에만 포함) | | `metadata.chatModel` | String | - | LLM 모델 - `HyperClovaX` | | `metadata.modelName` | String | - | HyperCLOVA X 모델 버전 - `HCX-003` \| `HCX-005` \| `HCX-DASH-001` \| `HCX-DASH-002` | | `metadata.inputTokens` | Integer | - | 입력 토큰 수 | | `metadata.outputTokens` | Integer | - | 출력 토큰 수 | | `metadata.totalTokens` | Integer | - | 전체 토큰 수 | #### `error` 이벤트 `error` 이벤트에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `code` | Integer | Required | [API 응답 상태 코드](/docs/rag-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C) | | `message` | String | Required | [API 응답 상태 메시지](/docs/rag-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C) | ### 응답 상태 코드 RAG API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [RAG 응답 상태 코드](/docs/rag-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` event: ping data: { "message": { "role": "assistant", "content": "", "totalContent": "" }, "status": "IN_PROGRESS", "references": [], "rateLimit": null, "metadata": {} } ... event: token data: { "message": { "role": "assistant", "content": " 안전한", "totalContent": "\"인공지능 안전한" }, "status": "IN_PROGRESS", "references": [], "rateLimit": null, "metadata": {} } ... event: result data: { "message": { "role": "assistant", "content": "\"인공지능 안전한 활용법\"", "totalContent": "\"인공지능 안전한 활용법\"" }, "status": "COMPLETE", "references": [], "rateLimit": { "limitRequests": null, "remainingRequests": null, "resetRequests": null, "limitTokens": "60000", "remainingTokens": "58824", "resetTokens": "41s" }, "metadata": { "chatModel": "HyperClovaX", "modelName": "HCX-005", "inputTokens": 327, "outputTokens": 8, "totalTokens": 335 } } ```