All Products
Search
Document Center

:Berlaku untuk versi gambar v0.3.0 hingga v0.3.4

Last Updated:Jun 21, 2026

PAI-RAG menyediakan serangkaian Operasi API yang komprehensif untuk fitur-fitur seperti manajemen layanan, manajemen basis pengetahuan, dan chat. Topik ini menjelaskan Operasi API dan metode pemanggilan untuk layanan RAG yang dideploy menggunakan versi gambar v0.3.0 hingga v0.3.4.

Batasan

Topik ini hanya berlaku untuk layanan RAG yang dideploy dengan versi gambar v0.3.0 hingga v0.3.4.

Buka halaman Elastic Algorithm Service (EAS), klik nama layanan RAG, lalu temukan versi gambar di bagian Environment Information pada halaman Overview.

Dapatkan titik akhir layanan dan token

Sebelum memanggil layanan RAG menggunakan Operasi API, Anda harus mendapatkan titik akhir layanan dan token:

  1. Login ke Konsol PAI. Pilih wilayah di bagian atas halaman. Kemudian, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).

  2. Klik nama layanan target. Di bagian Basic Information, klik View Endpoint Information.

  3. Pada halaman Invocation Method, peroleh service endpoint (EAS_SERVICE_URL) dan token (EAS_Token).

    Penting
    • Hapus garis miring (/) dari akhir EAS_SERVICE_URL.

    • Panggil layanan menggunakan titik akhir publik: Klien harus memiliki akses internet.

    • Panggil layanan menggunakan titik akhir VPC: Klien harus berada dalam virtual private cloud (VPC) yang sama dengan layanan RAG.

Chat API

Anda dapat memanggil layanan menggunakan Operasi API yang kompatibel dengan OpenAI. Sebelum memanggil layanan, Anda harus mengonfigurasi fitur-fitur yang diperlukan pada WebUI layanan RAG.

Fitur yang didukung

  • web search: Melakukan pencarian web. Anda harus mengonfigurasi parameter pencarian web terlebih dahulu pada WebUI layanan RAG.

  • chat knowledgebase: Mengkueri basis pengetahuan. Anda harus mengunggah file basis pengetahuan terlebih dahulu.

  • chat llm: Menggunakan large language model (LLM) untuk memberikan jawaban. Anda harus mengonfigurasi layanan LLM terlebih dahulu.

  • chat agent: Memanggil tool menggunakan agen. Anda harus mengonfigurasi kode terkait agen pada WebUI layanan RAG terlebih dahulu.

  • chat db: Mengkueri database atau tabel. Anda harus mengonfigurasi pengaturan analitik data pada WebUI layanan RAG terlebih dahulu.

Metode pemanggilan

URL

{EAS_SERVICE_URL}/v1/chat/completions

Metode permintaan

POST

Header permintaan

Authorization: EAS_TOKEN (Token untuk panggilan EAS)

Body HTTP

{
    "model": "default",  # Nama model. Atur ke default atau nama model yang dikonfigurasi pada WebUI.
    "messages": [
        {"role": "user", "content": "Hello"},
        {"role": "assistant", "content": "Hello, how can I help you?"},
        {"role": "user", "content": "What is the capital of Zhejiang?"},
        {"role": "assistant", "content": "Hangzhou is the capital of Zhejiang."},
        {"role": "user", "content": "What are some fun places to visit?"},
    ],
    "stream": true,  # Menentukan apakah akan mengaktifkan keluaran streaming.
    "chat_knowledgebase": true,  # Menentukan apakah akan mengkueri basis pengetahuan lokal.
    "search_web": false,  # Menentukan apakah akan menggunakan pencarian web.
    "chat_llm": false,  # Menentukan apakah hanya akan menggunakan LLM untuk chat.
    "chat_agent": false,  # Menentukan apakah akan menggunakan agen.
    "chat_db": false,  # Menentukan apakah akan mengkueri database.
    "index_name": "default",  # Nama indeks untuk skenario RAG. Anda hanya dapat menentukan satu nama indeks. Jika tidak menentukan nama indeks, sistem akan menggunakan indeks default.
    "max_tokens": 1024,  # Panjang output maksimum, misalnya 1024.
    "temperature": 0.1,  # Mengontrol tingkat keacakan konten yang dihasilkan. Nilainya harus berada dalam rentang [0, 1]. Nilai yang lebih kecil menunjukkan konten yang lebih deterministik. Nilai yang lebih besar menunjukkan konten yang lebih beragam.
}
Penting
  • Jika Anda mengaktifkan beberapa fitur secara bersamaan, sistem akan memanggilnya berdasarkan prioritas berikut, dari tertinggi ke terendah: search_web, chat_knowledgebase, chat_agent, chat_db, dan chat_llm. Untuk setiap fitur, sistem melakukan intent recognition untuk menentukan apakah akan memanggil fitur tersebut atau langsung menggunakan LLM untuk menghasilkan tanggapan.

  • Jika semua flag fitur diatur ke false atau tidak dilewatkan, layanan akan secara default mengkueri basis pengetahuan lokal (yaitu, "chat_knowledgebase": true).

