すべてのプロダクト
Search
ドキュメントセンター

:イメージバージョン v0.3.0 から v0.3.4 に適用

最終更新日:Jun 22, 2026

PAI-RAG は、サービス管理、ナレッジベース管理、チャットなどの機能に対応する包括的な API オペレーションを提供します。このトピックでは、イメージバージョン v0.3.0 から v0.3.4 を使用してデプロイされた RAG サービスの API オペレーションと呼び出しメソッドについて説明します。

制限事項

このトピックは、イメージバージョン v0.3.0 から v0.3.4 でデプロイされた RAG サービスにのみ適用されます。

Elastic Algorithm Service (EAS) のページに移動し、RAG サービスの名前をクリックしてから、Overview ページの Environment Information セクションでイメージバージョンを確認します。

サービスエンドポイントとトークンの取得

API オペレーションを使用して RAG サービスを呼び出す前に、サービスのエンドポイントとトークンを取得する必要があります。

  1. PAI コンソールにログインします。ページ上部でリージョンを選択します。次に、目的のワークスペースを選択し、[Elastic Algorithm Service (EAS)] をクリックします。

  2. 対象のサービス名をクリックします。Basic Information セクションで、View Endpoint Information をクリックします。

  3. Invocation Method ページで、サービスエンドポイント (EAS_SERVICE_URL) と トークン (EAS_Token) を取得します。

    重要
    • EAS_SERVICE_URL の末尾にあるスラッシュ (/) を削除してください。

    • パブリックエンドポイントを使用してサービスを呼び出す場合:クライアントはインターネットにアクセスできる必要があります。

    • VPC エンドポイントを使用してサービスを呼び出す場合:クライアントは RAG サービスと同じ VPC (Virtual Private Cloud) 内にある必要があります。

チャット API

OpenAI 互換の API オペレーションを使用してサービスを呼び出すことができます。サービスを呼び出す前に、RAG サービスの WebUI で必要な機能を設定する必要があります。

サポートされる機能

  • web search:Web を検索します。事前に RAG サービスの WebUI で Web 検索パラメーターを設定する必要があります。

  • chat knowledgebase:ナレッジベースをクエリします。事前にナレッジベースファイルをアップロードする必要があります。

  • chat llm:大規模言語モデル (LLM) を使用して回答を提供します。事前に LLM サービスを設定する必要があります。

  • chat agent:エージェントを使用してツールを呼び出します。事前に RAG サービスの WebUI でエージェント関連のコードを設定する必要があります。

  • chat db:データベースまたはテーブルをクエリします。事前に RAG サービスの WebUI でデータ分析設定を行う必要があります。

呼び出しメソッド

URL

{EAS_SERVICE_URL}/v1/chat/completions

リクエストメソッド

POST

リクエストヘッダー

Authorization: EAS_TOKEN (EAS 呼び出しのトークン)

HTTP ボディ

{
    "model": "default",  # モデル名。default または WebUI で設定したモデル名に設定します。
    "messages": [
        {"role": "user", "content": "こんにちは"},
        {"role": "assistant", "content": "こんにちは、何かお手伝いできることはありますか?"},
        {"role": "user", "content": "浙江省の省都はどこですか?"},
        {"role": "assistant", "content": "杭州は浙江省の省都です。"},
        {"role": "user", "content": "どこか楽しい観光地はありますか?"},
    ],
    "stream": true,  # ストリーミング出力を有効にするかどうかを指定します。
    "chat_knowledgebase": true,  # ローカルのナレッジベースをクエリするかどうかを指定します。
    "search_web": false,  # Web 検索を使用するかどうかを指定します。
    "chat_llm": false,  # チャットに LLM のみを使用するかどうかを指定します。
    "chat_agent": false,  # エージェントを使用するかどうかを指定します。
    "chat_db": false,  # データベースをクエリするかどうかを指定します。
    "index_name": "default",  # RAG シナリオのインデックス名。インデックス名は 1 つだけ指定できます。インデックス名を指定しない場合、システムはデフォルトのインデックスを使用します。
    "max_tokens": 1024,  # 最大出力長 (例:1024)。
    "temperature": 0.1,  # 生成されるコンテンツのランダム性を制御します。値は [0, 1] の範囲でなければなりません。値が小さいほど、より決定論的なコンテンツになります。値が大きいほど、より多様なコンテンツになります。
}
重要
  • 複数の機能を同時に有効にした場合、システムは search_web、chat_knowledgebase、chat_agent、chat_db、chat_llm の優先度順 (高いものから順) に呼び出します。各機能について、システムはインテント認識を実行し、その機能を呼び出すか、直接 LLM を使用して応答を生成するかを決定します。

  • すべての機能フラグが false に設定されているか、渡されていない場合、サービスはデフォルトでローカルのナレッジベースをクエリします (つまり、"chat_knowledgebase": true)。

