dify-sdk
Version:
dify-sdk
183 lines • 9.42 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DifyDataset = void 0;
var tslib_1 = require("tslib");
var DifyDataset = /** @class */ (function () {
function DifyDataset(config) {
this.config = tslib_1.__assign({ defaultHeaders: {} }, config);
}
DifyDataset.prototype.getUploadFile = function (params) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var url, response;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
url = "".concat(this.config.baseUrl, "/datasets/").concat(params.dataset_id, "/documents/").concat(params.document_id, "/upload-file");
return [4 /*yield*/, fetch(url, {
headers: tslib_1.__assign({ Authorization: "Bearer ".concat(this.config.apiKey), Accept: 'application/json' }, this.config.defaultHeaders),
method: 'GET',
})];
case 1:
response = _a.sent();
if (!response.ok) {
throw new Error("Request failed: ".concat(response.status, " ").concat(response.statusText));
}
return [2 /*return*/, response.json()];
}
});
});
};
/**
* 通过文本创建文档
* @param params 创建文档参数
* @returns 创建结果
*/
DifyDataset.prototype.createDocumentByText = function (params) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var dataset_id, bodyParams, url, response;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
dataset_id = params.dataset_id, bodyParams = tslib_1.__rest(params, ["dataset_id"]);
url = "".concat(this.config.baseUrl, "/datasets/").concat(dataset_id, "/document/create-by-text");
return [4 /*yield*/, fetch(url, {
method: 'POST',
headers: tslib_1.__assign({ Authorization: "Bearer ".concat(this.config.apiKey), 'Content-Type': 'application/json' }, this.config.defaultHeaders),
body: JSON.stringify(bodyParams),
})];
case 1:
response = _a.sent();
if (!response.ok) {
throw new Error("Request failed: ".concat(response.status, " ").concat(response.statusText));
}
return [2 /*return*/, response.json()];
}
});
});
};
/**
* 通过文件创建文档
* @param params 创建文档参数
* @returns 创建结果
*/
DifyDataset.prototype.createDocumentByFile = function (params) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var dataset_id, file, original_document_id, restParams, url, formData, data, response;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
dataset_id = params.dataset_id, file = params.file, original_document_id = params.original_document_id, restParams = tslib_1.__rest(params, ["dataset_id", "file", "original_document_id"]);
url = "".concat(this.config.baseUrl, "/datasets/").concat(dataset_id, "/document/create-by-file");
formData = new FormData();
formData.append('file', file);
data = tslib_1.__assign(tslib_1.__assign({}, restParams), (original_document_id ? { original_document_id: original_document_id } : {}));
formData.append('data', JSON.stringify(data));
return [4 /*yield*/, fetch(url, {
method: 'POST',
headers: tslib_1.__assign({ Authorization: "Bearer ".concat(this.config.apiKey) }, this.config.defaultHeaders),
body: formData,
})];
case 1:
response = _a.sent();
if (!response.ok) {
throw new Error("Request failed: ".concat(response.status, " ").concat(response.statusText));
}
return [2 /*return*/, response.json()];
}
});
});
};
/**
* 创建空知识库
* @param params 创建知识库参数
* @returns 创建的知识库信息
*/
DifyDataset.prototype.createDataset = function (params) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var url, response;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
url = "".concat(this.config.baseUrl, "/datasets");
return [4 /*yield*/, fetch(url, {
method: 'POST',
headers: tslib_1.__assign({ Authorization: "Bearer ".concat(this.config.apiKey), 'Content-Type': 'application/json' }, this.config.defaultHeaders),
body: JSON.stringify(params),
})];
case 1:
response = _a.sent();
if (!response.ok) {
throw new Error("Request failed: ".concat(response.status, " ").concat(response.statusText));
}
return [2 /*return*/, response.json()];
}
});
});
};
/**
* 获取知识库列表
* @param params 查询参数
* @returns 知识库列表响应
*/
DifyDataset.prototype.listDatasets = function (params) {
var _a;
return tslib_1.__awaiter(this, void 0, void 0, function () {
var queryParams, url, response;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
queryParams = new URLSearchParams();
// 添加可选查询参数
if (params === null || params === void 0 ? void 0 : params.keyword)
queryParams.append('keyword', params.keyword);
if ((_a = params === null || params === void 0 ? void 0 : params.tag_ids) === null || _a === void 0 ? void 0 : _a.length)
queryParams.append('tag_ids', params.tag_ids.join(','));
if (params === null || params === void 0 ? void 0 : params.page)
queryParams.append('page', params.page.toString());
if (params === null || params === void 0 ? void 0 : params.limit)
queryParams.append('limit', params.limit.toString());
if (params === null || params === void 0 ? void 0 : params.include_all)
queryParams.append('include_all', params.include_all.toString());
url = "".concat(this.config.baseUrl, "/datasets?").concat(queryParams.toString());
return [4 /*yield*/, fetch(url, {
headers: tslib_1.__assign({ Authorization: "Bearer ".concat(this.config.apiKey) }, this.config.defaultHeaders),
})];
case 1:
response = _b.sent();
if (!response.ok) {
throw new Error("Request failed: ".concat(response.status, " ").concat(response.statusText));
}
return [2 /*return*/, response.json()];
}
});
});
};
/**
* 获取知识库详情
* @param dataset_id 知识库ID
* @returns 知识库详细信息
*/
DifyDataset.prototype.getDataset = function (dataset_id) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var url, response;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
url = "".concat(this.config.baseUrl, "/datasets/").concat(dataset_id);
return [4 /*yield*/, fetch(url, {
headers: tslib_1.__assign({ Authorization: "Bearer ".concat(this.config.apiKey) }, this.config.defaultHeaders),
})];
case 1:
response = _a.sent();
if (!response.ok) {
throw new Error("Request failed: ".concat(response.status, " ").concat(response.statusText));
}
return [2 /*return*/, response.json()];
}
});
});
};
return DifyDataset;
}());
exports.DifyDataset = DifyDataset;
//# sourceMappingURL=dify.dataset.js.map