Contoh permintaan (klik untuk melihat detail)

Pencarian web

from openai import OpenAI
##### Konfigurasi API #####
# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
openai_api_key = "<EAS_TOKEN>"
openai_api_base = "<EAS_SERVICE_URL>/v1"
client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)
#### Chat ######
def chat():
    stream = True
    chat_completion = client.chat.completions.create(
        model="default",
        stream=stream,
        messages=[
            {"role": "user", "content": "Hello"},
            {"role": "assistant", "content": "Hello, how can I help you?"},
            {"role": "user", "content": "What is the capital of Zhejiang?"},
            {"role": "assistant", "content": "Hangzhou is the capital of Zhejiang."},
            {"role": "user", "content": "What are some fun places to visit?"},
        ],
        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()

Kueri database

from openai import OpenAI
##### Konfigurasi API #####
# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
openai_api_key = "<EAS_TOKEN>"
openai_api_base = "<EAS_SERVICE_URL>/v1"
client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)
#### Chat ####
def chat():
    stream = True
    chat_completion = client.chat.completions.create(
        model="default",
        stream=stream,
        messages=[
            {"role": "user", "content": "How many cats are there?"},
            {"role": "assistant", "content": "There are 2 cats."},
            {"role": "user", "content": "And dogs?"},
        ],
        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()

Knowledgebase API

Tambahkan basis pengetahuan

Metode pemanggilan

URL

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

Metode permintaan

POST

Header permintaan

  • Authorization: EAS_TOKEN

  • Content-Type: application/json

Parameter permintaan

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti <name> dengan nama basis pengetahuan Anda. Perbarui vector_store_config dengan konfigurasi database vektor Anda.
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
      }
  }'

Kode di atas menunjukkan contoh penggunaan Milvus untuk parameter vector_store_config. Bagian berikut menjelaskan konfigurasi vector_store_config untuk database vektor lainnya.

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"
      }

Contoh respons (klik untuk melihat detail)

{ "msg": "Add knowledgebase 'xxx' successfully." }

Daftar basis pengetahuan

Metode pemanggilan

URL

{EAS_SERVICE_URL}/api/v1/knowledgebases

Metode permintaan

GET

Header permintaan

Authorization: EAS_TOKEN # Token untuk panggilan EAS

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases -H 'Authorization: <EAS_TOKEN>'

Contoh respons (klik untuk melihat detail)

{
  "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"
      }
    }
  }
}

Unggah file basis pengetahuan

Metode pemanggilan

URL

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

Metode permintaan

POST

Header permintaan

  • Authorization: EAS_TOKEN # Token untuk panggilan EAS

  • Content-Type: multipart/form-data

Parameter permintaan

  • files: File.

  • name: Nama basis pengetahuan, misalnya my_milvus.

Contoh permintaan cURL (klik untuk melihat detail)

  • Unggah satu file (gunakan -F 'files=@path' untuk mengunggah file)

    # Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
    # Ganti <name> dengan nama basis pengetahuan Anda.
    # Ganti path setelah "-F 'files=@" dengan path file basis pengetahuan Anda.
    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'
  • Unggah beberapa file

    Gunakan beberapa parameter -F 'files=@path'. Setiap parameter sesuai dengan satu file yang akan diunggah. Contohnya:

    # Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
    # Ganti <name> dengan nama basis pengetahuan Anda.
    # Ganti path setelah "-F 'files=@" dengan path file basis pengetahuan Anda.
    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' \