リクエスト例 (クリックして詳細を表示)

Web 検索

from openai import OpenAI
##### API 構成 #####
# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
openai_api_key = "<EAS_TOKEN>"
openai_api_base = "<EAS_SERVICE_URL>/v1"
client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)
#### チャット ######
def chat():
    stream = True
    chat_completion = client.chat.completions.create(
        model="default",
        stream=stream,
        messages=[
            {"role": "user", "content": "こんにちは"},
            {"role": "assistant", "content": "こんにちは、何かお手伝いできることはありますか?"},
            {"role": "user", "content": "浙江省の省都はどこですか?"},
            {"role": "assistant", "content": "杭州は浙江省の省都です。"},
            {"role": "user", "content": "どこか楽しい観光地はありますか?"},
        ],
        extra_body={
            "search_web": True,
        },
    )
    if stream:
        for chunk in chat_completion:
            print(chunk.choices[0].delta.content, end="")
    else:
        result = chat_completion.choices[0].message.content
        print(result)
chat()

データベースのクエリ

from openai import OpenAI
##### API 構成 #####
# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
openai_api_key = "<EAS_TOKEN>"
openai_api_base = "<EAS_SERVICE_URL>/v1"
client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)
#### チャット ####
def chat():
    stream = True
    chat_completion = client.chat.completions.create(
        model="default",
        stream=stream,
        messages=[
            {"role": "user", "content": "猫は何匹いますか?"},
            {"role": "assistant", "content": "猫は 2 匹います。"},
            {"role": "user", "content": "犬はどうですか?"},
        ],
        extra_body={
            "chat_db": True,
        },
    )
    if stream:
        for chunk in chat_completion:
            print(chunk.choices[0].delta.content, end="")
    else:
        result = chat_completion.choices[0].message.content
        print(result)
chat()

ナレッジベース API

ナレッジベースの追加

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases/{name}

リクエストメソッド

POST

リクエストヘッダー

  • Authorization: EAS_TOKEN

  • Content-Type: application/json

リクエストパラメーター

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# <name> をご利用のナレッジベースの名前に置き換えます。vector_store_config をご利用のベクトルデータベースの構成で更新します。
curl -X 'POST' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name> \
-H 'Authorization: <EAS_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
      "name":"<name>",
      "vector_store_config":
      {
          "persist_path":"./localdata/knowledgebase/default/.index/.faiss",
          "type":"milvus",
          "is_image_store":false,
          "host":"c-exxx11f4c.milvus.aliyuncs.com",
          "port":19530,
          "user":"root",
          "password":"xxx",
          "database":"default",
          "collection_name":"test",
          "reranker_weights":[0.5,0.5]
      },
      "embedding_config":
      {
          "source":"huggingface",
          "model":"bge-m3",
          "embed_batch_size":10,
          "enable_sparse":false
      }
  }'

上記のコードは、vector_store_config パラメーターに Milvus を使用する例を示しています。以下のセクションでは、他のベクトルデータベースの vector_store_config 構成について説明します。

faiss

"vector_store_config":
      {
          "persist_path":"./localdata/knowledgebase/default/.index/.faiss",
          "type":"faiss",
          "is_image_store":false
      }

hologres

"vector_store_config":
      {
          "persist_path":"./localdata/knowledgebase/default/.index/.faiss",
          "type":"hologres",
          "is_image_store":false,
          "host":"xxx",
          "port":xxx,
          "user":"xxx",
          "password":"xxx",
          "database":"default",
          "table_name":"test",
          "pre_delete_table":"false"
      }

elasticsearch

"vector_store_config":
      {
          "persist_path":"./localdata/knowledgebase/default/.index/.faiss",
          "type":"elasticsearch",
          "is_image_store":false,
          "es_url":"xxx",
          "es_user":"xxx",
          "es_password":"xxx",
          "es_index":"xxx"
      }

opensearch

"vector_store_config":
      {
          "persist_path":"./localdata/knowledgebase/default/.index/.faiss",
          "type":"opensearch",
          "is_image_store":false,
          "endpoint":"xxx",
          "instance_id":"xxx",
          "username":"xxx",
          "password":"xxx",
          "table_name":"xxx"
      }

analyticdb

