空のナレッジベースを作成
空のナレッジベースを作成します。ドキュメントを追加するには テキストからドキュメントを作成 または ファイルからドキュメントを作成 を使用します。
curl --request POST \
--url https://{api_base_url}/datasets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "",
"embedding_model": "<string>",
"embedding_model_provider": "<string>",
"external_knowledge_api_id": "<string>",
"external_knowledge_id": "<string>",
"permission": "only_me",
"provider": "vendor",
"summary_index_setting": {
"enable": true,
"model_name": "<string>",
"model_provider_name": "<string>",
"summary_prompt": "<string>"
}
}
'import requests
url = "https://{api_base_url}/datasets"
payload = {
"name": "<string>",
"description": "",
"embedding_model": "<string>",
"embedding_model_provider": "<string>",
"external_knowledge_api_id": "<string>",
"external_knowledge_id": "<string>",
"permission": "only_me",
"provider": "vendor",
"summary_index_setting": {
"enable": True,
"model_name": "<string>",
"model_provider_name": "<string>",
"summary_prompt": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '',
embedding_model: '<string>',
embedding_model_provider: '<string>',
external_knowledge_api_id: '<string>',
external_knowledge_id: '<string>',
permission: 'only_me',
provider: 'vendor',
summary_index_setting: {
enable: true,
model_name: '<string>',
model_provider_name: '<string>',
summary_prompt: '<string>'
}
})
};
fetch('https://{api_base_url}/datasets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_base_url}/datasets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '',
'embedding_model' => '<string>',
'embedding_model_provider' => '<string>',
'external_knowledge_api_id' => '<string>',
'external_knowledge_id' => '<string>',
'permission' => 'only_me',
'provider' => 'vendor',
'summary_index_setting' => [
'enable' => true,
'model_name' => '<string>',
'model_provider_name' => '<string>',
'summary_prompt' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/datasets"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{api_base_url}/datasets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/datasets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"app_count": 0,
"author_name": "admin",
"built_in_field_enabled": true,
"chunk_structure": null,
"created_at": 1741267200,
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"data_source_type": null,
"description": "プロダクト API 技術ドキュメント",
"doc_form": "text_model",
"doc_metadata": [],
"document_count": 0,
"embedding_available": true,
"embedding_model": "text-embedding-3-small",
"embedding_model_provider": "langgenius/openai/openai",
"enable_api": true,
"external_knowledge_info": null,
"external_retrieval_model": null,
"icon_info": null,
"id": "c42e2a6e-40b3-4330-96f8-f1e4d768e8c9",
"indexing_technique": "high_quality",
"is_multimodal": false,
"is_published": false,
"maintainer": "admin",
"name": "Product Documentation",
"permission": "only_me",
"pipeline_id": null,
"provider": "vendor",
"retrieval_model_dict": {
"reranking_enable": false,
"reranking_mode": null,
"reranking_model": {
"reranking_model_name": "",
"reranking_provider_name": ""
},
"score_threshold": null,
"score_threshold_enabled": false,
"search_method": "semantic_search",
"top_k": 3,
"weights": null
},
"runtime_mode": null,
"summary_index_setting": null,
"tags": [],
"total_available_documents": 0,
"total_documents": 0,
"updated_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"word_count": 0
}Authorizations
すべてのリクエストは API キーで認証します:Authorization: Bearer {API_KEY}。アプリのエンドポイントにはアプリの API キーを、ナレッジのエンドポイントにはナレッジベースの API キーを使用します(Dify API クイックスタート)。
キーはサーバーサイドで保管し、クライアントコードには決して埋め込まないでください。キーが欠落または無効なリクエストは HTTP 401(unauthorized)で失敗します。
Body
ナレッジベース名。
1 - 40ナレッジベースの説明です。
400埋め込みモデル名です。利用可能なモデルを取得 で model_type=text-embedding を指定した際の model フィールドの値を使用します。
埋め込みモデルプロバイダーの識別子です。organization/plugin_name/provider_name の形式です(例:langgenius/openai/openai)。openai のような短縮名は langgenius/<name>/<name> に展開され、langgenius が公開したプラグインでのみ機能します。
有効な値は 利用可能なモデルを取得 で model_type=text-embedding を指定した際の provider フィールドから取得します。
外部ナレッジ API 接続の ID です。
外部ナレッジベースの ID です。
high_quality は埋め込みモデルを使用した精密検索、economy はキーワードベースのインデキシングです。
high_quality, economy このナレッジベースにアクセスできるユーザーを制御します。only_me は作成者のみに制限、all_team_members はワークスペース全体にアクセスを許可、partial_members は指定されたメンバーにアクセスを許可します。
only_me, all_team_members, partial_members vendor は内部ナレッジベース、external は外部ナレッジベースです。
vendor, external 検索モデルの設定です。このナレッジベースをクエリする際のチャンクの検索方法とランキング方法を制御します。
Show child attributes
Show child attributes
サマリーインデックスの設定です。
Show child attributes
Show child attributes
Response
ナレッジベースが正常に作成されました。
現在このナレッジベースを使用しているアプリケーションの数です。
作成者の表示名です。
組み込みメタデータフィールド(例:document_name、uploader)が有効かどうかです。
チャンク構造の設定です。
作成タイムスタンプ(Unix エポック、秒単位)です。
ナレッジベースを作成したユーザーの ID です。
ドキュメントのデータソースタイプです。まだ設定されていない場合は null です。
ナレッジベースの目的または内容を説明するオプションのテキストです。
ドキュメントのチャンキングモードです。text_model は標準テキストチャンキング、hierarchical_model は親子構造、qa_model は QA ペア抽出を示します。
ナレッジベースのメタデータフィールド定義です。
Show child attributes
Show child attributes
ナレッジベース内のドキュメント総数です。
設定された埋め込みモデルが現在利用可能かどうかです。
インデックス作成に使用される埋め込みモデルの名前です。
埋め込みモデルプロバイダーの識別子です。organization/plugin_name/provider_name の形式です(例:langgenius/openai/openai)。以前のナレッジベースでは短縮形(例:openai)が返される場合があります。
このナレッジベースで API アクセスが有効かどうかです。
外部ナレッジベースの接続詳細です。provider が external の場合に存在します。
Show child attributes
Show child attributes
外部ナレッジベースの検索設定です。内部ナレッジベースの場合は null です。
Show child attributes
Show child attributes
ナレッジベースのアイコン表示設定です。
Show child attributes
Show child attributes
ナレッジベースの一意識別子です。
high_quality は埋め込みモデルを使用した精密検索、economy はキーワードベースのインデキシングです。
マルチモーダルコンテンツ処理が有効かどうかです。
ナレッジベースが公開済みかどうかです。
ナレッジベースのメンテナーの表示名です。設定されていない場合は null です。
ナレッジベースの表示名です。ワークスペース内で一意です。
permission が partial_members の場合にアクセスを許可されたメンバーのアカウント ID です。更新レスポンスでは常に含まれ、詳細レスポンスでは permission が partial_members の場合にのみ含まれます。
このナレッジベースにアクセスできるユーザーを制御します。指定可能な値:only_me、all_team_members、partial_members。
カスタム処理パイプラインが設定されている場合のパイプライン ID です。
プロバイダータイプです。内部管理の場合は vendor、外部ナレッジベース接続の場合は external です。
ナレッジベースの検索設定です。
Show child attributes
Show child attributes
ランタイム処理モードです。
サマリーインデックスの設定です。
Show child attributes
Show child attributes
このナレッジベースに関連付けられたタグです。
Show child attributes
Show child attributes
有効で利用可能なドキュメントの数です。
ドキュメントの合計数です。
最終更新タイムスタンプ(Unix エポック、秒単位)です。
ナレッジベースを最後に更新したユーザーの ID です。
全ドキュメントの合計単語数です。
Was this page helpful?
curl --request POST \
--url https://{api_base_url}/datasets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "",
"embedding_model": "<string>",
"embedding_model_provider": "<string>",
"external_knowledge_api_id": "<string>",
"external_knowledge_id": "<string>",
"permission": "only_me",
"provider": "vendor",
"summary_index_setting": {
"enable": true,
"model_name": "<string>",
"model_provider_name": "<string>",
"summary_prompt": "<string>"
}
}
'import requests
url = "https://{api_base_url}/datasets"
payload = {
"name": "<string>",
"description": "",
"embedding_model": "<string>",
"embedding_model_provider": "<string>",
"external_knowledge_api_id": "<string>",
"external_knowledge_id": "<string>",
"permission": "only_me",
"provider": "vendor",
"summary_index_setting": {
"enable": True,
"model_name": "<string>",
"model_provider_name": "<string>",
"summary_prompt": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '',
embedding_model: '<string>',
embedding_model_provider: '<string>',
external_knowledge_api_id: '<string>',
external_knowledge_id: '<string>',
permission: 'only_me',
provider: 'vendor',
summary_index_setting: {
enable: true,
model_name: '<string>',
model_provider_name: '<string>',
summary_prompt: '<string>'
}
})
};
fetch('https://{api_base_url}/datasets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_base_url}/datasets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '',
'embedding_model' => '<string>',
'embedding_model_provider' => '<string>',
'external_knowledge_api_id' => '<string>',
'external_knowledge_id' => '<string>',
'permission' => 'only_me',
'provider' => 'vendor',
'summary_index_setting' => [
'enable' => true,
'model_name' => '<string>',
'model_provider_name' => '<string>',
'summary_prompt' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/datasets"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{api_base_url}/datasets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/datasets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"app_count": 0,
"author_name": "admin",
"built_in_field_enabled": true,
"chunk_structure": null,
"created_at": 1741267200,
"created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"data_source_type": null,
"description": "プロダクト API 技術ドキュメント",
"doc_form": "text_model",
"doc_metadata": [],
"document_count": 0,
"embedding_available": true,
"embedding_model": "text-embedding-3-small",
"embedding_model_provider": "langgenius/openai/openai",
"enable_api": true,
"external_knowledge_info": null,
"external_retrieval_model": null,
"icon_info": null,
"id": "c42e2a6e-40b3-4330-96f8-f1e4d768e8c9",
"indexing_technique": "high_quality",
"is_multimodal": false,
"is_published": false,
"maintainer": "admin",
"name": "Product Documentation",
"permission": "only_me",
"pipeline_id": null,
"provider": "vendor",
"retrieval_model_dict": {
"reranking_enable": false,
"reranking_mode": null,
"reranking_model": {
"reranking_model_name": "",
"reranking_provider_name": ""
},
"score_threshold": null,
"score_threshold_enabled": false,
"search_method": "semantic_search",
"top_k": 3,
"weights": null
},
"runtime_mode": null,
"summary_index_setting": null,
"tags": [],
"total_available_documents": 0,
"total_documents": 0,
"updated_at": 1741267200,
"updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
"word_count": 0
}