Contoh respons (klik untuk melihat detail)

{ "message": "Files have been successfully uploaded." }

Dapatkan status unggahan

Metode pemanggilan

URL

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

Metode permintaan

GET

Header permintaan

Authorization: EAS_TOKEN # Token untuk panggilan EAS

Parameter permintaan

  • file_name: Nama file.

  • name: Nama basis pengetahuan, misalnya my_milvus.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti <name> dengan nama basis pengetahuan Anda dan <file_name> dengan nama file Anda.
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/files/<file_name> -H 'Authorization: <EAS_TOKEN>'

Contoh respons (klik untuk melihat detail)

{
  "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"
}

Dapatkan riwayat unggahan

Metode pemanggilan

URL

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

Metode permintaan

GET

Header permintaan

Authorization: EAS_TOKEN # Token untuk panggilan EAS

Parameter permintaan

name: Nama basis pengetahuan, misalnya my_milvus.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti <name> dengan nama basis pengetahuan Anda.
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/history -H 'Authorization: <EAS_TOKEN>'

Contoh respons (klik untuk melihat detail)

[
  {
    "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"
  }
]

Daftar file basis pengetahuan

Metode pemanggilan

URL

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

Metode permintaan

GET

Header permintaan

Authorization: EAS_TOKEN # Token untuk panggilan EAS

Parameter permintaan

name: Nama basis pengetahuan, misalnya my_milvus.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti <name> dengan nama basis pengetahuan Anda.
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/files -H 'Authorization: <EAS_TOKEN>'

Contoh respons (klik untuk melihat detail)

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

Hapus file basis pengetahuan

Metode pemanggilan

URL

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

Metode permintaan

DELETE

Header permintaan

Authorization: EAS_TOKEN # Token untuk panggilan EAS

Parameter permintaan

  • file_name: Nama file.

  • name: Nama basis pengetahuan, misalnya my_milvus.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti <name> dengan nama basis pengetahuan Anda. Ganti <file_name> dengan nama file yang akan dihapus.
curl -X 'DELETE' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name>/files/<file_name> -H 'Authorization: <EAS_TOKEN>'

Contoh respons (klik untuk melihat detail)

{ "message": "File 'paul_graham_essay.txt' have been successfully removed." }

Dapatkan informasi tentang basis pengetahuan

Metode pemanggilan

URL

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

Metode permintaan

GET

Header permintaan

Authorization: EAS_TOKEN # Token untuk panggilan EAS

Parameter permintaan

name: Nama basis pengetahuan, misalnya my_milvus.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti <name> dengan nama basis pengetahuan Anda.
curl -X 'GET' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name> -H 'Authorization: <EAS_TOKEN>'

Contoh respons (klik untuk melihat detail)

{
  "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"
  }
}

Perbarui basis pengetahuan

Metode pemanggilan

URL

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

Metode permintaan

PATCH

Header permintaan

  • Authorization: EAS_TOKEN # Token untuk panggilan EAS

  • Content-Type: application/json

Parameter permintaan

  • name: Nama basis pengetahuan, misalnya new_milvus.

  • vector_store_config: Konfigurasi basis pengetahuan.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti <name> dengan nama basis pengetahuan Anda.
# Atur vector_store_config ke konfigurasi basis pengetahuan yang ingin Anda perbarui.
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
      }
  }'

Kode di atas menunjukkan contoh penggunaan Milvus untuk parameter vector_store_config. Untuk informasi lebih lanjut tentang konfigurasi vector_store_config untuk database vektor lainnya, lihat Tambahkan basis pengetahuan.

Contoh respons (klik untuk melihat detail)

{ "msg": "Update knowledgebase 'new_milvus' successfully." }

Hapus basis pengetahuan

Metode pemanggilan

URL

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

Metode permintaan