"vector_store_config":
      {
          "persist_path":"./localdata/knowledgebase/default/.index/.faiss",
          "type":"analyticdb",
          "is_image_store":false,
          "ak":"xxx",
          "sk":"xxx",
          "region_id":"xxx",
          "instance_id":"xxx",
          "account":"xxx",
          "account_password":"xxx",
          "namespace":"xxx",
          "collection":"xxx"
      }

tablestore

"vector_store_config":
      {
          "persist_path":"./localdata/knowledgebase/default/.index/.faiss",
          "type":"tablestore",
          "is_image_store":false,
          "endpoint":"xxx",
          "instance_name":"xxx",
          "access_key_id":"xxx",
          "access_key_secret":"xxx",
          "table_name":"xxx"
      }

dashvector

"vector_store_config":
      {
          "persist_path":"./localdata/knowledgebase/default/.index/.faiss",
          "type":"dashvector",
          "is_image_store":false,
          "endpoint":"xxx",
          "api_key":"xxx",
          "collection_name":"xxx",
          "partition_name":"xxx"
      }

レスポンス例 (クリックして詳細を表示)

{ "msg": "ナレッジベース 'xxx' が正常に追加されました。" }

ナレッジベースの一覧表示

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases

リクエストメソッド

GET

リクエストヘッダー

Authorization: EAS_TOKEN # EAS 呼び出しのトークン

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases -H 'Authorization: <EAS_TOKEN>'

レスポンス例 (クリックして詳細を表示)

{
  "knowledgebases": {
    "default": {
      "name": "default",
      "vector_store_config": {
        "persist_path": "./localdata/knowledgebase/default/.index/.faiss",
        "type": "milvus",
        "is_image_store": false,
        "host": "c-exxx1911f4c.milvus.aliyuncs.com",
        "port": 19530,
        "user": "root",
        "password": "xxx",
        "database": "default",
        "collection_name": "test",
        "reranker_weights": [0.5, 0.5]
      },
      "embedding_config": {
        "source": "huggingface",
        "model": "bge-m3",
        "embed_batch_size": 10,
        "enable_sparse": false
      },
      "knowledgebase_paths": {
        "base_path": "localdata/knowledgebase/default",
        "docs_path": "localdata/knowledgebase/default/docs",
        "index_path": "localdata/knowledgebase/default/.index",
        "logs_path": "localdata/knowledgebase/default/.logs",
        "parse_path": "localdata/knowledgebase/default/.index/parse",
        "split_path": "localdata/knowledgebase/default/.index/split",
        "embed_path": "localdata/knowledgebase/default/.index/embed",
        "faiss_index_path": "localdata/knowledgebase/default/.index/.faiss",
        "doc_ids_map_file": "localdata/knowledgebase/default/.index/file_to_docid_map.json"
      }
    },
    "my_milvus": {
      "name": "my_milvus",
      "vector_store_config": {
        "persist_path": "./localdata/knowledgebase/default/.index/.faiss",
        "type": "milvus",
        "is_image_store": false,
        "host": "c-e6xxx11f4c.milvus.aliyuncs.com",
        "port": 19530,
        "user": "root",
        "password": "xxx",
        "database": "default",
        "collection_name": "test",
        "reranker_weights": [0.5, 0.5]
      },
      "embedding_config": {
        "source": "huggingface",
        "model": "bge-m3",
        "embed_batch_size": 10,
        "enable_sparse": false
      },
      "knowledgebase_paths": {
        "base_path": "localdata/knowledgebase/my_milvus",
        "docs_path": "localdata/knowledgebase/my_milvus/docs",
        "index_path": "localdata/knowledgebase/my_milvus/.index",
        "logs_path": "localdata/knowledgebase/my_milvus/.logs",
        "parse_path": "localdata/knowledgebase/my_milvus/.index/parse",
        "split_path": "localdata/knowledgebase/my_milvus/.index/split",
        "embed_path": "localdata/knowledgebase/my_milvus/.index/embed",
        "faiss_index_path": "localdata/knowledgebase/my_milvus/.index/.faiss",
        "doc_ids_map_file": "localdata/knowledgebase/my_milvus/.index/file_to_docid_map.json"
      }
    }
  }
}

ナレッジベースファイルのアップロード

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases/{name}/files

リクエストメソッド

POST

リクエストヘッダー

  • Authorization: EAS_TOKEN # EAS 呼び出しのトークン

  • Content-Type: multipart/form-data

リクエストパラメーター

  • files:ファイル。

  • name:ナレッジベースの名前 (例:my_milvus)。

