RAG 개요

Prev Next

VPC 환경에서 이용 가능합니다.

RAG(Retrieval Augmented Generation)는 사용자의 데이터를 참조하여 LLM이 정확성 높은 맞춤형 답변을 생성해 주는 네이버 클라우드 플랫폼의 서비스입니다. RAG 서비스에서는 질문에 대한 답변을 생성하고, 답변 생성에 참조되는 문서와 파일을 조회ㆍ수정ㆍ삭제하는 API를 RESTful 형태로 제공합니다.

API 키

RAG API는 권한을 가진 사용자만 호출할 수 있도록 사용자 식별 도구인 API 키를 계정별로 발급하고 있습니다. API 키는 API 호출 시 인증 정보로 전달하는 요청 헤더의 파라미터로 사용합니다. 따라서 RAG API를 사용하려면 우선 API 키를 발급받아야 합니다.

API 키 발급

API 키는 네이버 클라우드 플랫폼 콘솔의 RAG에서 발급할 수 있습니다. 발급 방법은 다음과 같습니다.

  1. 네이버 클라우드 플랫폼 콘솔에서 Services > AI Services > RAG > Services 메뉴를 차례대로 클릭해 주십시오.
  2. 서비스 표의 헤더에서 [API 키 관리] 버튼을 클릭해 주십시오.
  3. API 키 관리 화면이 나타나면 [API 키 발급] 버튼을 클릭해 주십시오.
  4. API 키 발급 팝업 창이 나타나면 [발급] 버튼을 클릭해 주십시오.
    • API 키 복사 팝업 창에서 발급된 API 키를 복사합니다.
주의

발급된 API 키는 API 키 복사 팝업 창을 닫은 후에는 확인이 불가능합니다. 따라서 반드시 발급 시점에 별도의 안전한 공간에 보관하여 주십시오.

참고

API 키는 네이버 클라우드 플랫폼의 메인 계정을 기준으로 최대 5개까지 생성할 수 있습니다.

API 보안 설정

API 키가 제3자에게 유출되는 경우, RAG 리소스를 임의로 이용하는 등 보안 문제가 발생할 수 있으므로 적절한 사전 대비와 대응이 필요합니다.

API 키 삭제 및 재발급

API 키를 사용하지 않거나 제3자의 도용이 의심된다면 발급한 API 키를 삭제한 후 다시 발급해야 합니다. 삭제 및 재발급 방법은 다음과 같습니다.

  1. 네이버 클라우드 플랫폼 콘솔에서 Services > AI Services > RAG 메뉴를 차례대로 클릭해 주십시오.
  2. 서비스 표의 헤더에서 [API 키 관리] 버튼을 클릭해 주십시오.
  3. API 키 관리 화면이 나타나면 삭제할 API 키의 rag-more-icon를 클릭한 다음 삭제 메뉴를 클릭해 주십시오.
  4. API 키 삭제 팝업 창이 나타나면 [삭제] 버튼을 클릭해 주십시오.
  5. API 키 발급을 참조하여 새로운 API 키를 발급해 주십시오.
주의

삭제한 API 키는 유효하지 않은 키로 인식되기 때문에 더 이상 API 호출에 사용할 수 없습니다.

RAG 공통 설정

RAG API에서 공통으로 사용하는 요청 형식과 응답 형식을 설명합니다.

요청

공통 요청 형식을 설명합니다.

API URL

요청 API URL은 다음과 같습니다.

https://kr-pub-gateway.rag.naverncp.com

요청 헤더

요청 헤더에 대한 설명은 다음과 같습니다.

필드 필수 여부 설명
Authorization Required 인증을 위한 API 키
  • Bearer {apiKey}
Content-Type Required 요청 데이터의 형식
  • application/json | multipart/form-data
Accept Optional 응답 데이터의 형식
  • text/event-stream
참고
  • 응답 결과는 기본적으로 JSON 형태로 반환되지만, Accepttext/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에 대한 사용자의 이해를 돕기 위해 다양한 연관 리소스를 제공하고 있습니다.