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

通义千问AI模型对接飞书机器人-模型配置(2-1)

一 背景

根据业务或者使用场景搭建自定义的智能ai模型机器人,可以较少我们人工回答的沟通成本,而且可以更加便捷的了解业务需求给出大家设定的业务范围的回答,目前基于阿里云的通义千问模型研究。

二 模型研究

参考阿里云帮助文档:

https://help.aliyun.com/document_detail/2784263.html

https://help.aliyun.com/document_detail/2784278.html?spm=a2c4g.2779977.0.0.41c247904gVRRu

https://help.aliyun.com/zh/model-studio/user-guide/model-tools/?spm=a2c4g.11186623.0.0.451d5f17l5DF7U

1.通过阿里云百炼平台构建我们的应用模型

2.搭建我们的数据中心&知识库

3.创建应用,关联知识库文档做模型

1、模型概览

模型服务模型名称模型描述备注
通义千问qwen-longqwen-long是在通义千问针对超长上下文处理场景的大语言模型,支持中文、英文等不同语言输入,支持最长1000万tokens(约1500万字或1.5万页文档)的超长上下文对话。配合同步上线的文档服务,可支持word、pdf、markdown、epub、mobi等多种文档格式的解析和对话。
qwen-turbo通义千问超大规模语言模型,支持中文、英文等不同语言输入。百炼平台支持,智能思考度偏低响应较快
qwen-plus通义千问超大规模语言模型增强版,支持中文、英文等不同语言输入。百炼平台支持,兼顾智能思考跟响应的
qwen-max通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。随着模型的升级,qwen-max将滚动更新。如果希望使用固定版本,请使用历史快照版本。当前qwen-max模型与qwen-max-0428快照版本等价,均为最新版本的qwen-max模型,同时也是当前通义千问2.5产品版本背后的API模型。百炼平台支持,智能思考度较高响应较慢
qwen-max-0428通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2024年4月28号的历史快照稳定版本,预期维护到下个快照版本发布时间(待定)后一个月。
qwen-max-0403通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2024年4月3号的历史快照稳定版本,预期维护到下个快照版本发布时间(待定)后一个月。
qwen-max-0107通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2024年1月7号的历史快照稳定版本,仅推荐特定需求客户访问。
qwen-max-1201通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2023年12月1号的历史快照稳定版本,预期维护到下个快照版本发布时间(待定)后一个月。
qwen-max-longcontext通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。

通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。随着模型的升级,qwen-max将滚动更新。如果希望使用固定版本,请使用历史快照版本。当前qwen-max模型与qwen-max-0428快照版本等价,均为最新版本的qwen-max模型,同时也是当前通义千问2.5产品版本背后的API模型。百炼平台支持,智能思考度较高响应较慢
qwen-max-0428通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2024年4月28号的历史快照稳定版本,预期维护到下个快照版本发布时间(待定)后一个月。
qwen-max-0403通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2024年4月3号的历史快照稳定版本,预期维护到下个快照版本发布时间(待定)后一个月。
qwen-max-0107通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2024年1月7号的历史快照稳定版本,仅推荐特定需求客户访问。
qwen-max-1201通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2023年12月1号的历史快照稳定版本,预期维护到下个快照版本发布时间(待定)后一个月。
qwen-max-longcontext通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。

2、AI应用步骤搭建

Step 1:数据管理-导入数据

 

Step 2:创建知识索引

选择导入数据到知识库

 获取知识索引ID,支持与百炼Assistant API结合使用,支持RAG和插件的组合调用;

 查看切割文档

Step 3:创建应用

进入我的应用后,点击新增应用。然后在应用配置中,进行以下几步操作:

  1. 选择模型。目前仅支持qwen-max模型,后续将支持更多的模型。同时,也可以支持设置模型内容生成的相关参数,如temperature等。

  2. 开启“知识检索增强”。

  3. 选择知识库,即在Step2中创建的知识索引。

  4. 点击“保存并发布”按钮。

 

4、测试AI应用

4.1 简单问题

4.2、自定义插件

在某些场景下,我们除了需要根据文档回答问题之外,还需要根据我们自定义的内容给出答案,例如查询公司某些业务的数据项,指标项等,这些三方ai无法清除,那么我们就可以通过自定义插件。

 创建自定义插件

 

 5 SDK对接

1、获取应用appid apikey

2、对接的地址