cURL リクエスト例 (クリックして詳細を表示)

  • 単一ファイルのアップロード (-F 'files=@path' を使用してファイルをアップロード)

    # <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
    # <name> をご利用のナレッジベースの名前に置き換えます。
    # "-F 'files=@" の後のパスを、ご利用のナレッジベースファイルのパスに置き換えます。
    curl -X 'POST' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/files \
    -H 'Authorization: <EAS_TOKEN>' \
    -H 'Content-Type: multipart/form-data' \
    -F 'files=@example_data/paul_graham/paul_graham_essay.txt'
  • 複数ファイルのアップロード

    複数の -F 'files=@path' パラメーターを使用します。各パラメーターはアップロードするファイルに対応します。例:

    # <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
    # <name> をご利用のナレッジベースの名前に置き換えます。
    # "-F 'files=@" の後のパスを、ご利用のナレッジベースファイルのパスに置き換えます。
    curl -X 'POST' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/files \
    -H 'Authorization: <EAS_TOKEN>' \
    -H 'Content-Type: multipart/form-data' \
    -F 'files=@example_data/paul_graham/paul_graham_essay.txt' \
    -F 'files=@example_data/another_file1.md' \
    -F 'files=@example_data/another_file2.pdf' \

レスポンス例 (クリックして詳細を表示)

{ "message": "ファイルは正常にアップロードされました。" }

アップロードステータスの取得

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1//knowledgebases/{name}/files/{file_name}

リクエストメソッド

GET

リクエストヘッダー

Authorization: EAS_TOKEN # EAS 呼び出しのトークン

リクエストパラメーター

  • file_name:ファイル名。

  • name:ナレッジベースの名前 (例:my_milvus)。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# <name> をご利用のナレッジベース名に、<file_name> をご利用のファイル名に置き換えます。
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/files/<file_name> -H 'Authorization: <EAS_TOKEN>'

レスポンス例 (クリックして詳細を表示)

{
  "task_id": "50fe181921a83edf63b5ecaa487e****",
  "operation": "UPDATE",
  "file_name": "localdata/knowledgebase/my_milvus/docs/paul_graham_essay.txt",
  "status": "done",
  "message": null,
  "last_modified_time": "2025-03-12 11:50:37"
}

アップロード履歴の取得

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases/{name}/history

リクエストメソッド

GET

リクエストヘッダー

Authorization: EAS_TOKEN # EAS 呼び出しのトークン

リクエストパラメーター

name:ナレッジベースの名前 (例:my_milvus)。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# <name> をご利用のナレッジベースの名前に置き換えます。
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/history -H 'Authorization: <EAS_TOKEN>'

レスポンス例 (クリックして詳細を表示)

[
  {
    "task_id": "50fe181921a83edf63b5ecaa487e****",
    "operation": "UPDATE",
    "file_name": "localdata/knowledgebase/my_milvus/docs/paul_graham_essay.txt",
    "status": "done",
    "message": null,
    "last_modified_time": "2025-03-12 11:50:37"
  },
  {
    "task_id": "0162e61cbe605ddab865fff5f7d8****",
    "operation": "ADD",
    "file_name": "localdata/knowledgebase/my_milvus/docs/demo.pdf",
    "status": "failed",
    "message": "Error loading file",
    "last_modified_time": "2025-03-12 13:46:11"
  }
]

ナレッジベースファイルの一覧表示

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases/{name}/files

リクエストメソッド

GET

リクエストヘッダー

Authorization: EAS_TOKEN # EAS 呼び出しのトークン

リクエストパラメーター

name:ナレッジベースの名前 (例:my_milvus)。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# <name> をご利用のナレッジベースの名前に置き換えます。
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/files -H 'Authorization: <EAS_TOKEN>'

レスポンス例 (クリックして詳細を表示)

[
  {
    "file_name": "localdata/knowledgebase/my_milvus/docs/paul_graham_essay.txt",
    "doc_id": "50fe181921a83edf63b5ecaa487e****",
    "last_modified_time": "2025-03-12 14:38:51"
  }
]

ナレッジベースファイルの削除

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases/{name}/files/{file_name}

リクエストメソッド

DELETE

リクエストヘッダー

Authorization: EAS_TOKEN # EAS 呼び出しのトークン

リクエストパラメーター

  • file_name:ファイル名。

  • name:ナレッジベースの名前 (例:my_milvus)。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# <name> をご利用のナレッジベース名に置き換えます。<file_name> を削除するファイルの名前に置き換えます。
curl -X 'DELETE' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/files/<file_name> -H 'Authorization: <EAS_TOKEN>'

レスポンス例 (クリックして詳細を表示)

{ "message": "ファイル 'paul_graham_essay.txt' は正常に削除されました。" }

