RAGの概要

Prev Next

VPC環境で利用できます。

RAG(Retrieval Augmented Generation)は、ユーザーのデータを参照し、LLMが精度の高いカスタマイズされた回答を生成してくれる NAVERクラウドプラットフォームのサービスです。RAGサービスは、質問に対する回答を生成し、回答生成に参照される文書とファイルを照会・変更・削除する APIを RESTful形式で提供します。

APIキー

RAG APIは、権限を持つユーザーのみ呼び出すことができるようにユーザー識別ツールの APIキーをアカウントごとに発行しています。APIキーは、API呼び出し時の認証情報として渡すリクエストヘッダのパラメータとして使用します。そのため、RAG APIを使用するには、先に APIキーを発行する必要があります。

APIキーの発行

APIキーは NAVERクラウドプラットフォームコンソールの RAGで発行できます。発行方法は次の通りです。

  1. NAVERクラウドプラットフォームコンソールで Services > AI Services > RAG > Servicesメニューを順にクリックします。
  2. サービス票のヘッダで、 [APIキーを管理] ボタンをクリックします。
  3. APIキー管理画面が表示されたら、 [APIキーを発行] ボタンをクリックします。
  4. APIキー発行のポップアップが表示されたら、 [発行] ボタンをクリックします。
    • APIキーのコピーポップアップから発行された APIキーをコピーします。
注意

発行された APIキーは、APIキーのコピーポップアップを閉じると確認できなくなります。発行時に必ず別の安全な場所に保管してください。

参考

APIキーは、NAVERクラウドプラットフォームのメインアカウント基準で最大5個まで作成できます。

APIのセキュリティ設定

APIキーが第三者に流出する場合、RAGリソースを任意に利用するなどセキュリティ上の深刻な問題が発生する可能性があるので、適切な事前準備と対応が必要です。

APIキーの削除と再発行

APIキーを使用していない場合や、第三者の盗用が疑われる場合は、発行した APIキーを削除し、再度発行する必要があります。削除および再発行方法は次の通りです。

  1. NAVERクラウドプラットフォームコンソールで 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についてユーザーの理解に役立つよう、さまざまな関連リソースを提供しています。

  • RAGサービスの使用方法