リランカー

Prev Next

Classic/VPC環境で利用できます。

検索した文書とクエリ間の関連度を評価して関連性の高い文書を選択し、それを要約・圧縮して RAG回答を生成します。全検索文書ではなく、ユーザーのクエリに関連性の高い文書だけを選別して使用するため、トークンの消費を効率的に削減しながらも、信頼性の高い結果を得ることができます。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /v1/api-tools/reranker

リクエストヘッダ

CLOVA Studio APIで共通して使用されるヘッダの詳細は、CLOVA Studioのリクエストヘッダをご参照ください。

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
documents List[Object] Required 検索した文書リスト: documents
query String Required ユーザークエリ
maxTokens Integer Optional 最大トークン生成数
  • maxTokens < 4096 (デフォルト: 1024)

documents

documentsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
id String Required 検索した文書 ID
doc String Required 検索した文書の原本
参考

リランカー APIの最大入力トークン数は128,000で、最大出力トークン数は4,096です。

リクエスト例

リクエストのサンプルコードは次の通りです。

curl --location --request POST 'https://clovastudio.stream.ntruss.com/v1/api-tools/reranker' \
--header 'Authorization: Bearer {API Key}' \
--header 'X-NCP-CLOVASTUDIO-REQUEST-ID: {Request ID}' \
--header 'Content-Type: application/json' \
--data '{
    "documents": [
        {
            "id": "id1",
            "doc": "VPC削除エラーVPCが削除されません。VPC削除時\"Endpointが全部返却されなかったため、削除できません。\"というメッセージが表示されます。原因VPCの配下にリソースが存在する場合、VPCを削除できません。解決方法削除するには、VPCに関連するすべてのリソースを返却または削除する必要があります。**削除対象の VPCに関連する Server、Network Interface、Cloud functions、Load Balancer、Auto Scaling、NAT Gateway内のすべてのリソースを削除してください。** 当該 VPCに関連する Route Tableを削除してください。**当該 VPCに関連する Subnetを削除してください。** サーバ eth0に割り当てられた Network Interfaceは返却したり削除したりできません。サーバ eth0に割り当てられた Network Interfaceを削除するには、先にサーバを返却してください。"
        },
        {
            "id": "id2",
            "doc": "VPC削除作成して運用中の VPCを削除できます。削除方法は次の通りです。参考VPC内にリソースが残っている場合は削除されません。VPCを削除すると、その VPCと関連付けられたサービスも一緒に削除され、削除後は復旧できません。**NAVERクラウドプラットフォームコンソールの VPC環境で Services > Networking > VPCメニューを順にクリックします。** VPC Managementメニューを順にクリックしてください。**削除対象の VPCをクリックし、[削除]ボタンをクリックします。** VPC削除のポップアップが表示されたら、[はい]ボタンをクリックします。**VPC Management画面の VPCリストで VPCの状態を確認します。終了中: VPCを削除している状態*** 終了中: VPCを削除している状態"
        },
        {
            "id": "id3",
            "doc": "Subnet削除作成して運用中の Subnetを削除できます。削除方法は次の通りです。参考 Subnet内にサーバあると削除されません。Subnetは、一度削除されると復旧できません。**NAVERクラウドプラットフォームコンソールの VPC環境で Services > Networking > VPCメニューを順にクリックします。** Subnet Managementメニューをクリックします。**削除対象の Subnetをクリックし、[Subnetを削除]ボタンをクリックします。** Subnet削除のポップアップが表示されたら、[はい]ボタンをクリックします。**Subnet Management画面の Subnetリストで Subnetの状態を確認します。終了中: Subnetを削除している状態** 終了中: Subnetを削除している状態"
        }
    ],
    "query": "VPCの削除方法を教えて"
   ]
}'

レスポンス

レスポンス形式を説明します。

レスポンスヘッダ

レスポンスヘッダの説明は次の通りです。

ヘッダ 必須の有無 説明
Content-Type - レスポンスデータの形式
  • application/json

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
status Object - レスポンスステータスを参照
result Object - レスポンス結果
result.result String - モデル出力回答
result.citedDocuments Array[Object] - 検索した文書のうち、引用した文書リスト: citedDocuments
result.suggestedQueries Array[String] - 再検索時の推薦検索キーワードリスト
  • リランカーモデルが検索した文書の中から回答が見つからない場合に表示