ナレッジベースに関する情報の取得

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases/{name}

リクエストメソッド

GET

リクエストヘッダー

Authorization: EAS_TOKEN # EAS 呼び出しのトークン

リクエストパラメーター

name:ナレッジベースの名前 (例:my_milvus)。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# <name> をご利用のナレッジベースの名前に置き換えます。
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name> -H 'Authorization: <EAS_TOKEN>'

レスポンス例 (クリックして詳細を表示)

{
  "name": "my_milvus",
  "vector_store_config": {
    "persist_path": "./localdata/knowledgebase/default/.index/.faiss",
    "type": "milvus",
    "is_image_store": false,
    "host": "c-exxx1****.milvus.aliyuncs.com",
    "port": 19530,
    "user": "root",
    "password": "xxx",
    "database": "default",
    "collection_name": "test",
    "reranker_weights": [0.5, 0.5]
  },
  "embedding_config": {
    "source": "huggingface",
    "model": "bge-m3",
    "embed_batch_size": 10,
    "enable_sparse": false
  },
  "knowledgebase_paths": {
    "base_path": "localdata/knowledgebase/my_milvus",
    "docs_path": "localdata/knowledgebase/my_milvus/docs",
    "index_path": "localdata/knowledgebase/my_milvus/.index",
    "logs_path": "localdata/knowledgebase/my_milvus/.logs",
    "parse_path": "localdata/knowledgebase/my_milvus/.index/parse",
    "split_path": "localdata/knowledgebase/my_milvus/.index/split",
    "embed_path": "localdata/knowledgebase/my_milvus/.index/embed",
    "faiss_index_path": "localdata/knowledgebase/my_milvus/.index/.faiss",
    "doc_ids_map_file": "localdata/knowledgebase/my_milvus/.index/file_to_docid_map.json"
  }
}

ナレッジベースの更新

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases/{name}

リクエストメソッド

PATCH

リクエストヘッダー

  • Authorization: EAS_TOKEN # EAS 呼び出しのトークン

  • Content-Type: application/json

リクエストパラメーター

  • name:ナレッジベースの名前 (例:new_milvus)。

  • vector_store_config:ナレッジベースの構成。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# <name> をご利用のナレッジベースの名前に置き換えます。
# vector_store_config を更新したいナレッジベースの構成に設定します。
curl -X 'PATCH' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name> \
-H 'Authorization: <EAS_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
      "name":"<name>",
      "vector_store_config":
      {
          "persist_path":"./localdata/knowledgebase/default/.index/.faiss",
          "type":"milvus",
          "is_image_store":true,
          "host":"c-exxx11f4c.milvus.aliyuncs.com",
          "port":19530,
          "user":"root",
          "password":"xxx",
          "database":"default",
          "collection_name":"test",
          "reranker_weights":[0.5,0.5]
      },
      "embedding_config":
      {
          "source":"huggingface",
          "model":"bge-m3",
          "embed_batch_size":10,
          "enable_sparse":false
      }
  }'

上記のコードは、vector_store_config パラメーターに Milvus を使用する例を示しています。他のベクトルデータベースの vector_store_config 構成の詳細については、「ナレッジベースの追加」をご参照ください。

レスポンス例 (クリックして詳細を表示)

{ "msg": "ナレッジベース 'new_milvus' が正常に更新されました。" }

ナレッジベースの削除

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases/{name}

リクエストメソッド

DELETE

リクエストヘッダー

Authorization: EAS_TOKEN # EAS 呼び出しのトークン

リクエストパラメーター

name:ナレッジベースの名前 (例:new_milvus)。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# <name> をご利用のナレッジベースの名前に置き換えます。
curl -X 'DELETE' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name> -H 'Authorization: <EAS_TOKEN>'

レスポンス例 (クリックして詳細を表示)

{ "msg": "ナレッジベース 'new_milvus' が正常に削除されました。" }

ナレッジベースからの取得

v0.3.0-v0.3.3

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/query/retrieval

リクエストメソッド

POST

リクエストヘッダー

  • Authorization: EAS_TOKEN # EAS 呼び出しのトークン

  • Content-Type: application/json

リクエストパラメーター

  • question:ユーザーのクエリ。

  • index_name:ナレッジベースの名前。デフォルト値は default です。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# question をユーザーのクエリに設定します。
# index_name をナレッジベースの名前に設定します。
  curl -X 'POST' '<EAS_SERVICE_URL>/api/v1/query/retrieval' \
  -H 'Authorization: <EAS_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
      "question": "x13-auto-arima コンポーネントがエラーを報告した場合、どうすればよいですか?",
      "index_name": "default"
  }'

