d53742948d
1. 召回测试页面增加 Score 阈值参数配置 2. 知识库设置页面新增检索模型配置: - 检索方式 (向量/全文/混合/关键字检索) - Reranking 模型 (默认开启,不可关闭) - Top K 返回数量 - Score 阈值 (默认开启,可调节数值) 3. 修复 Dify API 字段名问题 (retrieval_model_dict) 4. 优化数据加载流程,使用详情接口获取完整配置 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
103 lines
2.5 KiB
TypeScript
103 lines
2.5 KiB
TypeScript
/**
|
|
* Dify Dataset 知识库 API 模块
|
|
*
|
|
* 提供浏览器端调用 Dify 知识库管理 API 的函数
|
|
*
|
|
* @module api/dify-dataset/api/datasetApi
|
|
*/
|
|
|
|
import axios from 'axios';
|
|
import type { Dataset, DatasetsResponse, UpdateDatasetRequest } from '../type';
|
|
|
|
/**
|
|
* API 基础 URL
|
|
*/
|
|
const API_URL = '/api/dataset';
|
|
|
|
/**
|
|
* 获取知识库列表
|
|
*
|
|
* @param page - 页码,默认 1
|
|
* @param limit - 每页数量,默认 20
|
|
* @returns 知识库列表响应
|
|
*/
|
|
export async function fetchDatasets(
|
|
page: number = 1,
|
|
limit: number = 20
|
|
): Promise<DatasetsResponse> {
|
|
const params = new URLSearchParams({
|
|
page: page.toString(),
|
|
limit: limit.toString(),
|
|
});
|
|
|
|
const response = await axios.get<DatasetsResponse>(
|
|
`${API_URL}/datasets?${params}`,
|
|
{ withCredentials: true }
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
/**
|
|
* 获取单个知识库详情
|
|
*
|
|
* @param datasetId - 知识库 ID
|
|
* @returns 知识库详情
|
|
*/
|
|
export async function fetchDataset(datasetId: string): Promise<Dataset> {
|
|
const response = await axios.get<Dataset>(
|
|
`${API_URL}/datasets/${datasetId}`,
|
|
{ withCredentials: true }
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
/**
|
|
* 更新知识库名称
|
|
*
|
|
* 注意:仅允许修改知识库名称,其他字段不开放修改
|
|
*
|
|
* @param datasetId - 知识库 ID
|
|
* @param name - 新的知识库名称
|
|
* @returns 更新后的知识库详情
|
|
*/
|
|
export async function updateDatasetName(
|
|
datasetId: string,
|
|
name: string
|
|
): Promise<Dataset> {
|
|
console.log('[Dataset Client] 更新知识库名称:', { datasetId, name });
|
|
|
|
const response = await axios.patch<Dataset>(
|
|
`${API_URL}/datasets/${datasetId}`,
|
|
{ name },
|
|
{
|
|
headers: { 'Content-Type': 'application/json' },
|
|
withCredentials: true,
|
|
}
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
/**
|
|
* 更新知识库设置(包含检索模型配置)
|
|
*
|
|
* @param datasetId - 知识库 ID
|
|
* @param settings - 更新的设置项
|
|
* @returns 更新后的知识库详情
|
|
*/
|
|
export async function updateDatasetSettings(
|
|
datasetId: string,
|
|
settings: UpdateDatasetRequest
|
|
): Promise<Dataset> {
|
|
console.log('[Dataset Client] 更新知识库设置:', { datasetId, settings });
|
|
|
|
const response = await axios.patch<Dataset>(
|
|
`${API_URL}/datasets/${datasetId}`,
|
|
settings,
|
|
{
|
|
headers: { 'Content-Type': 'application/json' },
|
|
withCredentials: true,
|
|
}
|
|
);
|
|
return response.data;
|
|
}
|