ナレッジベースリストを取得
ナレッジベースのページネーションリストを返します。任意でキーワードまたはタグでフィルタリングできます。
1 min read
get/datasets
Request example
curl --request GET \
--url https://api.dify.ai/v1/datasets \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.dify.ai/v1/datasets"
headers = {
"Authorization": "Bearer <token>",
}
response = requests.request("GET", url, headers=headers)
print(response.text)const response = await fetch('https://api.dify.ai/v1/datasets', {
method: 'GET',
headers: {
'Authorization': 'Bearer <token>'
}
});
const data = await response.json();
console.log(data);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.dify.ai/v1/datasets',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer <token>',
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.dify.ai/v1/datasets"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dify.ai/v1/datasets"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());require 'uri'
require 'net/http'
url = URI('https://api.dify.ai/v1/datasets')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = url.scheme == 'https'
request = Net::HTTP::Get.new(url)
request['Authorization'] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyResponse
{
"data": [
{
"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
}
],
"has_more": false,
"limit": 20,
"page": 1,
"total": 1
}{
"code": "forbidden",
"message": "The API key is not authorized to access this knowledge base.",
"status": 403
}get/datasets
Authorization
すべてのリクエストは API キーで認証します:Authorization: Bearer {API_KEY}。アプリのエンドポイントにはアプリの API キーを、ナレッジのエンドポイントにはナレッジベースの API キーを使用します(Dify API クイックスタート)。
キーはサーバーサイドで保管し、クライアントコードには決して埋め込まないでください。キーが欠落または無効なリクエストは HTTP 401(unauthorized)で失敗します。
Query parameters
名前でフィルタリングする検索キーワードです。
フィルタリングに使用するタグ ID です。タグ ID は ナレッジベースタグリストを取得 から取得します。
Responses
application/json
ナレッジベースのリストです。
ナレッジベースオブジェクトの配列です。
Show child attributesHide child attributes
現在このナレッジベースを使用しているアプリケーションの数です。
作成者の表示名です。
組み込みメタデータフィールド(例:
document_name、uploader)が有効かどうかです。チャンク構造の設定です。
作成タイムスタンプ(Unix エポック、秒単位)です。
ナレッジベースを作成したユーザーの ID です。
ドキュメントのデータソースタイプです。まだ設定されていない場合は
null です。ナレッジベースの目的または内容を説明するオプションのテキストです。
ドキュメントのチャンキングモードです。
text_model は標準テキストチャンキング、hierarchical_model は親子構造、qa_model は QA ペア抽出を示します。ナレッジベースのメタデータフィールド定義です。
ナレッジベース内のドキュメント総数です。
設定された埋め込みモデルが現在利用可能かどうかです。
インデックス作成に使用される埋め込みモデルの名前です。
埋め込みモデルプロバイダーの識別子です。
organization/plugin_name/provider_name の形式です(例:langgenius/openai/openai)。以前のナレッジベースでは短縮形(例:openai)が返される場合があります。このナレッジベースで API アクセスが有効かどうかです。
外部ナレッジベースの接続詳細です。
provider が external の場合に存在します。外部ナレッジベースの検索設定です。内部ナレッジベースの場合は
null です。ナレッジベースのアイコン表示設定です。
ナレッジベースの一意識別子です。
high_quality は埋め込みモデルを使用した精密検索、economy はキーワードベースのインデキシングです。マルチモーダルコンテンツ処理が有効かどうかです。
ナレッジベースが公開済みかどうかです。
ナレッジベースのメンテナーの表示名です。設定されていない場合は
null です。ナレッジベースの表示名です。ワークスペース内で一意です。
permission が partial_members の場合にアクセスを許可されたメンバーのアカウント ID です。更新レスポンスでは常に含まれ、詳細レスポンスでは permission が partial_members の場合にのみ含まれます。このナレッジベースにアクセスできるユーザーを制御します。指定可能な値:
only_me、all_team_members、partial_members。カスタム処理パイプラインが設定されている場合のパイプライン ID です。
プロバイダータイプです。内部管理の場合は
vendor、外部ナレッジベース接続の場合は external です。ナレッジベースの検索設定です。
Show child attributesHide child attributes
リランキングが有効かどうかです。
リランキングモードです。
reranking_model はモデルベースのリランキング、weighted_score はスコアベースの重み付けを示します。リランキングが無効の場合は null です。リランキングモデルの設定です。
結果の最小関連性スコアです。
score_threshold_enabled が true の場合にのみ有効です。スコア閾値フィルタリングが有効かどうかです。
検索に使用する検索方法です。
keyword_search はキーワードマッチング、semantic_search は埋め込みベースの類似度検索、full_text_search は全文インデックス検索、hybrid_search はセマンティックとキーワードの組み合わせ検索を示します。返す結果の最大数です。
ハイブリッド検索の重み設定です。
Show child attributesHide child attributes
キーワード検索の重み設定です。
Show child attributesHide child attributes
キーワード検索結果に割り当てられた重みです。
セマンティック検索の重み設定です。
セマンティック検索とキーワード検索の重みを調整するための戦略です。
ランタイム処理モードです。
サマリーインデックスの設定です。
このナレッジベースに関連付けられたタグです。
有効で利用可能なドキュメントの数です。
ドキュメントの合計数です。
最終更新タイムスタンプ(Unix エポック、秒単位)です。
ナレッジベースを最後に更新したユーザーの ID です。
全ドキュメントの合計単語数です。
次のページにさらに項目が存在するかどうかです。
1 ページあたりの件数です。
現在のページ番号です。
一致する項目の合計数です。