VPC 환경에서 이용 가능합니다.
RAG(Retrieval Augmented Generation)는 사용자의 데이터를 참조하여 LLM이 정확성 높은 맞춤형 답변을 생성해 주는 네이버 클라우드 플랫폼의 서비스입니다. RAG 서비스에서는 질문에 대한 답변을 생성하고, 답변 생성에 참조되는 문서와 파일을 조회ㆍ수정ㆍ삭제하는 API를 RESTful 형태로 제공합니다.
API 키
RAG API는 권한을 가진 사용자만 호출할 수 있도록 사용자 식별 도구인 API 키를 계정별로 발급하고 있습니다. API 키는 API 호출 시 인증 정보로 전달하는 요청 헤더의 파라미터로 사용합니다. 따라서 RAG API를 사용하려면 우선 API 키를 발급받아야 합니다.
API 키 발급
API 키는 네이버 클라우드 플랫폼 콘솔의 RAG에서 발급할 수 있습니다. 발급 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > AI Services > RAG > Services 메뉴를 차례대로 클릭해 주십시오.
- 서비스 표의 헤더에서 [API 키 관리] 버튼을 클릭해 주십시오.
- API 키 관리 화면이 나타나면 [API 키 발급] 버튼을 클릭해 주십시오.
- API 키 발급 팝업 창이 나타나면 [발급] 버튼을 클릭해 주십시오.
- API 키 복사 팝업 창에서 발급된 API 키를 복사합니다.
발급된 API 키는 API 키 복사 팝업 창을 닫은 후에는 확인이 불가능합니다. 따라서 반드시 발급 시점에 별도의 안전한 공간에 보관하여 주십시오.
API 키는 네이버 클라우드 플랫폼의 메인 계정을 기준으로 최대 5개까지 생성할 수 있습니다.
API 보안 설정
API 키가 제3자에게 유출되는 경우, RAG 리소스를 임의로 이용하는 등 보안 문제가 발생할 수 있으므로 적절한 사전 대비와 대응이 필요합니다.
API 키 삭제 및 재발급
API 키를 사용하지 않거나 제3자의 도용이 의심된다면 발급한 API 키를 삭제한 후 다시 발급해야 합니다. 삭제 및 재발급 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > AI Services > RAG 메뉴를 차례대로 클릭해 주십시오.
- 서비스 표의 헤더에서 [API 키 관리] 버튼을 클릭해 주십시오.
- API 키 관리 화면이 나타나면 삭제할 API 키의
를 클릭한 다음 삭제 메뉴를 클릭해 주십시오.
- API 키 삭제 팝업 창이 나타나면 [삭제] 버튼을 클릭해 주십시오.
- API 키 발급을 참조하여 새로운 API 키를 발급해 주십시오.
삭제한 API 키는 유효하지 않은 키로 인식되기 때문에 더 이상 API 호출에 사용할 수 없습니다.
RAG 공통 설정
RAG API에서 공통으로 사용하는 요청 형식과 응답 형식을 설명합니다.
요청
공통 요청 형식을 설명합니다.
API URL
요청 API URL은 다음과 같습니다.
https://kr-pub-gateway.rag.naverncp.com
요청 헤더
요청 헤더에 대한 설명은 다음과 같습니다.
필드 | 필수 여부 | 설명 |
---|---|---|
Authorization |
Required | 인증을 위한 API 키
|
Content-Type |
Required | 요청 데이터의 형식
|
Accept |
Optional | 응답 데이터의 형식
|
- 응답 결과는 기본적으로 JSON 형태로 반환되지만,
Accept
를text/event-stream
으로 지정 시 응답 결과를 스트림 형태로 반환합니다.
응답
공통 응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
responseError
responseError는 API 호출 실패 정보를 정의합니다. responseError에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
code |
String | Required | 오류 코드 |
message |
String | Required | 오류 메시지 |
응답 상태 코드
응답 상태 코드에 대한 설명은 다음과 같습니다.
HTTP 상태 코드 | 코드 | 메시지 | 설명 |
---|---|---|---|
200 | 20000 | Success | 요청 성공 |
400 | 400 | Bad Request | 파일 오류 |
400 | 40000 | Invalid parameters | 헤더 파라미터 오류 |
400 | 40000 | Too large file error | 너무 큰 파일 오류 |
400 | 40001 | Service not ready | 색인이 완료되지 않은 상태에서 대화 시도
|
400 | 40002 | Invalid service id | 유효하지 않은 서비스ID |
401 | 200 | Authentication failed | 인증 실패 |
403 | 210 | Permission denied | 권한 없음 |
404 | 404 | Index or document not found | 색인이나 문서를 찾을 수 없음 |
404 | 1001 | Document not found | 문서를 찾을 수 없음 |
404 | 40401 | Service ID not found | 존재하지 않는 서비스ID |
408 | 40800 | Timeout | 타임아웃 |
408 | 40801 | Llm timeout. | LLM 타임아웃 |
415 | 41500 | Unsupported file type error | 지원하지 않는 파일 형식 |
422 | 42200 | Request validation error | 요청 바디 오류 |
422 | 422 | Request Validation Error | 요청 파라미터 오류 |
500 | 900 | Unexpected Error | 예기치 않은 오류 |
500 | 50000 | Extract error | 추출 에러 |
500 | 50001 | Llm error | LLM 응답 에러 |
500 | 50002 | Text too long | LLM 최대 토큰 수 초과 |
500 | 50003 | Too many requests | LLM 요청량 초과 |
500 | 50004 | Llm request failed | LLM 요청 실패 |
500 | 50005 | Llm model not found | 모델 타입을 지원하지 않음 |
500 | 50006 | Client exception | 내부 오류 |
500 | 50007 | Invalid Key | API 키가 올바르지 않음 |
500 | 50008 | Model not found | LLM 모델명을 찾을 수 없음 |
500 | 50020 | Retrieval error | 검색 에러 |
500 | 50100 | Citation error | 인용문 생성 에러 |
503 | 500 | Service unavailable | 일시적인 서비스 불가 |
503 | 520 | Unavailable endpoint domain | 일시적인 서비스 불가 |
503 | 530 | Connection closed by endpoint | 비정상 종료 |
504 | 510 | Gateway timeout | 게이트웨이 타임아웃 |
응답 예시
호출이 성공한 경우의 응답 예시는 각 API 명세에서 확인해 주십시오. 호출이 실패한 경우의 응답 예시는 다음과 같습니다.
{
"code": 50008,
"message": "Model not found"
}
RAG API
RAG 서비스에서 제공하는 API에 대한 설명은 다음과 같습니다.
Chats
API | 설명 |
---|---|
대화 생성 | 사용자 쿼리에 대해 LLM이 대화형 문장 생성 |
대화 제목 생성 | 사용자와 주고받은 대화에 대해 LLM이 제목 생성 |
Documents
API | 설명 |
---|---|
문서 추가 | 색인 시스템에 JSON 데이터 업로드 |
ID 지정하여 문서 추가 | 문서 ID를 지정하여 색인 시스템에 JSON 데이터 업로드 |
문서 교체 | 기존에 업로드한 문서를 새로운 문서로 교체 |
문서 삭제 | 기존에 업로드한 문서 삭제 |
색인된 문서 조회 | 서비스 내 색인된 문서 조회 |
색인된 문서 수 조회 | 서비스 내 색인된 문서 수 조회 |
문서의 색인 상태 조회 | 색인 요청한 문서의 처리 상태 조회 |
Files
API | 설명 |
---|---|
파일 추가 | 색인 시스템 파일 업로드 |
ID 지정하여 파일 추가 | 파일 ID를 지정하여 색인 시스템에 파일 업로드 |
파일 교체 | 기존에 업로드한 파일을 새로운 파일로 교체 |
파일 삭제 | 기존에 업로드한 파일 삭제 |
RAG 연관 리소스
RAG API에 대한 사용자의 이해를 돕기 위해 다양한 연관 리소스를 제공하고 있습니다.
- RAG 서비스 사용 방법
- RAG 사용 가이드: 네이버 클라우드 플랫폼 콘솔에서 RAG 사용하는 방법
- Ncloud 사용 환경 가이드: VPC, Classic 환경 및 지원 여부에 관한 사용 가이드