小型网站开发小论文,百度关键词推广价格查询,市场推广计划方案模板,网站开发公司深圳上一篇提到过星火spark大模型#xff0c;现在有更新到3.0#xff1a; 给ChuanhuChatGPT 配上讯飞星火spark大模型V2.0#xff08;一#xff09; 同时又看到有知识库问答的web api#xff0c;于是就测试了一下。 下一篇是在ChuanhuChatGPT 中单独写一个基于星火知识库的内容… 上一篇提到过星火spark大模型现在有更新到3.0 给ChuanhuChatGPT 配上讯飞星火spark大模型V2.0一 同时又看到有知识库问答的web api于是就测试了一下。 下一篇是在ChuanhuChatGPT 中单独写一个基于星火知识库的内容。 1 SparkDesk的文档问答
SparkDesk的文档问答模块相关文档与地址
官方演示地址: https://chatdoc.xfyun.cn/chat星火知识库 API 文档embedding API 文档
本篇记录的是通过星火知识库Web API ChuanhuGPT 的一个实验项目 吐槽一下 星火文档问答官方开放的代码不咋地可能没啥人用拿个半成品就挂官方了 讯飞的AI社区官方感觉也不咋运营… 知识库web api整体结构还是简单的不过跟在线的版本有一些功能上的阉割
文档上传文档总结/摘要文档问答
知识库API 第一次申请会给1000次额度
2 代码示例
笔者稍微打包了一下具体代码放到了我的githubSparkDesk_Document_QA
Document_upload_summary.py文档上传 文档总结Document_Q_And_A.py文档问答
使用前需申请一下api key 安装依赖
pip install websocket -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install websocket-client -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests_toolbelt -i https://pypi.tuna.tsinghua.edu.cn/simple
2.1 文档上传文档总结
官方关于文档总结有两个接口我就没看懂这俩啥区别。。所以只封装一个进来与文档上传放在一个类中。 官方文档ChatDoc
文档上传规范 上传知识库文档数据目前支持 doc/docx、pdf、md、txt 格式单文件大小不超过 20MB不超过 100W 字符。
文档上传参数含义 文档上传返回参数详情 文档总结参数请求 文档总结输出内容
本地文档上传示例 APPId xxxxAPISecret xxxxdus Document_Upload_Summary(APPId, APISecret)# 本地文档上传files {file: open(背影.txt, rb)}body {url: ,fileName: 背影.txt,fileType: wiki, # 固定值needSummary: False,stepByStep: False,callbackUrl: your_callbackUrl,}response dus.upload_files(files,body)if response.json()[code] 0:print(f请求的文件FIleId:{response.json()[data][fileId]})# 文档总结fileid xxxxresponse dus.file_summary(fileid)response.json()其中注意
文档上传还是一个个上传比较好需要记录下fileid之后对话就是根据这个进行问答文档上传可以用URL
2.2 文档对话
这里本来是支持流式输出的笔者改成了一次性全部输出是通过global的方式 此时额外学了一下websocketpython中使用websocket调用、获取、保存大模型API
官方文档ChatDoc
文档对话的参数 输出参数详情
若返回 fileRefer 为空提示 抱款在文档中没有找到与提问相关的内容请尝试换个问题问问吧。表示提问未匹配到文档内容可以降低chatExtends.wikiFilterScore以降低匹配阈值也可以开启chatExtends.sparkWhenWithoutEmbedding用大模型兜底
单轮对话
APPId xxxx
APISecret xxxxxx
doc_qa Document_Q_And_A(APPId, APISecret)# 单轮对话
body {chatExtends : {wikiPromptTpl: 请将以下内容作为已知信息\nwikicontent\n请根据以上内容回答用户的问题。\n问题:wikiquestion\n回答:,wikiFilterScore: 65,temperature: 0.5,sparkWhenWithoutEmbedding:False},fileIds: [xxxxx],messages: [{role: user,content: 父亲要走的时候去买了什么东西}]
}
recep_mesg doc_qa.chat(body)
doc_qa.embellish_message_func(recep_mesg)其中 websocket是把一句话流式一个片段一个片段的输出embellish_message_func就是把这些拼装起来 body中chatExtends 可以不设置也有默认fileIds 是之前上传的field可以支持多个field embellish_message_func输出两类内容:
一句完整的话引用的参考文献内容是一个字典形式{43816997a7a44a299d0bfb7c360c5838: [2, 0, 1]}
多轮对话
# 多轮对话
body {fileIds: [xxxxxx],messages: [{role: user,content: 父亲要走的时候去买了什么东西},{role: user,content: 如何理赔},{role: assistant,content: 您好根据您提供的信息理赔操作指引如下\n\n1. 登录小程序点击“理赔申请”。\n2. 选择对应保单。\n3. 上传理赔相关资料。\n4. 填写发票总金额。\n5. 填写银行账户需精确到支行。\n6. 点击“提交”成功后返回“理赔服务”界面点选“理赔查询”查看理赔进度和申请记录。\n7. 如有需要点击“查看详情”查看理赔详情和金额。\n\n请注意如有严重既往症员工还请和HR部门及时报备沟通如未及时报备保险公司不承担相关责任。同时索赔资料不齐全导致延迟赔付等问题也需要注意。},{role: user,content: 家属有什么福利}]
}
doc_qa.chat(body)
recep_mesg如上进行多轮对话输出
2.3 其他知识库高级功能 星火知识库服务还提供 自定义切分、OCR 识别、文档内容查询、内容相似度检索等功能如有需要请联系cbg_open_mliflytek.com 貌似没理我暂时没申请到…