DELETE

Header permintaan

Authorization: EAS_TOKEN # Token untuk panggilan EAS

Parameter permintaan

name: Nama basis pengetahuan, misalnya new_milvus.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti <name> dengan nama basis pengetahuan Anda.
curl -X 'DELETE' <EAS_SERVICE_URL>/api/v1/knowledgebases/<name> -H 'Authorization: <EAS_TOKEN>'

Contoh respons (klik untuk melihat detail)

{ "msg": "Delete knowledgebase 'new_milvus' successfully." }

Ambil dari basis pengetahuan

v0.3.0-v0.3.3

Metode pemanggilan

URL

{EAS_SERVICE_URL}/api/v1/query/retrieval

Metode permintaan

POST

Header permintaan

  • Authorization: EAS_TOKEN # Token untuk panggilan EAS

  • Content-Type: application/json

Parameter permintaan

  • question: Kueri pengguna.

  • index_name: Nama basis pengetahuan. Nilai default adalah default.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Atur question ke kueri pengguna.
# Atur index_name ke nama basis pengetahuan.
  curl -X 'POST' '<EAS_SERVICE_URL>/api/v1/query/retrieval' \
  -H 'Authorization: <EAS_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
      "question": "What can I do when the x13-auto-arima component reports an error?",
      "index_name": "default"
  }'

Contoh respons (klik untuk melihat detail)

{
  "docs": [
    {
      "text": "2.PAl-Studio/Designer FAQ 2.1. FAQ about algorithm components : \nCharacters that cannot be transcoded are displayed as \"blob.\" Ignore this error, because nodes in the downstream can read and process the data.\nWhat can I do when the x13-auto-arima component reports an error?\nMake sure that up to 1,200 training data samples are imported into the x13-auto-arima component.\nWhat can I do when the Doc2Vec component reports the CallExecutorToParseTaskFail error?",
      "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.PAl-Studio/Designer FAQ 2.1. FAQ about algorithm components : \nThis topic describes the FAQ about algorit hm components.\nWhat can I do when the format conversion component reports an error? · What can I do when \"blob\" is displayed on the data present ation page of the PAl? · what canI do when the xl3-auto-arima component reports an error? · What can Ido when the Doc2Vec component reports the CallExecutorToParseTaskFail error?\nWhat can I do when the format conversion component reports an error?",
      "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.PAl-Studio/Designer FAQ 2.1. FAQ about algorithm components\n2.3. Preview Oss files in Machine Learning Studio : \n2.On the details page of the Oss bucket, choose Access Cont rol $>$ Cross-Origin Resource Sharing (CORS). In the Cross-Origin Resource Sharing (CORS) section, click Conf igure.\n3.Click Create Rule. In the Create Rule panel, set the following parameters.",
      "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

Metode pemanggilan

URL

{EAS_SERVICE_URL}/api/v1/retrieval

Metode permintaan

POST

Header permintaan

  • Authorization: EAS_TOKEN # Token untuk panggilan EAS

  • Content-Type: application/json

Parameter permintaan

  • query: Kueri pencarian pengguna.

  • knowledgebase_id: Nama basis pengetahuan. Nilai default adalah default.

  • retrieval_settings: Parameter pengambilan. Kami menyarankan Anda mengonfigurasi parameter ini pada WebUI. Untuk informasi lebih lanjut tentang parameter tersebut, lihat WebUI.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Atur query ke kueri pencarian pengguna.
# Atur knowledge_id ke nama basis pengetahuan.
curl -X 'POST' '<EAS_SERVICE_URL>/api/v1/retrieval' \
  -H 'Authorization: <EAS_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
      "query": "What can I do when the x13-auto-arima component reports an error?",
      "knowledgebase_id": "default",
      "retrieval_settings": {"similarity_top_k": 5}
  }'

Operasi API lainnya

Dapatkan konfigurasi layanan RAG

Metode pemanggilan

URL

{EAS_SERVICE_URL}/api/v1/config

Metode permintaan

GET

Header permintaan

Authorization: EAS_TOKEN # Token untuk panggilan EAS

Contoh permintaan cURL (klik untuk melihat detail)

 # Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
 curl -X 'GET' '<EAS_SERVICE_URL>/api/v1/config' -H 'Authorization: <EAS_TOKEN>'

Contoh respons (klik untuk melihat detail)

  {
    "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": "You are a travel assistant, xxx",
      "python_scripts": "xxx",
      "function_definition": "xxx",
      "api_definition": "xxx"
    },
    "chat_store": {
      "type": "local",
      "persist_path": "localdata/storage"
    },
    "data_analysis": {
      "type": "mysql",
      "nl2sql_prompt": "Given an input question, xxx",
      "synthesizer_prompt": "Given an input question, 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": "\nThis tool can help you get more specific information from the knowledge base.\n",
        "tool": "\nThis tool can help you get travel information about time, weather, flights, train and hotels.\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": "You are xxx",
      "custom_prompt_template": "Your goal is to provide accurate, useful, and easy-to-understand information. xxx"
    },
    "query_rewrite": {
      "enabled": true,
      "rewrite_prompt_template": "# Role\nYou are a professional information retrieval expert, 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
    }
  }

Perbarui konfigurasi layanan RAG

Metode pemanggilan

URL

{EAS_SERVICE_URL}/api/v1/config

Metode permintaan

PATCH

Header permintaan

  • Authorization: EAS_TOKEN # Token untuk panggilan EAS

  • Content-Type: application/json

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
    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
        },
        ...
    }' # (Untuk informasi konfigurasi lebih lanjut, lihat contoh respons untuk mendapatkan konfigurasi layanan RAG.)

