知识库
409字约1分钟
2024-11-7
使用知识库接口可以直接为自己的超体创建知识库
、更新知识库
创建知识库
javascript
const formData = new FormData();
formData.append("api_key", "开放平台 apik_ey");
// 文件可以是任意数量,只要名字别重复即可
formData.append("file1", "JS FormData对象");
formData.append("filexx", "JS FormData对象");
const { success, message } = await myFetch("https://api.espai.fun/ai_api/rag/create", formData);
if (success) {
console.log("创建成功")
} else {
console.log(`创建失败:${message}`)
}
// 请求函数封装
async function myFetch(apiName, body, is_token) {
return new Promise((resolve) => {
fetch(apiName, {
method: "POST",
mode: "cors",
body: body,
}).then((res) => res.json()).then((res) => {
resolve(res)
})
})
}
查询知识库文件
javascript
const { success, message, data } = await myFetch("https://api.espai.fun/ai_api/rag/detail", { api_key: "开放平台 apik_ey" });
if (success) {
console.log(data)
} else {
console.log("获取知识库数据失败:" + message)
}
// 请求函数封装
async function myFetch(apiName, body, is_token) {
return new Promise((resolve) => {
fetch(apiName, {
method: "POST",
mode: "cors",
body: JSON.stringify(body),
headers: { Accept:"application/json", "Content-Type":"application/json;charset=utf-8" }
}).then((res) => res.json()).then((res) => {
resolve(res)
})
})
}
下载知识库文件
javascript
// 下载文件
const downloadFile = async (filename) => {
const { domain } = window.config;
const response = await fetch(`https://api.espai.fun/ai_api/rag/download`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ api_key, filename })
});
if (!response.ok) {
msg.error(`HTTP error! status: ${response.status}`)
return;
}
const blob = await response.blob();
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
}
// 查询到文件列表后就可以调用本方法进行文件下载
downloadFile("test.md")
调用知识库接口
nodejs
const axios = require('axios');
const data = {
"text": "ESP-AI 有哪些唤醒方式", // 用户问题
"user_id": "001", // 服务用于做对话记录,一般建议传入设备ID
"api_key": "开放平台 api_key"
};
axios.post("https://api.espai.fun/ai_api/rag/query", data, { headers: { 'Content-Type': 'application/json' } }).then((response) => {
const { data, success, message } = response.data;
if (success) {
console.log("推理结果:", data);
} else {
console.log("rag response err: " + message)
}
})