目录
最近朋友在做AI客服,准备了一些资料需要导入知识库。一番探索后,导入QA的形式可以达到一个更好的效果。问题时他的资料并没有为此做准备,只是一些传统的介绍。那么,可以通过deepseek解读文件自动生成QA,最后在导入知识库吗?那肯定时可以。
初始流程
- 上传文档到deepseek chat
- 让DS解读并提炼出QA
- 复制QA至新文件
- 上传导入知识库
存在的问题
- 介于现在,官方DS经常繁忙
- 手动复制比较麻烦
- 格式可能不统一,导入时分段可能会出错
开始手痒了
类似应用在Coze应用商店里面是有的,大部分的方案是通过把内容生成到飞书的表格中,在通过定时更新的方式同步到知识库中。
这个方案我也尝试做了一个,除了授权流程有点迷,其他还不错。
但我寻思,能不能不要飞书呢?该怎么搞。尝试研究了下,大概做了出来。COZE知识库QA自动生成导入-无需飞书
目前的流程
- 用户配置好token(个人令牌),知识库ID,知识库文件名
- 在对话框中上传文档
- 在成功上传后回复,生成QA
- 此时进入工作流
- 设置参数,token(个人令牌),知识库ID,知识库文件名
- 获取文件链接
- 通过文件读取插件读取文件内容
- 将文件内容和提示词发送大模型(Deepseek r1)
- 返回内容为一组组的QA
- 将文本通过API接口创建知识库文件到指定知识库
- 返回内容到用户
- 用户收到QA,此时已经可以在知识库中看到导入的内容

插件链接
通过文本上传文件_知识库_coze API_魔改
源码
将文本通过API接口创建知识库文件到指定知识库 插件源码
import { Args } from '@/runtime';
import { Input, Output } from "@/typings/upload_str_to_knowledge/upload_str_to_knowledge";
export async function handler({ input, logger }: Args<Input>): Promise<Output> {
const fileBase64 = Buffer.from(input.content).toString('base64');
logger.info(input)
const data = {
dataset_id: input.dataset_id,
document_bases: [
{
name: input.name,
source_info: {
file_base64: fileBase64,
file_type: "txt"
}
}
],
chunk_strategy: {
separator: input.separator || "。\n",
max_tokens: input.max_tokens || 800,
remove_extra_spaces: input.remove_extra_spaces || false,
remove_urls_emails: input.remove_urls_emails || false,
chunk_type: 1
}
};
logger.info(JSON.stringify(data) )
try {
const response = await fetch('https://api.coze.cn/open_api/knowledge/document/create', {
method: 'POST',
headers: {
'Authorization': 'Bearer '+input.token,
'Content-Type': 'application/json',
'Agw-Js-Conv': 'str'
},
body: JSON.stringify(data)
});
logger.info(response)
if (response.ok) {
const result = await response.json();
logger.info('Document created successfully:', result);
return result
} else {
const error = await response.json();
logger.info('Document created failed:', error);
return {
code:-1,
msg:error.statusText,
}
}
} catch (error) {
logger.error('Error occurred:', error);
logger.error(error.msg)
return {
code:-1,
msg:error.msg,
}
}
};
缺点
无法改善
- 官方API 只支持创建知识库文件,无法只更新部分数据。如果有插入接口就好了
待改善
- 目前QA导入时每次生成都导入一个知识库文件,可以将生成的QA存起来,再通过保存消息存起来
- API token 手动填写,可以改为授权模式
- 生成的QA可以先在页面上展示,可以做预筛选,在通过按钮保存到知识库文件。