レスポンス例 (クリックして詳細を表示)

{
  "docs": [
    {
      "text": "2.PAI-Studio/Designer よくある質問 2.1. アルゴリズムコンポーネントに関するよくある質問:\nトランスコードできない文字は「blob」として表示されます。下流のノードはデータを読み取って処理できるため、このエラーは無視してください。\nx13-auto-arima コンポーネントがエラーを報告した場合、どうすればよいですか?\nx13-auto-arima コンポーネントには最大 1,200 のトレーニングデータサンプルがインポートされていることを確認してください。\nDoc2Vec コンポーネントが CallExecutorToParseTaskFail エラーを報告した場合、どうすればよいですか?",
      "score": 0.83608,
      "metadata": {
        "file_path": "localdata/knowledgebase/default/docs/pai_document.md",
        "file_name": "pai_document.md",
        "file_size": 3794,
        "creation_date": "2025-03-20",
        "last_modified_date": "2025-03-20"
      },
      "image_url": null
    },
    {
      "text": "2.PAI-Studio/Designer よくある質問 2.1. アルゴリズムコンポーネントに関するよくある質問:\nこのトピックでは、アルゴリズムコンポーネントに関するよくある質問について説明します。\nフォーマット変換コンポーネントがエラーを報告した場合、どうすればよいですか?・PAI のデータ表示ページに「blob」が表示された場合、どうすればよいですか?・x13-auto-arima コンポーネントがエラーを報告した場合、どうすればよいですか?・Doc2Vec コンポーネントが CallExecutorToParseTaskFail エラーを報告した場合、どうすればよいですか?\nフォーマット変換コンポーネントがエラーを報告した場合、どうすればよいですか?",
      "score": 0.797132,
      "metadata": {
        "file_path": "localdata/knowledgebase/default/docs/pai_document.md",
        "file_name": "pai_document.md",
        "file_size": 3794,
        "creation_date": "2025-03-20",
        "last_modified_date": "2025-03-20"
      },
      "image_url": null
    },
    {
      "text": "2.PAI-Studio/Designer よくある質問 2.1. アルゴリズムコンポーネント\n2.3. Machine Learning Studio での OSS ファイルのプレビュー:\n2.OSS バケットの詳細ページで、[アクセス制御] > [クロスオリジンリソース共有 (CORS)] を選択します。[クロスオリジンリソース共有 (CORS)] セクションで、[設定] をクリックします。\n3.[ルールの作成] をクリックします。[ルールの作成] パネルで、次のパラメーターを設定します。",
      "score": 0.714184,
      "metadata": {
        "file_path": "localdata/knowledgebase/default/docs/pai_document.md",
        "file_name": "pai_document.md",
        "file_size": 3794,
        "creation_date": "2025-03-20",
        "last_modified_date": "2025-03-20"
      },
      "image_url": null
    }
  ]
}

v0.3.4

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/retrieval

リクエストメソッド

POST

リクエストヘッダー

  • Authorization: EAS_TOKEN # EAS 呼び出しのトークン

  • Content-Type: application/json

リクエストパラメーター

  • query:ユーザーのクエリ。

  • knowledgebase_id:ナレッジベースの名前。デフォルト値は default です。

  • retrieval_settings:取得パラメーター。これらのパラメーターは WebUI で設定することを推奨します。パラメーターの詳細については、WebUI をご参照ください。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# query をユーザーのクエリに設定します。
# knowledge_id をナレッジベースの名前に設定します。
curl -X 'POST' '<EAS_SERVICE_URL>/api/v1/retrieval' \
  -H 'Authorization: <EAS_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
      "query": "x13-auto-arima コンポーネントがエラーを報告した場合、どうすればよいですか?",
      "knowledgebase_id": "default",
      "retrieval_settings": {"similarity_top_k": 5}
  }'

その他の API オペレーション

RAG サービス構成の取得

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/config

リクエストメソッド

GET

リクエストヘッダー

Authorization: EAS_TOKEN # EAS 呼び出しのトークン

cURL リクエスト例 (クリックして詳細を表示)

 # <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
 curl -X 'GET' '<EAS_SERVICE_URL>/api/v1/config' -H 'Authorization: <EAS_TOKEN>'