result.usage Object - トークン使用量
result.usage.completionTokens Integer - 生成トークン数
result.usage.promptTokens Integer - 入力(プロンプト)トークン数
result.usage.totalTokens Integer - トークンの総数
  • 生成トークン数+入力トークン数

citedDocuments

citedDocumentsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
id String - 引用した文書 ID
doc String - 引用した文書の原本

レスポンス例

レスポンスのサンプルコードは次の通りです。

成功

呼び出しに成功した場合のレスポンスのサンプルコードは次の通りです。

  • 検索した文書で回答が見つかった場合
    {
        "status": {
            "code": "20000",
            "message": "OK"
        },
        "result": {
            "result": "回答: VPCを削除するには、先に<doc1>VPCに関連するすべてのリソースを返却または削除</doc1>する必要があります。これには、<doc1>Server、Network Interface、Cloud functions、Load Balancer、Auto Scaling、NAT Gateway内のすべてのリソース</doc1>と <doc1>Route Table、Subnet</doc1>が含まれます。特に、<doc1>サーバ eth0に割り当てられた Network Interfaceは返却または削除できませんので、当該サーバを先に返却する必要があります。</doc1>\n\n削除手順は次の通りです:\n1. <doc2>NAVERクラウドプラットフォームコンソールの VPC環境で Services > Networking > VPCメニューをクリックします。</doc2>\n2. <doc2>VPC Managementメニューをクリックし、削除対象の VPCを選択して[削除]ボタンをクリックします。</doc2>\n3. <doc2>VPC削除のポップアップで[はい]ボタンをクリックして削除を行います。</doc2>\n4. <doc2>VPC Management画面で VPCの状態を確認し、削除が完了したか確認します。</doc2>\n\nこの手順により VPCを安全に削除することができます。ただし、<doc2>VPCは一度削除されると復旧できませんので、慎重に行ってください。</doc2>",
            "citedDocuments": [
                {
                    "id": "id1",
                    "doc": "VPC削除エラーVPCが削除されません。VPC削除時\"Endpointが全部返却されなかったため、削除できません。\"というメッセージが表示されます。原因VPCの配下にリソースが存在する場合、VPCを削除できません。解決方法削除するには、VPCに関連するすべてのリソースを返却または削除する必要があります。**削除対象の VPCに関連する Server、Network Interface、Cloud functions、Load Balancer、Auto Scaling、NAT Gateway内のすべてのリソースを削除してください。** 当該 VPCに関連する Route Tableを削除してください。**当該 VPCに関連する Subnetを削除してください。** サーバ eth0に割り当てられた Network Interfaceは返却したり削除したりできません。サーバ eth0に割り当てられた Network Interfaceを削除するには、先にサーバを返却してください。"
                },
                {
                    "id": "id2",
                    "doc": "VPC削除作成して運用中の VPCを削除できます。削除方法は次の通りです。参考VPC内にリソースが残っている場合は削除されません。VPCを削除すると、その VPCと関連付けられたサービスも一緒に削除され、削除後は復旧できません。**NAVERクラウドプラットフォームコンソールの VPC環境で Services > Networking > VPCメニューを順にクリックします。** VPC Managementメニューを順にクリックしてください。**削除対象の VPCをクリックし、[削除]ボタンをクリックします。** VPC削除のポップアップが表示されたら、[はい]ボタンをクリックします。**VPC Management画面の VPCリストで VPCの状態を確認します。終了中: VPCを削除している状態*** 終了中: VPCを削除している状態"
                }
            ],
            "suggestedQueries": [],
            "usage": {
                "promptTokens": 777,
                "completionTokens": 281,
                "totalTokens": 1058
            }
        }
    }
    
  • 検索した文書で回答が見つからなかった場合
    {
        "status": {
            "code": "20000",
            "message": "OK"
        },
        "result": {
            "result": "回答: 検索結果に天気に関する情報が提供されていないので、天気に関する情報をお伝えできません。",
            "citedDocuments": [],
            "suggestedQueries": [
                "現在の気象状況",
                "天気予報"
            ],
            "usage": {
                "promptTokens": 774,
                "completionTokens": 57,
                "totalTokens": 831
            }
        }
    

失敗

呼び出しに失敗した場合のレスポンスのサンプルコードは次の通りです。