通义千问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-long | qwen-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:创建应用
进入我的应用后,点击新增应用。然后在应用配置中,进行以下几步操作:
-
选择模型。目前仅支持qwen-max模型,后续将支持更多的模型。同时,也可以支持设置模型内容生成的相关参数,如temperature等。
-
开启“知识检索增强”。
-
选择知识库,即在Step2中创建的知识索引。
-
点击“保存并发布”按钮。
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博客
相关文章:
通义千问AI模型对接飞书机器人-模型配置(2-1)
一 背景 根据业务或者使用场景搭建自定义的智能ai模型机器人,可以较少我们人工回答的沟通成本,而且可以更加便捷的了解业务需求给出大家设定的业务范围的回答,目前基于阿里云的通义千问模型研究。 二 模型研究 参考阿里云帮助文档…...
[k8s源码]6.reflector
Reflector 和 Informer 是 Kubernetes 客户端库中两个密切相关但职责不同的组件。Reflector 是一个较低级别的组件,主要负责与 Kubernetes API 服务器进行交互,执行资源的初始列表操作和持续的监视操作,将获取到的数据放入队列中。而 Informe…...
前台文本直接取数据库值doFieldSQL插入SQL
实现功能:根据选择的车间主任带出角色。 实现步骤:OA的“字段联动”功能下拉选项带不出表“hrmrolemembers”,所以采用此方法。 doFieldSQL("select roleid from HrmResource as a inner join hrmrolemembers as b on a.id b.resource…...
【06】LLaMA-Factory微调大模型——微调模型评估
上文【05】LLaMA-Factory微调大模型——初尝微调模型,对LLama-3与Qwen-2进行了指令微调,本文则介绍如何对微调后的模型进行评估分析。 一、部署微调后的LLama-3模型 激活虚拟环境,打开LLaMA-Factory的webui页面 conda activate GLM cd LLa…...
数学建模学习(1)遗传算法
一、简介 遗传算法(Genetic Algorithm, GA)是一种用于解决优化和搜索问题的进化算法。它基于自然选择和遗传学原理,通过模拟生物进化过程来寻找最优解。 以下是遗传算法的主要步骤和概念: 初始化种群(Initialization&a…...
NumPy冷知识66个
NumPy冷知识66个 多维切片: NumPy支持多维切片,可以通过指定多个索引来提取多维数组的子集。 复杂数支持: NumPy可以处理复数,提供了复数的基本运算和函数。 比特运算: NumPy支持比特运算,如与、或、异或等。 数据存储格式: NumPy可以将数…...
Wi-SUN无线通信技术 — 大规模分散式物联网应用首选
引言 在数字化浪潮的推动下,物联网(IoT)正逐渐渗透到我们生活的方方面面。Wi-SUN技术以其卓越的性能和广泛的应用前景,成为了大规模分散式物联网应用的首选。本文将深入探讨Wi-SUN技术的市场现状、核心优势、实际应用中的案例以及…...
在 Ubuntu Server 22.04 上安装 Docker 的详细步骤
在 Ubuntu Server 22.04 上安装 Docker 的详细步骤 本文档详细记录了在 Ubuntu Server 22.04 上安装 Docker 的完整过程,包括解决过程中遇到的问题。希望能对读者有所帮助。 安装过程,重点需要看官方文档。https://docs.docker.com/engine/install/ubu…...
前端使用 Konva 实现可视化设计器(18)- 素材嵌套 - 加载阶段
本章主要实现素材的嵌套(加载阶段)这意味着可以拖入画布的对象,不只是图片素材,还可以是嵌套的图片和图形。 请大家动动小手,给我一个免费的 Star 吧~ 大家如果发现了 Bug,欢迎来提 Issue 哟~ github源码 g…...
vue3 -layui项目-左侧导航菜单栏
1.创建目录结构 进入cmd,先cd到项目目录(项目vue3-project) cd vue3-project mkdir -p src\\views\\home\\components\\menubar 2.创建组件文件 3.编辑menu-item-content.vue <template><template v-if"item.icon"><lay-ic…...
Spring AOP(1)
目录 一、AOP 概述 什么是Spring AOP? 二、Spring AOP 快速入门 1、引入AOP依赖 2、编写AOP程序 三、Spring AOP 详解 1、Spring AOP的核心概念 (1)切点(Pointcut) (2)连接点ÿ…...
第1关 -- Linux 基础知识
闯关任务 完成SSH连接与端口映射并运行hello_world.py ssh -p 37367 rootssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyCheckingno可选任务 1 将Linux基础命令在开发机上完成一遍 可选任务 2 使用 VSCODE 远程连接开发机并创建一个conda环境 …...
tensorflow keras Model.fit returning: ValueError: Unrecognized data type
题意:TensorFlow Keras 的 Model.fit 方法返回了一个 ValueError,提示数据类型无法识别 问题背景: Im trying to train a keras model with 2 inputs: an image part thats a tf.data.Dataset and a nor mal part represented by a pd.DataF…...
虚拟机固定配置IP
在Hyper-V中,vEthernet (Default Switch) 是Hyper-V自带的默认虚拟交换机,它允许虚拟机直接连接到宿主机网络或外部网络。这个虚拟交换机可以通过Hyper-V管理器或PowerShell等工具进行管理和配置。以下是具体的操作步骤: 一、通过Hyper-V管理…...
【Pytorch实用教程】pytorch中random_split用法的详细介绍
在 PyTorch 中,torch.utils.data.random_split 是一个非常有用的函数,用于将数据集随机分割成多个子集。这在机器学习和深度学习中非常常见,特别是当你需要将数据集分割成训练集和测试集或验证集时。这里是 random_split 的详细用法介绍: 功能 random_split 用于随机地将…...
第二讲:NJ网络配置
Ethernet/IP网络拓扑结构 一. NJ EtherNet/IP 1、网络端口位置 NJ的CPU上面有两个RJ45的网络接口,其中一个是EtherNet/IP网络端口(另一个是EtherCAT的网络端口) 2、网络作用 如图所示,EtherNet/IP网络既可以做控制器与控制器之间的通信,也可以实现与上位机系统的对接通…...
pytorch中常见的模型3种组织方式 nn.Sequential(OrderedDict)
在nn.Sequential中嵌套OrderedDict组织网络,以对层进行命名 import torch import torch.nn as nn from collections import OrderedDictclass OrderedDictCNN(nn.Module):def __init__(self):super(OrderedDictCNN, self).__init__()# 使用 OrderedDict 定义网络层self.model …...
达梦数据库DM8-索引篇
目录 一、前景二、名词三、语法1、命令方式创建索引1.1 创建索引空间1.2.1 创建普通索引并指定索引数据空间1.2.2 另一种没验证,官方写法1.3 复合索引1.4 唯一索引1.5 位图索引1.6 函数索引 2、创建表时候创建索引3、可视化方式创建索引3.1 打开DM管理工具3.2 找到要…...
【中项】系统集成项目管理工程师-第4章 信息系统架构-4.5技术架构
前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…...
随机梯度下降 (Stochastic Gradient Descent, SGD)
SGD 是梯度下降法的一种变体。与批量梯度下降法不同,SGD 在每次迭代中仅使用一个样本(或一个小批量样本)的梯度来更新参数。它能更快地更新参数,并且可以更容易地跳出局部最优解。 原理 SGD 的基本思想是通过在每次迭代中使用不…...
TDengine 3.3.2.0 发布:新增 UDT 及 Oracle、SQL Server 数据接入
经过数月的开发和完善,TDengine 3.3.2.0 版本终于问世了。这一版本中既有针对开源社区的功能优化,也有从企业级用户需求出发做出的功能调整。在开源版本中,我们增强了系统的灵活性和兼容性;而在企业级版本中,新增了关键…...
Ubuntu 24.04 LTS 无法打开Chrome浏览器
解决办法: 删除本地配置文件,再次点击Chrome图标,即可打开。 rm ~/.config/google-chrome/ -rf ref: Google chrome not opening in Ubuntu 22.04 LTS - Ask Ubuntu...
linux中RocketMQ安装(单机版)及springboot中的使用
文章目录 一、安装1.1、下载RocketMQ1.2、将下载包上传到linux中,然后解压1.3、修改runserver.sh的jvm参数大小(根据自己服务器配置来修改)1.4、启动mqnamesrv (类似于注册中心)1.5、修改runbroker.sh的jvm参数大小&am…...
亚信安全终端一体化解决方案入选应用创新典型案例
近日,由工业和信息化部信息中心主办的2024信息技术应用创新发展大会暨解决方案应用推广大会成功落幕,会上集中发布了一系列技术水平先进、应用效果突出、产业带动性强的信息技术创新工作成果。其中,亚信安全“终端一体化安全运营解决方案”在…...
Django视图与URLs路由详解
在Django Web框架中,视图(Views)和URLs路由(URL routing)是Web应用开发的核心概念。它们共同负责将用户的请求映射到相应的Python函数,并返回适当的响应。本篇博客将深入探讨Django的视图和URLs路由系统&am…...
怎么关闭 Windows 安全中心,手动关闭 Windows Defender 教程
Windows 安全中心(也称为 Windows Defender Security Center)是微软 Windows 操作系统内置的安全管理工具,用于监控和控制病毒防护、防火墙、应用和浏览器保护等安全功能。然而,在某些情况下,用户可能需要关闭 Windows…...
洛谷看不了别人主页怎么办
首先,我们先点进去 可以看到,看不了一点 那我们看向上方,就可以发现,我们那有个URL,选中 把光标插到n和/中间 把.cn删了,变成国际服 我们就可以看了 但是国际服还没搭建完,跳转的时候可能503&a…...
邮件安全篇:企业电子邮件安全涉及哪些方面?
1. 邮件安全概述 企业邮件安全涉及多个方面,旨在保护电子邮件通信的机密性、完整性和可用性,防止数据泄露、欺诈、滥用及其他安全威胁。本文从身份验证与防伪、数据加密、反垃圾邮件和反恶意软件防护、邮件内容过滤与审计、访问控制与权限管理、邮件存储…...
软件测试09 自动化测试技术(Selenium)
重点/难点 重点:理解自动化测试的原理及其流程难点:Selinum自动化测试工具的使用 目录 系统测试 什么是系统测试什么是功能测试什么是性能测试常见的性能指标有哪些 自动化测试概述 测试面临的问题 测试用例数量增多,工作量增大ÿ…...
记录解决springboot项目上传图片到本地,在html里不能回显的问题
项目场景: 项目场景:在我的博客系统里:有个相册模块:需要把图片上传到项目里,在html页面上显示 解决方案 1.建一个文件夹 例如在windows系统下。可以在项目根目录下建个photos文件夹,把上传的图片文件…...
做页面设计的网站/seo网站推广软件
http://blog.csdn.net/xiazdong/article/details/7873767转载于:https://www.cnblogs.com/zhengah/p/5013077.html...
中美关系最新消息人民日报/安徽seo网络优化师
通过前面的学习,我们了解了Class文件的结构,在Class文件中描述的各类信息,最终都需要加载到虚拟机中之后才能被运行和使用。 接下来,我们开始学习JVM的类加载。 一个类从被加载到虚拟机内存中开始,到从内存中卸载&am…...
哈尔滨网站建设费用/成都搜狗seo
文件透明加密这点事儿,从2001年开始出现基于API HOOK的方式开始到现在,已经十几年了,有细心人按技术实现的方式将其细分为4代,分别是基于API HOOK的第一代技术、基于文件过滤驱动(加清缓存)的第二代技术、使…...
自己做的视频网站上传电影/推广链接点击器
2019独角兽企业重金招聘Python工程师标准>>> #情景描述 以Mysql作为数据库的JavaWeb项目,对于Mysql中的Time,Date,DateTime类型,Java的对应类型都是Date。Java程序在存储和读取相应字段的数据的时候,有时候…...
网页设计与制作软件下载/奶糖 seo 博客
感谢 公众号 / PS制作小教程 的分享!效果图:素材:操作步骤:1、打开PS,新建任意大小画布,然后给背景设置渐变,颜色就看自己个人爱好,输入字体KELE,如图2、然后右键文字图层࿰…...
吐鲁番网站建设/河南整站关键词排名优化软件
已知各年度销售额的直方图如下所示:问题:如何展现出销售额在各年度间的变化? 解决方案:单击图标左侧Y轴销售额,编辑公式为“Sum([Sales Total]) - Sum([Sales Total]) Over (Previous([Axis.X]))”,即可实现…...