5.1、普通请求
@RequestMapping(value = "/ask/test")
public AssistantResp ask(@RequestBody AssistantReq req) {long l = System.currentTimeMillis();log.info("ask start={} message={}", l, req.getMessage());try {if (req.getMessage() == null || req.getMessage().trim().length() == 0) {return AssistantResp.builder().message("请输入问题").build();}ApplicationParam param = ApplicationParam.builder().apiKey("sk-&&&&&&&&").appId("f8a%%%%%%%%%%%%%%").prompt(req.getMessage()).sessionId(req.getSessionId()).temperature(0.5F).build();Application application = new Application();ApplicationResult result = application.call(param);log.info("result={}", JSONUtil.toJsonStr(result));AssistantResp ask = AssistantResp.builder().message(result.getOutput().getText()).build();log.info("请求耗时:{}", System.currentTimeMillis() - l);log.info("ask end={},message={}", System.currentTimeMillis(), ask.getMessage());return ask;} catch (Exception e) {return AssistantResp.builder().message("系统繁忙,请稍后再试").build();}}
5.2 流式响应
@RequestMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public ResponseEntity<StreamingResponseBody> stream(@RequestBody AssistantReq req) {try {ApplicationParam param = ApplicationParam.builder().apiKey("sk-&&&&&&&&&&").appId("**************").prompt(req.getMessage()).incrementalOutput(true).build();Application application = new Application();Flowable<ApplicationResult> resultFlowable = application.streamCall(param);StreamingResponseBody responseBody = outputStream -> {resultFlowable.blockingForEach(data -> {String content = data.getOutput().getText();log.info("content={}",content);outputStream.write(content.getBytes());outputStream.flush(); // 确保数据立即发送});};return ResponseEntity.ok().body(responseBody);} catch (NoApiKeyException e) {e.printStackTrace();} catch (InputRequiredException e) {e.printStackTrace();}return ResponseEntity.ok().body(null);
}
5.3 多轮会话
public void answer(String askStr,String tenantKey,String openId) throws Exception {//通过openId 获取 sessionIdString sessionId = map.get(openId);log.info("askStr start={}",askStr);ApplicationParam param = ApplicationParam.builder().apiKey("sk-b**********").appId("f**************").prompt(askStr).sessionId(sessionId).build();log.info("param={}",JSONUtil.toJsonStr(param));Application application = new Application();ApplicationResult result = application.call(param);if(result.getOutput().getSessionId()!=null){map.put(openId,result.getOutput().getSessionId());}String text = result.getOutput().getText();}

下一篇:通义千问AI模型对接飞书机器人-集成飞书机器人(2-2)-CSDN博客

相关文章:

  • HarmonyOS ArkUi @CustomDialog 和promptAction.openCustomDialog踩坑以及如何选择
  • Python--PyMySQL 库基础操作笔记
  • LeetCode热题100(JavaScript)
  • HTTP状态码(HTTP Status Code)讲解
  • k8s上部署openvpn
  • IP地址:由电脑还是网线决定?
  • 【产品评测】海康威视(HIKVISION)NAS网络存储——简单评测
  • PostgreSQL安装/卸载(CentOS、Windows)
  • docker 部署wechatbot-webhook 并获取接口实现微信群图片自动保存到chevereto图库等
  • 计算机网络入门 -- 常用网络协议
  • el-menu弹出菜单样式不生效
  • 十一、数组(1)
  • 7.SpringBoot整合Neo4j
  • Python求均值,方差,标准差
  • 【运维】软件运维方案(2024word完整版)
  • JavaScript 如何正确处理 Unicode 编码问题!
  • @angular/forms 源码解析之双向绑定
  • angular2开源库收集
  • CSS3 变换
  • Java,console输出实时的转向GUI textbox
  • Js基础知识(四) - js运行原理与机制
  • nodejs调试方法
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 浮现式设计
  • 漂亮刷新控件-iOS
  • 入门级的git使用指北
  • 使用common-codec进行md5加密
  • 微信小程序设置上一页数据
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • C# - 为值类型重定义相等性
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #162 (Div. 2)
  • #单片机(TB6600驱动42步进电机)
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (03)光刻——半导体电路的绘制
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (1)bark-ml
  • (12)目标检测_SSD基于pytorch搭建代码
  • (a /b)*c的值
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (算法)前K大的和
  • (一)基于IDEA的JAVA基础12
  • (杂交版)植物大战僵尸
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • ***检测工具之RKHunter AIDE
  • **PHP分步表单提交思路(分页表单提交)
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • ;号自动换行
  • [240621] Anthropic 发布了 Claude 3.5 Sonnet AI 助手 | Socket.IO 拒绝服务漏洞
  • [AI aider] 打造终端AI搭档:Aider让编程更智能更有趣!
  • [Bugku]密码???[writeup]
  • [bzoj1038][ZJOI2008]瞭望塔
  • [C++] C++11详解 (一)