レスポンス例 (クリックして詳細を表示)

  {
    "system": {
      "default_web_search": false,
      "query_type": "websearch"
    },
    "data_reader": {
      "concat_csv_rows": false,
      "enable_mandatory_ocr": false,
      "format_sheet_data_to_json": false,
      "sheet_column_filters": null,
      "number_workers": 4
    },
    "node_parser": {
      "type": "Sentence",
      "chunk_size": 500,
      "chunk_overlap": 10,
      "enable_multimodal": true,
      "paragraph_separator": "\n\n\n",
      "sentence_window_size": 3,
      "sentence_chunk_overlap": 200,
      "breakpoint_percentile_threshold": 95,
      "buffer_size": 1
    },
    "index": {
      "vector_store": {
        "persist_path": "./localdata/knowledgebase/default/.index/.faiss",
        "type": "faiss",
        "is_image_store": false
      },
      "enable_multimodal": true,
      "persist_path": "localdata/storage"
    },
    "embedding": {
      "source": "huggingface",
      "model": "bge-m3",
      "embed_batch_size": 10,
      "enable_sparse": false
    },
    "multimodal_embedding": {
      "source": "cnclip",
      "model": "ViT-L-14",
      "embed_batch_size": 10,
      "enable_sparse": false
    },
    "llm": {
      "source": "openai_compatible",
      "temperature": 0.1,
      "system_prompt": null,
      "max_tokens": 4000,
      "base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
      "api_key": "sk-xxx",
      "model": "qwen-max"
    },
    "multimodal_llm": {
      "source": "openai_compatible",
      "temperature": 0.1,
      "system_prompt": null,
      "max_tokens": 4000,
      "base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
      "api_key": "sk-xxx",
      "model": ""
    },
    "functioncalling_llm": null,
    "agent": {
      "system_prompt": "あなたは旅行アシスタントです、xxx",
      "python_scripts": "xxx",
      "function_definition": "xxx",
      "api_definition": "xxx"
    },
    "chat_store": {
      "type": "local",
      "persist_path": "localdata/storage"
    },
    "data_analysis": {
      "type": "mysql",
      "nl2sql_prompt": "入力された質問に対して、xxx",
      "synthesizer_prompt": "入力された質問に対して、xxx",
      "database": "my_pets",
      "tables": [],
      "descriptions": {},
      "enable_enhanced_description": false,
      "enable_db_history": true,
      "enable_db_embedding": true,
      "max_col_num": 100,
      "max_val_num": 1000,
      "enable_query_preprocessor": true,
      "enable_db_preretriever": true,
      "enable_db_selector": true,
      "user": "root",
      "password": "xxx",
      "host": "127.0.0.1",
      "port": 3306
    },
    "intent": {
      "descriptions": {
        "rag": "\nこのツールは、ナレッジベースからより具体的な情報を得るのに役立ちます。\n",
        "tool": "\nこのツールは、時間、天気、フライト、電車、ホテルに関する旅行情報を得るのに役立ちます。\n"
      }
    },
    "node_enhancement": {
      "tree_depth": 3,
      "max_clusters": 52,
      "proba_threshold": 0.1
    },
    "oss_store": {
      "bucket": "",
      "endpoint": "oss-cn-hangzhou.aliyuncs.com",
      "ak": null,
      "sk": null
    },
    "postprocessor": {
      "reranker_type": "no-reranker",
      "similarity_threshold": 0.5
    },
    "retriever": {
      "vector_store_query_mode": "default",
      "similarity_top_k": 3,
      "image_similarity_top_k": 2,
      "search_image": false,
      "hybrid_fusion_weights": [0.7, 0.3]
    },
    "search": {
      "source": "google",
      "search_count": 10,
      "serpapi_key": "142xxx",
      "search_lang": "zh-CN"
    },
    "synthesizer": {
      "use_multimodal_llm": false,
      "system_role_template": "あなたは xxx です",
      "custom_prompt_template": "あなたの目標は、正確で、有用で、理解しやすい情報を提供することです。xxx"
    },
    "query_rewrite": {
      "enabled": true,
      "rewrite_prompt_template": "# ロール\nあなたはプロの情報検索の専門家です、xxx",
      "llm": {
        "source": "openai_compatible",
        "temperature": 0.1,
        "system_prompt": null,
        "max_tokens": 4000,
        "base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
        "api_key": null,
        "model": ""
      }
    },
    "guardrail": {
      "endpoint": null,
      "region": null,
      "access_key_id": null,
      "access_key_secret": null,
      "custom_advice": null
    }
  }

RAG サービス構成の更新

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/config

リクエストメソッド

PATCH