Contoh respons (klik untuk melihat detail)

  { "msg": "Update RAG configuration successfully." }

Muat informasi CHAT_DB

Unggah file Excel atau CSV untuk kueri konten tabel di Chat_DB

Metode pemanggilan

URL

{EAS_SERVICE_URL}/api/v1/upload_datasheet

Metode permintaan

POST

Header permintaan

  • Authorization: EAS_TOKEN # Token untuk panggilan EAS

  • Content-Type: multipart/form-data

Parameter permintaan

file: File Excel atau CSV.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti path setelah "-F 'file=@" dengan path 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'

Contoh respons (klik untuk melihat detail)

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

Unggah file JSON untuk melengkapi informasi database Chat_DB dengan pasangan tanya jawab

Metode pemanggilan

URL

{EAS_SERVICE_URL}/api/v1/upload_db_history

Metode permintaan

POST

Header permintaan

  • Authorization: EAS_TOKEN # Token untuk panggilan EAS

  • Content-Type: multipart/form-data

Parameter permintaan

  • file: File JSON.

  • db_name: Nama database.

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
# Ganti path setelah " -F 'file=@" dengan path file JSON. Atur db_name ke nama database Anda.
  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'

Contoh respons (klik untuk melihat detail)

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

Unggah file CSV untuk melengkapi informasi database Chat_DB dengan deskripsi kolom

Metode pemanggilan

URL

{EAS_SERVICE_URL}/api/v1/upload_db_description

Metode permintaan

POST

Header permintaan

  • Authorization: EAS_TOKEN # Token untuk panggilan EAS

  • Content-Type: multipart/form-data

Parameter permintaan

  • files: File CSV.

  • db_name: Nama database.

Contoh permintaan cURL (klik untuk melihat detail)

 # Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
 # Ganti path setelah "-F 'files=@" dengan path file CSV Anda. Atur db_name ke nama database.
  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'

Contoh respons (klik untuk melihat detail)

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

Muat informasi database

Metode pemanggilan

URL

{EAS_SERVICE_URL}/api/v1/query/load_db_info

Metode permintaan

POST

Header permintaan

Authorization: EAS_TOKEN # Token untuk panggilan EAS

Contoh permintaan cURL (klik untuk melihat detail)

# Ganti <EAS_TOKEN> dan <EAS_SERVICE_URL> masing-masing dengan token layanan dan titik akhir.
curl -X 'POST' <EAS_SERVICE_URL>/api/v1/query/load_db_info -H 'Authorization: <EAS_TOKEN>'

Contoh respons (klik untuk melihat detail)

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