当前位置: 首页 > news >正文

讯飞星火知识库文档问答Web API的使用(二)

在这里插入图片描述
上一篇提到过星火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 代码示例

笔者稍微打包了一下,具体代码放到了我的github:SparkDesk_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 = "xxxx"APISecret = "xxxx"dus = 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 = 'xxxx'response = dus.file_summary(fileid)response.json()

其中,注意,

  • 文档上传还是一个个上传比较好,需要记录下fileid,之后对话就是根据这个进行问答;
  • 文档上传可以用URL

2.2 文档对话

这里本来是支持流式输出的,笔者改成了一次性全部输出,是通过global的方式
此时额外学了一下websocket:python中使用websocket调用、获取、保存大模型API

官方文档:ChatDoc

文档对话的参数:
在这里插入图片描述
输出参数详情:
在这里插入图片描述

若返回 fileRefer 为空,提示 "抱款,在文档中没有找到与提问相关的内容,请尝试换个问题问问吧。"表示提问未匹配到文档内容,可以降低chatExtends.wikiFilterScore以降低匹配阈值,也可以开启chatExtends.sparkWhenWithoutEmbedding用大模型兜底

单轮对话:

APPId = "xxxx"
APISecret = "xxxxxx"
doc_qa = Document_Q_And_A(APPId, APISecret)# 单轮对话
body = {'chatExtends' :  {"wikiPromptTpl": "请将以下内容作为已知信息:\n<wikicontent>\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_ml@iflytek.com
貌似没理我,暂时没申请到…

相关文章:

讯飞星火知识库文档问答Web API的使用(二)

上一篇提到过星火spark大模型&#xff0c;现在有更新到3.0&#xff1a; 给ChuanhuChatGPT 配上讯飞星火spark大模型V2.0&#xff08;一&#xff09; 同时又看到有知识库问答的web api&#xff0c;于是就测试了一下。 下一篇是在ChuanhuChatGPT 中单独写一个基于星火知识库的内容…...

第十三章 深度解读预训练与微调迁移,模型冻结与解冻(工具)

一个完整的代码 pythonCopy codeimport torch import torchvision import torchvision.transforms as transforms import torch.nn as nn import torch.optim as optim # 设置设备&#xff08;CPU或GPU&#xff09; device torch.device("cuda" if torch.cuda.is_a…...

tinyViT论文笔记

论文&#xff1a;https://arxiv.org/abs/2207.10666 GitHub&#xff1a;https://github.com/microsoft/Cream/tree/main/TinyViT 摘要 在计算机视觉任务中&#xff0c;视觉ViT由于其优秀的模型能力已经引起了极大关注。但是&#xff0c;由于大多数ViT模型的参数量巨大&#x…...

解决ssh -T git@github.com报错connection closed问题

解决ssh -T gitgithub.com报错connection closed问题 问题解决 问题 $ ssh -T gitgithub.com kex_exchange_identification: Connection closed by remote host Connection closed by 20.205.243.166 port 22解决 参考链接 $ ssh -T -p 443 gitssh.github.com...

新手如何购买保险,保险投资基础入门

一、教程描述 本套保险教程&#xff0c;大小2.63G&#xff0c;共有11个文件。 二、教程目录 第01课 保险到底有什么用.mp4 第02课 已有社保还需要商业保险吗.mp4 第03课 你必须要懂的保险基础知识.mp4 第04课 关于重疾你必须要知道的几件事情.mp4 第05课 家庭重疾险如何…...

基于springboot网上超市管理系统

基于springboot网上超市管理系统 摘要 随着互联网的快速发展&#xff0c;电子商务行业迎来了蓬勃的发展&#xff0c;网上超市作为电子商务的一种形式&#xff0c;为消费者提供了便利的购物体验。本文基于Spring Boot框架&#xff0c;设计和实现了一个网上超市管理系统&#xff…...

FlagEmbedding目前最好的sentence编码工具

FlagEmbedding专注于检索增强llm领域&#xff0c;目前包括以下项目: Fine-tuning of LM : LM-Cocktail Dense Retrieval: LLM Embedder, BGE Embedding, C-MTEB Reranker Model: BGE Reranker 更新 11/23/2023: Release LM-Cocktail, 一种通过模型融合在微调时保持原有模型通用…...

rabbitMQ发布确认-交换机不存在或者无法抵达队列的缓存处理

rabbitMQ在发送消息时&#xff0c;会出现交换机不存在&#xff08;交换机名字写错等消息&#xff09;&#xff0c;这种情况如何会退给生产者重新处理&#xff1f;【交换机层】 生产者发送消息时&#xff0c;消息未送达到指定的队列&#xff0c;如何消息回退&#xff1f; 核心&…...

STM32 MAP文件

文章目录 1 生成Map2 map中概念3 文件分析流程3.1 Section Cross References3.2 Removing Unused input sections from the image&#xff08;移除未使用的段&#xff09;3.3 Image Symbol Table 映像符号表3.4 Memory Map of the image&#xff08;映像的内存分布&#xff09;…...

云原生Kubernetes系列 | Kubernetes静态Pod的使用

云原生Kubernetes系列 | Kubernetes静态Pod的使用 静态pod不建议在master上操作,因为master上跑的是集群核心静态pod,如果配置失败,会导致集群故障。建议在knode1或knode2上去做。 kubernetes master节点上的核心组件pod其实都是静态pod: [root@k8s-master ~]# ls /etc/ku…...

二次创作Z01语言

目录 一&#xff0c;字符集 二&#xff0c;编译分词 三&#xff0c;token含义 四&#xff0c;Z01翻译成C 五&#xff0c;执行翻译后的代码 六&#xff0c;打印Hello World! 一&#xff0c;字符集 假设有门语言叫Z01语言&#xff0c;代码中只有0和1这两种字符。 二&#…...

【蓝桥杯国赛真题28】Scratch行驶的汽车 少儿编程图形化编程 中小学生第十四届蓝桥杯scratch国赛真题讲解

目录 scratch行驶的汽车 一、题目要求 编程实现 二、案例分析 1、角色分析...

LeetCode Hot100 236.二叉树的最近公共祖先

题目&#xff1a; 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节…...

ERROR: Could not find a version that satisfies the requirement torch

在windows 上安装pip install torch torchvision torchaudio 报错&#xff1a; ERROR: Could not find a version that satisfies the requirement torch (from versions: none) ERROR: No matching distribution found for torch 解决办法&#xff1a; 将python版本降到3.11…...

2009年iMac装64位windows7及win10

2009年iMac装64位windows7及win10 Boot Camp没有“创建 Windows7 或更高版本的安装磁盘”选项 安装完Mac OS系统后&#xff0c;要制作Windows7安装U盘时才发现&#xff0c;Boot Camp没有“创建 Windows7 或更高版本的安装磁盘”选项&#xff0c;搜索到文章&#xff1a;修改Boo…...

(三) Windows 下 Sublime Text 3 配置Python环境和Anaconda代码提示

一&#xff1a;新建一个 Python3.7 编译环境。 1 Tools--Build System--New Build System... 修改前&#xff1a; 修改后&#xff1a; 内容&#xff1a; {"cmd":["C:\\Python\\Python37-32\\python.exe","-u","$file"],"file_r…...

【shell脚本】一些简单的shell脚本案例,mark一下

1、使用变量生成随机密码 比如自定义密码里面是数字和字母(或者还可以是某些符号等),随机生成一个想要的多少位的密码 [root@localhost test]#vim mima.sh #!/bin/bash str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPKRSTUVWXYZ0123456789" for i in {1..6} …...

Android Studio记录一个错误:Execution failed for task ‘:app:lintVitalRelease‘.

Android出现Execution failed for task :app:lintVitalRelease.> Lint found fatal errors while assembling a release target. Execution failed for task :app:lintVitalRelease解决方法 Execution failed for task ‘:app:lintVitalRelease’ build project 可以正常执…...

计算机组成原理4

1.汇编语言 2.汇编语言常见的运算指令 3.AT&T格式 和 Intel格式 4.跳转指令 5.cmp比较的底层原理 6.函数调用的机器级表示 7.CISC和RISC...

【人工智能】Chatgpt的训练原理

前言 前不久&#xff0c;在学习C语言的我写了一段三子棋的代码&#xff0c;但是与我对抗的电脑是没有任何思考的&#xff0c;你看了这段代码就理解为什么了&#xff1a; void computerMove(char Board[ROW][COL], int row, int col) {while (1){unsigned int i rand() % ROW, …...

性价比高的新疆味道哪家专业

一、开头&#xff1a;技术痛点/趋势引入2026年&#xff0c;在“新疆味道”技术领域&#xff0c;随着业务规模的不断扩张和技术需求的日益复杂&#xff0c;开发者们面临着诸多挑战。比如&#xff0c;在实际开发与运维过程中&#xff0c;常常会遇到架构扩展性不足、性能瓶颈以及运…...

值类型与引用类型:别再只背“栈和堆”了,看这 个实际影响节

基础示例&#xff1a;单工作表 Excel 转 TXT 以下是将一个 Excel 文件中的第一个工作表转换为 TXT 的完整步骤&#xff1a; 1. 加载并读取Excel文件 from spire.xls import * from spire.xls.common import * workbook Workbook() workbook.LoadFromFile("示例.xlsx"…...

从USB充电到HDMI传4K:聊聊PCB板上那些‘隐形’的100Ω和90Ω差分线

从USB充电到HDMI传4K&#xff1a;PCB板上那些‘隐形’的100Ω和90Ω差分线 当你用USB线给手机快速充电时&#xff0c;是否想过为什么有些充电线能稳定传输2.5A大电流&#xff1f;当你用HDMI线连接4K显示器时&#xff0c;是否疑惑过为什么画面从不闪烁&#xff1f;这些看似简单…...

微信好友关系智能检测:高效管理你的社交网络

微信好友关系智能检测&#xff1a;高效管理你的社交网络 【免费下载链接】WechatRealFriends 微信好友关系一键检测&#xff0c;基于微信ipad协议&#xff0c;看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends 在数字社…...

从安装到实战:在Windows 11上为MATLAB 2022b配置CPLEX学术版的全流程避坑记录

从安装到实战&#xff1a;在Windows 11上为MATLAB 2022b配置CPLEX学术版的全流程避坑记录 最近在实验室帮学弟配置MATLAB优化求解环境时&#xff0c;发现网上教程大多停留在旧版本组合&#xff0c;对于Windows 11MATLAB 2022bCPLEX 12.10这套新组合的坑点几乎只字未提。经历两天…...

golang如何实现全量数据迁移_golang全量数据迁移实现详解

全量迁移不能用SELECT *因易OOM、超时或断连&#xff1b;须用主键/时间戳游标分页、显式close、调优连接池&#xff1b;需记录binlog/LSN位点衔接增量&#xff1b;加唯一索引防重&#xff1b;用多值插入、禁用非必要索引提速&#xff1b;通过migration_checkpoint表实现断点续传…...

Ansoft Maxwell 永磁同步直线电机仿真项目分析

永磁同步直线电机仿真实例&#xff0c;仿真教学 maxwell16.0版本 12槽11极 包括图中模型以及一个仿真设置要点word文档教程项目概述 本文档详细分析了一个基于Ansoft Maxwell 16.0的永磁同步直线电机(Permanent Magnet Synchronous Linear Motor)仿真项目。该项目采用12槽11极…...

Lite-Avatar持续集成:GitHub Actions实践指南

Lite-Avatar持续集成&#xff1a;GitHub Actions实践指南 1. 引言 你是不是也遇到过这样的情况&#xff1a;每次修改Lite-Avatar项目代码后&#xff0c;都要手动运行测试、构建镜像、部署到服务器&#xff1f;不仅耗时耗力&#xff0c;还容易出错。特别是当团队协作时&#x…...

SteamAutoCrack:一键解锁Steam游戏离线运行的终极方案

SteamAutoCrack&#xff1a;一键解锁Steam游戏离线运行的终极方案 【免费下载链接】Steam-auto-crack Steam Game Automatic Cracker 项目地址: https://gitcode.com/gh_mirrors/st/Steam-auto-crack 在数字游戏时代&#xff0c;许多玩家面临着一个共同的困境&#xff1…...

终极百度网盘高速下载方案:免费解析工具让下载速度飙升

终极百度网盘高速下载方案&#xff1a;免费解析工具让下载速度飙升 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘几十KB的龟速下载而烦恼吗&#xff1f;面对大…...