リクエストヘッダー

  • Authorization: EAS_TOKEN # EAS 呼び出しのトークン

  • Content-Type: application/json

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
    curl -X 'PATCH' '<EAS_SERVICE_URL>/api/v1/config' \
    -H 'Authorization: <EAS_TOKEN>' \
    -H 'Content-Type: application/json' \
    -d '{
        "system": {
          "default_web_search": false,
          "query_type": "websearch"
        },
        "data_reader": {
          "concat_csv_rows": false,
          "enable_mandatory_ocr": false,
          "format_sheet_data_to_json": false,
          "sheet_column_filters": null,
          "number_workers": 4
        },
        "node_parser": {
          "type": "Sentence",
          "chunk_size": 500,
          "chunk_overlap": 10,
          "enable_multimodal": true,
          "paragraph_separator": "\n\n\n",
          "sentence_window_size": 3,
          "sentence_chunk_overlap": 200,
          "breakpoint_percentile_threshold": 95,
          "buffer_size": 1
        },
        ...
    }' # (その他の構成情報については、RAG サービス構成を取得するためのレスポンス例をご参照ください。)

レスポンス例 (クリックして詳細を表示)

  { "msg": "RAG 構成が正常に更新されました。" }

CHAT_DB 情報のロード

Chat_DB でのテーブルコンテンツクエリ用の Excel または CSV ファイルのアップロード

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/upload_datasheet

リクエストメソッド

POST

リクエストヘッダー

  • Authorization: EAS_TOKEN # EAS 呼び出しのトークン

  • Content-Type: multipart/form-data

リクエストパラメーター

file:Excel または CSV ファイル。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# "-F 'file=@" の後のパスをファイルパスに置き換えます。
  curl -X 'POST' <EAS_SERVICE_URL>/api/v1/upload_datasheet \
  -H 'Authorization: <EAS_TOKEN>' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@example_data/titanic_train.csv'

レスポンス例 (クリックして詳細を表示)

  {
    "task_id": "3b12cf5fabee4a99a32895d2f693****",
    "destination_path": "./localdata/data_analysis/titanic_train.csv",
    "data_preview": "xxx"
  }

Q&A ペアで Chat_DB データベース情報を補足するための JSON ファイルのアップロード

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/upload_db_history

リクエストメソッド

POST

リクエストヘッダー

  • Authorization: EAS_TOKEN # EAS 呼び出しのトークン

  • Content-Type: multipart/form-data

リクエストパラメーター

  • file:JSON ファイル。

  • db_name:データベース名。

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
# " -F 'file=@" の後のパスを JSON ファイルのパスに置き換えます。db_name をご利用のデータベース名に設定します。
  curl -X 'POST' <EAS_SERVICE_URL>/api/v1/upload_db_history \
  -H 'Authorization: <EAS_TOKEN>' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@example_data/db_query_history.json' \
  -F 'db_name=my_pets'

レスポンス例 (クリックして詳細を表示)

  {
    "task_id": "204191f946384a54a48b13ec00fd****",
    "destination_path": "./localdata/data_analysis/text2sql/history/my_pets_db_query_history.json"
  }

列の説明で Chat_DB データベース情報を補足するための CSV ファイルのアップロード

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/upload_db_description

リクエストメソッド

POST

リクエストヘッダー

  • Authorization: EAS_TOKEN # EAS 呼び出しのトークン

  • Content-Type: multipart/form-data

リクエストパラメーター

  • files:CSV ファイル。

  • db_name:データベース名。

cURL リクエスト例 (クリックして詳細を表示)

 # <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
 # "-F 'files=@" の後のパスを CSV ファイルのパスに置き換えます。db_name をデータベース名に設定します。
  curl -X 'POST' <EAS_SERVICE_URL>/api/v1/upload_db_description \
  -H 'Authorization: <EAS_TOKEN>' \
  -H 'Content-Type: multipart/form-data' \
  -F 'files=@example_data/database_description/schools.csv' \
  -F 'db_name=california_schools'

レスポンス例 (クリックして詳細を表示)

  {
    "task_id": "f417e436cf8b4c329f7b48a7f3c4****",
    "destination_path": "./localdata/data_analysis/text2sql/input_description"
  }

データベース情報のロード

呼び出しメソッド

URL

{EAS_SERVICE_URL}/api/v1/query/load_db_info

リクエストメソッド

POST

リクエストヘッダー

Authorization: EAS_TOKEN # EAS 呼び出しのトークン

cURL リクエスト例 (クリックして詳細を表示)

# <EAS_TOKEN> と <EAS_SERVICE_URL> をそれぞれサービストークンとエンドポイントに置き換えます。
curl -X 'POST' <EAS_SERVICE_URL>/api/v1/query/load_db_info -H 'Authorization: <EAS_TOKEN>'

レスポンス例 (クリックして詳細を表示)

  { "task_id": "2389f546af2b6c359d7b19c8b5c3****" }