• [AI类] 进入ModelArts Studio控制台首页,在左侧菜单栏,选择“模型部署”,在“预制服务”中选择DeepSeek-V3-671B-8K模型,点击“领取”,领取200万免费token。
    进入ModelArts Studio控制台首页,在左侧菜单栏,选择“模型部署”,在“预制服务”中选择DeepSeek-V3-671B-8K模型,点击“领取”,领取200万免费token。  为什么我的进入ModelArts Studio控制台首页左侧菜单栏没有选择“模型部署”?咋不显示模型部署?  
  • [分享交流] 人工智能-01 AI基础
    人工智能-01 AI基础持续更新,欢迎批评指正。本文旨在抛砖引玉,更详细的介绍仍然需要大家参考其他专业资料。AI初识人工智能、机器学习是一个大的研究领域,涉及计算机、软件、数理统计、概率论、模式识别等多个学科,应用范围也非常广泛,如图像分类、人脸识别、物体检测、语音识别、自然语言处理、计算机视觉等。首先大概了解一下人工智能、机器学习、深度学习的概念和相互关系。人工智能:希望机器能够像人类的大脑一样思考,并作出反应。机器学习:从大量的数据中找出规律,自动地学习出算法所需的参数。深度学习:机器学习的技术分支之一,主要是通过搭建深层的人工神经网络来进行知识的学习,输入数据通常较为复杂、计算量大。参考:cid:link_17AI发展历程人工智能发展简史:cid:link_38cid:link_12cid:link_19cid:link_25浅谈人工智能的下一个十年:cid:link_6什么是机器学习:cid:link_20AI工程应用:cid:link_21AI技术业界洞察分析:https://linstar.huawei.com/TI/report/details/529362f318cf4bfba1e75c1641b2060fAI应用开发流程AI应用生命周期参考华为云的软件全生命周期管理,软件生命周期经历了需求/规划、开发、测试、发布、运维、运营6个主要阶段,和传统产品的生命周期基本能一一对应起来。AI应用的开发也属于软件开发范畴,所以这里主要看一下AI应用的开发上线阶段。机器学习需要大量的数据做训练,并持续去迭代模型,所以AI应用和其他应用的开发略有差异,参考华为云的Modelarts一站式AI开发平台介绍,看看AI应用的开发有哪些流程。 从上图可以看出,首先需要训练数据,然后根据网络设计模型结构,把数据送给设计的网络去训练得到模型,训练过程中不断迭代优化模型,最终将模型部署上线提供服务,最后进入运维环节。Modelarts还提供了市场功能,可以把你的数据集、算法、模型等资产发布出去供其他人订阅使用,这样对于类似的应用场景(如车牌识别、人脸检测、花卉识别等)就增大了资产的复用性。Modelarts官方文档:cid:link_14数据集准备机器学习开发首先需要准备数据集,数据尽可能来源于真实场景。模型的质量越高,对数据集的需求量就越大、数据质量要求也就越高,比如物体识别场景就需要尽可能收集不同角度、背景、光照的样本数据。当数据采集和接入之后,数据一般是不能直接满足训练要求的。为了保障数据质量,数据准备工作还包括收集数据、标注数据、清洗数据、提取特征、存储数据等。数据集可以是业界共用的(比如手写数字识别数据集),也可以是自己采集、制作的,也可以是网络爬虫获取的,等等。注意一点,数据收集需要保证合法性,满足隐私保护等相关法律条例,不泄露用户数据和隐私,保证数据的安全性,境外收集数据还有其他法律法规需要关注。参考:cid:link_3模型训练AI模型的本质是一个函数,函数包含大量的参数,凭借我们熟悉的知道自变量和因变量,逻辑推导y=f(x)的表达式这种方式是不可行的,因为数据量太大了,这时只能通过训练的方式来拟合一个比较接近的函数。所以,模型训练也称模型开发,简单点说就是从数据中找算法,这个算法和传统的贪心、穷举算法不同,不是人为设计的,而是从数据中来的。模型开发过程实际就是构建一种模型结构,基于种深度学习框架搭建模型,接着在计算资源上训练模型,得到模型后对其测试比较不同模型的性能。性能指标除正确率、错误率、准确率、召回率这些基本指标外,还有训练时间、预测时间、CPU/GPU资源效率等。模型结构:贝叶斯、线性模型、支持向量机、全连接神经网络、卷积神经网络等。深度学习框架(引擎):pytorch、tensflow、caffe、mindspore、keras等计算资源:CPU/GPU/Ascend、单机/分布式除上面基本模型训练操作,模型开发过程中对模型的版本管理、增量训练、模型评估、元数据管理、可视化这些都属于训练的工作。推理预测AI模型开发完成后,可以将模型创建为AI应用,将AI应用快速部署为推理/预测服务,通过web应用或者API的形式对外提供服务。其他产品可以调用API的方式把AI推理能力集成到自己的IT平台中。部署方式常用在线服务、批量服务、边缘服务。简单理解,在线服务就是把服务部署在云端,大家都去云端请求服务;批量服务就是可以对批量数据进行推理;边缘服务就是把服务部署到带有计算能力的边缘设备上,在靠近用户侧提供算力把数据处理了,如手机设备。例如智能音箱,可以在设备端部署一个简单模型来接收唤醒指令,而将后续复杂的语音交互发送到云端的复杂模型进行处理。服务部署后还需要运维监控,通常可以部署在自己的服务器上,也可以部署到华为云、阿里云、AWS等云平台上,将环境的维护交给第三方云厂商托管。(欧洲电信标准协会(ETSI)对边缘计算的定义:在移动网络边缘提供IT服务环境和计算能力,强调靠近移动用户,以减少网络操作和服务交付的时延,提高用户体验。)边缘服务:cid:link_24华为modelarts技术架构:cid:link_29IEF边缘部署平台:cid:link_9MLOps从AI开发流程看,从零开始到上线一个模型,主要经历了系统设计、数据集准备、模型训练、模型评估、服务部署、运维监控等阶段。这几个阶段都需要专业的工具和知识,业界基于不同AI开发阶段,整合了人工智能一站式开发平台,将设计、开发、运维有机结合起来,你可以在一个平台上完成这一系列动作。MLOps,机器学习操作,就是机器学习时代的DevOps。主要作用就是建立一个标注化的模型开发、部署、运维流程,通过缩短开发部署的时间来更快的软件迭代。MLOps的迭代开发模式和上面modelarts平台提供的的开发流程是不是很相似呢。现在谷歌、亚马逊、阿里、华为等都有自己的AI开发平台,如华为modelarts平台提供的内置模块workflow。AI开发平台提供的关键作用有:数据处理:实现数据集的特征组合、筛选和转换,从数据集中提取关键特征,供模型训练使用。模型训练:提供AI算法框架,提交训练任务,提供GPU、CPU训练计算供开发者选择。模型管理:查看模型包的详细信息、删除模型、下载模型等管理。推理服务:模型发布到推理框架上,开始对外提供AI服务。 MLOps介绍:cid:link_15MLOps平台对比:cid:link_28ML开发流程:cid:link_0ML涉及的模块:cid:link_1AI开发基本过程:cid:link_26AIOps业界洞察:cid:link_7从听云科技看AIOps: cid:link_8ModelOps行业洞察与模型开发流水线AI Factory介绍:cid:link_4AI应用类型AI模型分为判别式AI(Discriminative AI)和生成式AI(Generative AI)。判别式AI关注的是对数据进行分类或建立模式识别的任务。它的目标是学习输入数据与其对应的标签或类别之间的关系。判别式模型直接对条件概率分布进行建模,例如给定输入x,预测输出y的条件概率P(y|x)。常见的判别式模型包括逻辑回归、支持向量机(SVM)、神经网络等,常见的应用如图像分类、物体检测、房间预测、物体跟踪等。生成式AI关注的是对数据进行建模,以便能够生成新的具有相似分布的数据样本。生成式AI(生成式人工智能)是指使用AI 来创作新内容,例如文本、图片、音乐、音频和视频。生成式模型的目标是学习联合概率分布P(x, y),其中x是输入数据,y是对应的标签或类别。生成式模型可以通过学习数据的分布特征来生成新的数据样本,例如生成对抗网络(GAN)、变分自编码器(VAE)等,常见的应用如ChatGPT、Sora等。随着ChatGPT、Sora的迅猛发展,生成式AI逐渐成为研究新热点。AI开发平台架构以Modelarts的架构为例理解AI平台架构,如下图所示,从底层往上次看,依次是硬件提供计算、网络、存储等基础资源;异构计算架构提供分布式调度能力;AI计算框架支持多种引擎,如常用的pytorch、tensflow、mindspore等;上层是数据管理、训练、推理等微服务。基于这些微服务就可以开发各种各样的行业应用。 硬件基础硬件基础资源包括计算、存储、网络等,这里重点介绍一下计算资源。深度学习最重要的就是数据和运算。数据越多,理论上模型就越精确;运算更快,模型迭代就越快,服务上线周期越短。人工神经网络就是通过构建具有很多隐层的模型,通过海量的训练数据,来确定模型参数,最终提升模型性能。这种算法的特点决定了对训练数据量和计算能力的要求。算力方面,当前流行的X86和ARM的传统CPU处理器架构往往需要数百甚至上千条指令才能完成一个神经元的处理,但对于并不需要太多的程序指令,却需要海量数据运算的深度学习的计算需求,这种CPU结构就略显吃力,因此GPU处理器在这种特殊的计算模式下就显示出了优势。图形处理器GPU最初是运行绘图运算工作的微处理器,可以快速地处理图像数据。后来科学家发现,其海量数据并行运算的能力与深度学习需求不谋而合,因此,被最先引入深度学习。如同线性代数,只需要基本的加减乘除方法即可快速的解决线性方程求解问题。分布式计算能力也应用于处理海量数据,提升计算速度。分布式训练:cid:link_10CPU/GPU/NP:http://3ms.huawei.com/km/groups/3823811/blogs/details/9090571?l=zh-cn&ctype=nullcid:link_22深度学习框架什么是深度学习框架?百度百科介绍:在深度学习初始阶段,每个深度学习研究者都需要写大量的重复代码。为了提高工作效率,这些研究者就将这些代码写成了一个框架放到网上让所有研究者一起使用。接着,网上就出现了不同的框架。随着时间的推移,最为好用的几个框架被大量的人使用从而流行了起来。简单来说就是工具、库、算法,作一个简单的比喻,一套深度学习框架就是一套积木,各个组件就是某个模型或算法的一部分,你可以自己设计如何使用积木去堆积符合你的工程。常用的深度学习框架有pytorch 、tensorflow、caffe、spark、mxnet等,不同框架有其自身的优缺点,选择一个合适的框架能起到事半功倍的作用,开发者可以根据业务和自身对框架的熟悉程度选择,用户可以在各个框架的官网上了解框架的详细信息。明确这些流行的框架都支持在不同计算资源上训练、推理。 深度学习框架:cid:link_11上层服务AI开发流程主要包括数据集准备、训练和推理,其实这三个大类细分还有很多地方可以深入研究。比如在数据管理里面涉及数据集标记、数据处理、团队标注等;在训练里面包括算法开发管理、分布式训练、训练版本/实验对比、模型评估等;在推理里面包括在线部署、边缘部署、模型管理、模型转换、模型压缩等。这些服务可以独立提供使用,也可以有机地组合起来,提升了通用场景的开发效率。再加上AI应用市场gallery,把算法、模型、数据集等作为资产发布到市场,让他人可以订阅使用,提升资产的复用性。其他参考资料机器学习首先是数学问题,或者说是概率问题。了解甚至掌握一些数学基础对学习和理解AI是十分必要的。基础教程Pytorch深度学习实践:cid:link_27AI基本概念:cid:link_18孙健老师课程(数据推导过程居多) cid:link_37机器学习笔记:cid:link_23重要理论马尔可夫链:cid:link_30神经网络:cid:link_33BP算法:cid:link_34卷积:cid:link_31傅里叶变换:cid:link_16cid:link_32小波变换:cid:link_35cid:link_36
  • [技术干货] 人工智能干货合集(2025年03月)
    1. AI开发平台ModelArts新功能2025年2月份新发布了8个新功能,其中有3个都与deepseek有关。这3个新功能如下:1基于MaaS DeepSeek API和Cherry Studio快速构建个人AI智能助手使用Cherry Studio调用部署在ModelArts Studio上的DeepSeek模型,快速构建个人AI助手。基于MaaS DeepSeek API和Cherry Studio快速构建个人AI智能助手2基于MaaS DeepSeek API和Dify快速构建网站智能客服使用MaaS的免费Token额度的满血版DeepSeek-R1 API接入Dify(开源Agent平台),快速构建AI对话机器人并将其嵌入在网页中。基于MaaS DeepSeek API和Dify快速构建网站智能客服3MaaS支持使用DeepSeek模型实现对话问答在MaaS控制台领取免费额度并体验DeepSeek-R1模型,快速实现对话问答。使用ModelArts Studio的DeepSeek-R1模型框架实现对话问答其余5个新功能如下:1资源池节点支持开启/关闭删除锁为了防止节点被误删除或退订,您可以根据业务情况对节点开启删除锁。开启删除锁的节点将无法正常使用删除/退订功能,需要关闭删除锁才可以进行删除/退订。管理Lite Cluster节点2事件中心页面授权运维针对ModelArts运维平台告警的故障节点,控制台“资源管理 > 事件中心”页面记录故障节点的计划事件,包括故障节点的基本信息、事件类型、事件状态、事件描述等,并支持授权和重部署操作,授权华为技术支持对故障节点进行运维。管理Lite Cluster节点3在Lite Cluster资源池上使用Ascend FaultDiag工具完成日志诊断在ModelArts Lite环境下使用Ascend FaultDiag工具进行日志诊断的过程,包括日志采集、日志清洗、故障诊断三个步骤。在Lite Cluster资源池上使用Ascend FaultDiag工具完成日志诊断4开启/关闭专属资源池节点绑定当资源池下已创建逻辑子池,支持开启节点绑定,为逻辑子池绑定专属的节点。查看Standard专属资源池详情5Standard资源池节点支持换绑逻辑子池Standard专属资源池开启节点绑定后,资源池内的节点可换绑指定的逻辑子池。查看Standard专属资源池详情2. 人工智能相关直播合集CloudPond上的DeepSeekhttps://bbs.huaweicloud.com/live/dks_live/202503071630.html比一体机能力更丰满、比公有云距离更亲近、比自己搭建更轻松简单,解读在CloudPond 上部署DeepSeek,选型、方案以及部署维护的细节。CloudPond,把小型华为云搬回家?华为云Metastudio×DeepSeek与RAG检索优化分享cid:link_8带来DeepSeek数字人解决方案,以及如何使用Embedding与Rerank实现检索优化实践,为开发者与企业提供参考,助力场景落地。
  • [问题求助] jupyterLab里面从OBS下载报错:Exception: ('AccessDenied', 'Access Denied')
    前几天还是好好的,不知道为何现在不行了:代码是:#如果找不到modelarts模块, #终端运行python -m ipykernel install --user --name base --display-name "Python (base)" #然后创建一个base的notebook,运行以下代码 import os from modelarts.session import Session sess = Session() if sess.region_name == 'cn-north-1': bucket_path="modelarts-labs/notebook/DL_ocr_ctpn_text_detection/ctpn.tar" elif sess.region_name == 'cn-north-4': bucket_path="modelarts-labs-bj4/notebook/DL_ocr_ctpn_text_detection/ctpn.tar" else: print("请更换地区到北京一或北京四") if not os.path.exists('./CTPN'): sess.download_data(bucket_path=bucket_path, path="./ctpn.tar")报错是:--------------------------------------------------------------------------- OBSDownloadException Traceback (most recent call last) ~/modelarts/modelarts-sdk/modelarts/util/obs_util.py in download_object(self, bucket_path, local_file_path) 305 raise OBSDownloadException(code=resp.errorCode, --> 306 message=resp.errorMessage) 307 else: OBSDownloadException: ('AccessDenied', 'Access Denied') During handling of the above exception, another exception occurred: OBSDownloadException Traceback (most recent call last) ~/modelarts/modelarts-sdk/modelarts/util/secret_util.py in wrapper(*args, **kwargs) 134 try: --> 135 return func(*args, **kwargs) 136 except Exception as e: ~/modelarts/modelarts-sdk/modelarts/session.py in download_data(self, bucket_path, path, subfiles_mode) 415 self.obs_client.download_object(bucket_path=bucket_path, --> 416 local_file_path=path) 417 print("Successfully download file %s from OBS to local %s" % ( ~/modelarts/modelarts-sdk/modelarts/util/obs_util.py in download_object(self, bucket_path, local_file_path) 313 raise OBSDownloadException(code=resp.errorCode, --> 314 message=resp.errorMessage) 315 except Exception as e: OBSDownloadException: ('AccessDenied', 'Access Denied') During handling of the above exception, another exception occurred: Exception Traceback (most recent call last) <ipython-input-1-122599a725fb> in <module> 14 15 if not os.path.exists('./CTPN'): ---> 16 sess.download_data(bucket_path=bucket_path, path="./ctpn.tar") ~/modelarts/modelarts-sdk/modelarts/util/secret_util.py in wrapper(*args, **kwargs) 138 139 if 'modelarts.session.Session' in str(type(instance)): --> 140 access_key, secret_key, security_token, user_id = read_ak_sk_from_secret(instance, e) 141 instance.access_key = access_key 142 instance.secret_key = secret_key ~/modelarts/modelarts-sdk/modelarts/util/secret_util.py in read_ak_sk_from_secret(instance, error) 63 access_key == instance.access_key and \ 64 secret_key == instance.secret_key: ---> 65 raise Exception(error) 66 67 return access_key, secret_key, security_token, user_id Exception: ('AccessDenied', 'Access Denied')试了之前的Notebook,是可以从OBS正常下载的,现在也不行了。地址是:cid:link_0 报错截图:
  • [热门活动] 随着AI越来越火,已经涌现除了类似trae,tars等工具,之后还会有什么更好玩的呢。一起来讨论吧
    deepseek的热度还没消减,trae,tars等工具又出现,实实在在的可以帮助我们提升生产力,那么之后还会有那些方面更好的工具呢 ,?
  • [案例共创] 【案例共创】Mass满血DeepSeek服务结合云主机搭建私有化数学家Agent
    一、部署流程华为开发者空间:汇聚鸿蒙、昇腾、鲲鹏、GaussDB、欧拉等各项根技术的开发资源及工具致力于为每位开发者提供一台云主机、一套开发工具及云上存储空间,让开发者基于华为根生态创新。1、领取体验版DeepSeek-V3-32k2、领取华为开发者空间3、安装ChatBox4、ChatBox集成DeepSeek; 二、领取体验版DeepSeek-v3-32k领取DeepSeek 200w免费Token,开启DeepSeek开发之旅。我们可以 登录Mass 或者在控制台搜索ModelArts,选择AI开发平台 ModelArts 进行后,选择总览下方的ModelArts Studio  。进入ModelArts后,点击ModelArts Studio进入,进入ModelArts Studio后,选择区域为《西南-贵阳一》,点击《模型推理》下方的《在线推理》,点击《免费服务》就可以领取对应的DeepSeek,可以免费领取200万tokens。领取后就可以直接点击右方《在线体验》开始体验了。对于通过API调用,我们则需要点击右侧的《调用说明》,进入API调用说明。在调用说明上详细介绍了调用的API地址及相关的sdk 。这里我们需要注意的是,在调用API的时候必须要有一个唯一的API Key ,所以我们点击《API key管理》去创建一个key。注意:API Key仅会在新建后显示一次,请及时复制并妥善保存,若API Key丢失,请新建API Key。三、领取华为开发者空间我们进入华为云开发者官网,登录过后,点击右侧的《开发者空间》进入。在开发者空间首页《热门服务》有一个关于开发者云主机的入口。点击立即体验,按流程即可领取成功开发者云主机。 四、配置云主机服务点击《配置云主机》,选择CPU架构《X86》 规格《默认》 操作系统《Ubuntu》系统镜像《公共镜像》,点击《安装》,即可配置完成云主机。配置完成后,点击《进入桌面》五、安装ChatBoxChatBox 是一款开源的客户端软件,主要用于与生成式 AI 模型进行交互。通过ChatBox我们可以通过可视化方式搭建Agent.在云主机,点击火狐浏览器,搜索Chatboxai官网进入,点击“下载“按钮进入下载有几个,选择64-bit(注意云主机是X86的)开始下载软件安装包。我们下载64-bit类型镜像文件,目前文件大小在100M左右,下载期间我们先安装好其他的依赖包。打开终端,安装libfuse.so.2库:sudo apt install libfuse2在下载目录,打开终端,开始Chatbox安装服务执行添加权限命令和启动命令,注意这里的chatbox包需要以自己下载的版本。sudo chmod +x Chatbox-1.11.5-x86_64.AppImage ./Chatbox-1.11.5-x86_64.AppImage运行成功后,会自动弹出运行页面点击《使用自己的API Key或本地模型》,选择《DeepSeek API》,名称:自定义一个API域名:在Mass服务中的《调用说明》-《接口信息》-《api地址》 。注意这里的地址要去除V1后的API路径:不用动API秘钥:在Mass服务中的《调用说明》- 《API Key管理》创建的秘钥模型:在Mass服务中的《调用说明》-《接口信息》-《模型名称》配置完成后,点击《保存》即可保存成功后,即可开始进行对话沟通。一个自定义的AI助手就搭建完成了。六、创建自己的Agent点击《我的搭档》-《创建新的AI搭档》 进入创建阶段输入《搭档名称》,《人物设定》《头像》,点击保存即可创建一个自定义Agent。我们以一个数学大师为例,创建成功后,我们问它:1+1为什么等于2? Agent也完美的回答了结果。至此我们通过Mass服务 + 云主机 完美的搭建了一个自定义的工具,这是属于我们自己独有的工具。 我正在参加【案例共创】第3期 基于华为开发者空间+DeepSeek完成AI应用构建开发最佳实践https://bbs.huaweicloud.com/forum/thread-0218176004967264062-1-1.html
  • [部署上线] modelarts在线部署后,无法在python中本地调用。
    modelarts在线部署后,无法在python中本地调用。试过ak/sk   app授权都不行,一直有401或404状态码报错
  • [问题求助] 升级更换模型之后,和AI对话时报错
    原来使用的是Deepseek-V3模型,后来收到短信说需要升级,原来的大模型找不到了,重新部署了新的模型,更换了相关参数,但对话时出现如下错误:File "/home/developer/IDEProjects/study_01/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1023, in _request    raise self._make_status_error_from_response(err.response) from Noneopenai.APIStatusError: <!DOCTYPE html><html style="height:100%;width:100%"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="Server" content="CloudWAF" /><title id="title">访问被拦截!</title></head><body onload="bindall()" style="height:100%;width:100%;margin:0px;font-family:Microsoft yahei"><div><style type="text/css">      .select {float: right;margin: 10px 20px 0 0;height: 32px;line-height: 20px;font-size: 14px;width: 80px;}</style><select class="select" name="language" onchange="changeLanguage(this.options[this.options.selectedIndex].value)"><option id="option-zh" onclick="changeLanguageZh()" value="zh">中文</option><option id="option-en" onclick="changeLanguageEn()" value="en">English</option></select><div style="clear: both;"></div></div><div style="min-height:13.125rem;width:100%"><div style="margin-top:3.75rem;margin-left:18.4375rem;height:52.38;width:83.04%;"><svg xmlns="http://www.w3.org/2000/svg" style="width: 3.125rem;height: 3.125rem" viewBox="0 0 50 50"><path fill="#e84e4c" d="M25,0A25,25,0,1,0,50,25,25,25,0,0,0,25,0Zm1.6,37.16H22.85V33.41H26.6Zm0-6.63H22.85L22.35,13H27.1Z"/></svg><font style="font-family:MicrosoftYaHei;font-size:4.375rem;color:#e94d4c;margin-left: 0.75rem;font-weight: bold;">418</font></div><div style="margin-left:18.4375rem;height:47.62%;width:83.04%;"><font id="a" style="font-family:MicrosoftYaHei;font-size:1.875rem;color:#999999;word-wrap:break-word;">您的请求疑似攻击行为!</font><p style="font-family:MicrosoftYaHei;font-size:0.9rem;color:#999999;word-wrap:break-word;"><span id="c">事件ID:</span><span style="color:#499df2" id="d">30-inst-242-20250327105617-71977b77</span></p></div></div><div style="height:15.625rem;width:100%;min-width:105rem;"><div style="margin-left:18.4375rem;float:left;width:50rem"><p id="b" style="margin-top:10px">如果您是站长,您可以前往WAF控制台进行误报屏蔽设置,让您的访问不再被拦截</p></div></div></body><script>function changeLanguage(value) {if (value === 'zh') {changeLanguageZh();} else if (value === 'en') {changeLanguageEn();} else {changeLanguageZh();}}function changeLanguageZh() {document.getElementById("title").innerHTML = "访问被拦截!";document.getElementById("a").innerHTML = "您的请求疑似攻击行为!";document.getElementById("b").innerHTML = "如果您是站长,您可以前往WAF控制台进行误报屏蔽设置,让您的访问不再被拦截";document.getElementById("c").innerHTML = "事件ID:";}function changeLanguageEn() {document.getElementById("title").innerHTML = "The access is blocked.";document.getElementById("a").innerHTML = "Sorry, your request has been intercepted because it appears to be an attack.";document.getElementById("b").innerHTML = "If you are the webmaster, configure related parameters on the WAF console to allow your requests.";document.getElementById("c").innerHTML = "Event ID:";}var language = navigator.language || navigator.browserLanguage;var re_zh = /^zh/;if (language.match(re_zh)) {changeLanguageZh();document.getElementById("option-zh").setAttribute("selected", true);} else {changeLanguageEn();document.getElementById("option-en").setAttribute("selected", true);}</script></html>
  • [技术干货] 零基础体验:通过华为云ModelArts Studio部署DeepSeek大模型
    引言在人工智能技术飞速发展的今天,大模型已成为推动教学创新的重要工具。华为云ModelArts Studio作为一个强大的人工智能平台,为开发者提供了快速部署和应用大模型服务的能力。然而,对于应用型大学的学生,尤其是来自人文专业的同学,技术门槛仍然存在。本文将通过华为云身份验证服务IAM(Identity and Access Management),帮助学生使用教师的ModelArts Studio平台(MaaS - Model-As-A-Service),仅需几个简单的页面操作,即可实现一站式快速部署DeepSeek大模型。这一过程旨在让没有工程背景的文科生也能轻松体验大模型的魅力。准备工作在开始之前,我们需要完成一些简单的准备工作。首先,确保教师的华为云账号已开通ModelArts Studio服务。随后,配置IAM账号的用户和安全组权限,确保其能够访问和使用ModelArts Studio的全部功能。学生只需使用教师配置好的IAM账号登录,并按照教师的指导进行简单设置,即可开始体验DeepSeek大模型的强大功能。配置IAM账号包括创建IAM账号的用户和安全组,再授予相应权限:1) 建立IAM用户和用户组(基本功能,省略介绍),仅授权ReadOnlyAccess。2) 配置Model Arts委托授权:请参阅华为文档 cid:link_0ModelArts提供了添加授权功能,用户可以在ModelArts Standard的权限管理功能中,快速完成委托授权,由ModelArts为用户自动创建委托并配置到ModelArts服务中。ModelArts Standard的权限配置支持普通模式和高权限模式两种方式。·        普通模式:普通模式下,用户可以基于使用的具体业务场景,自由定制授权范围,确保最小范围授权,授权方式灵活安全。适用于对授权范围有严格要求的场景。·        高权限模式:高权限模式配置简单,但创建的委托权限比较大,适用于有管理员权限需求的用户。如果需要对委托授权的权限范围进行精确控制,建议使用普通模式。笔者应用ModelArts提供的添加授权功能,默认增加了modelarts_policy_reqoiq, modelarts_policy_960cz7, modelarts_policy_b7gumw, modelarts_policy_aecv0r权限。 登录ModelArts Studio控制台1)     使用华为云IAM账号登录(省略)。2)     选择“ModelArts Studio大模型既服务平台”(红色圈): 3)     访问ModelArts Studio:在华为云控制台中,找到ModelArts Studio服务,点击“进入控制台”:   部署DeepSeek大模型服务在ModelArts Studio中,我们可以轻松地部署DeepSeek大模型服务。1)     在ModelArts Studio的导航栏中,点击“模型体验”下的“文本对话”:2)     进入模型体验中心,点击“立即选择” 3)     选择“免费服务” 4)     截至2025年3月24日(讲座演示日),华为云提供了2个DeepSeek 模型版本, 既DeepSeek-V3-32K 和 DeepSeek-R1-32K:5)     选择其一,确定! Well Done! 就可以开始体验模型对话了。推荐同学相互选择,相互对比  约束与限制按照华为云“配置Model Arts委托授权”文档说明,关于“华为云账号”配置:只有华为云账号可以使用委托授权,可以为当前账号授权,也可以为当前账号下的所有IAM用户授权。多个IAM用户或账号,可使用同一个委托。一个账号下,最多可创建100个委托。总结与展望通过华为云IAM账号登录ModelArts Studio,我们成功实现了教学场景中的一站式快速部署DeepSeek大模型服务。这一过程不仅简化了教学资源的部署和管理,还显著提升了教学效率和效果。更重要的是,它为没有工程背景的文科学生提供了一个直观的窗口,让他们能够亲身体验人工智能大模型的部署与运行,感受其容量、速度和性能等方面的实际表现,从而更深入地理解工程技术的魅力。
  • [开发环境] GPU: 1*Pnt1里面的Pnt是啥意思?
    为什么现在叫这个规格了?GPU: 1*Pnt1以前叫 Telsa P100 很简单明白, 现在叫 Pnt ,Pnt是啥意思?其实是一个东西
  • [案例共创] 【案例共创】基于华为AI开发平台DeepSeek+RAGFlow打造企业应用-智能项目管理
    引言deepseek-r1开源标志着普惠AI时代的到来,中小企业接入DeepSeek最安全、实惠的方式就是搭建本地知识库。本文针对企业日常项目管理中相关人员工作繁忙,项目进度跟进不及时等现状,使用DeepSeek+RAGFlow搭建项目管理知识库,用户只需要把对合同文本,往来文件上传到知识库中,系统就会智能分析项目里程碑,现状等等实现智能管理。选用RAGFlow是因为它有以下几个功能点:整合了知识图谱,0.72版本后可以直接针对文件作知识图谱切割,带来了更准确检索知识的可能。但使用知识图谱切分会消耗大量token,本经适员验证半天就花了100万有多token。智能体自带编排功能带来处理复杂场景的能力。Python API为有开发知识的人带来对知识作更准确切片的手段。知识库,智能体可通过HTTP API访问,很方便就可以嵌入其它系统。一、环境搭建1.1 准备云服务器RAGFlow最低需要50G硬盘空间,开发平台准备的免费云桌面为40G,且是ARM环境RAGFlow无构建好的docker镜像。本经济适用男头铁就想白嫖,自己在云桌面上部署了半天最终还是碰到空间不足只能作罢。换个思路参与共创领代金券继续免费学习。配置:竞价计费 8vCPUs + 32GiB + 80G硬盘, 系统Ubuntu 2024,带宽选按带宽计费5M(用流量配置个环境,下载docker都20G+,作测试时可以再调为1M,主打就算代金券也要省),这样配置下来0.7左右一小时,不关机都够测5天。至于我?当然随手关机,代金券有效期可是一年。云主机购买好后到安全组里配置80端口放行你自己的公网ip,RAGFlow安装好后是要通过80端口访问页面的。  登入到云主机后更新,安装docker一条龙apt upgrade -yapt install docker.io -yapt install docker-compose -y要注意华为apt源力的docker compose版本低,需要自己升级,那为什么要先apt装一下,还不是为了环境么,它都配置好可以偷懒了。wget https://bgithub.xyz/docker/compose/releases/download/v2.34.0/docker-compose-linux-x86_64 -O docker-composemv ./docker-compose /usr/bin/chmod +x /usr/bin/docker-compose上面路径是按默认路径,如果你是其它环境可以自己whereis查下docker-compose所在目录,把mv 后的目的路径替换为你自己的路径即可。github因为dns污染经常抽风,这里跟后面要用得到的都是直接用bgithub.xyz。二、RAGFlow安装2.1 修改docker源这里我们可以到控制台里,搜索容器镜像服务->左边镜像中心->右边点击镜像加速器,获取华为镜像地址  修改docker源为华为加速地址。vi /etc/docker/daemon.json,在vi里加如以下内容{ "registry-mirrors": [ "https://替换为上面华为镜像加速地址" ]}按"esc",:wq保存并退出,重启docker使得镜像配置生效systemctl restart docker2.2 克隆RAGFlow库git clone https://bgithub.xyz/infiniflow/ragflow.gitcd ragflow/docker发帖时最新版本为0.17.2,但该版本有时在解析文件时大概率会一直在排队状态,nightly版本已经修复该bug,所以我们使用nightly,git checkout -f nightly修改配置.env文件,按/image搜索到镜像设置,我们要嵌入模型的,将slim那行注释掉启用下面,并修改:V0.17.2为:nightly  使用docker-compose下载镜像并启动ragflow前,你多半会跟我一样在下载minio时太慢而失败,我们先用华为镜像下载,然后设置为别名quay.io即可docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Zdocker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z然后再启用RAGFlow,这里会下载10个多G的镜像文件,在等待时可以去作后续步骤获取华为云免费token等等。docker-compose up -d2.3 申请华为云免费token登录华为云 MAAS,进入贵阳一区域的MaaS控制台,然后点击控制台左侧“模型推理”,点击右侧的“免费服务”,找到想要使用的DeepSeek版本后点击“领取额度”,  领取后点击“调用说明”,选到"OpenAI SDK", 将API地址,模型名称都复制下来,后面RAGFlow中设置大模型提供商时需要填写这些信息。  2.4 申请API Key大模型外部调用需要提供API Key,需要先申请API Key。还是在ModelArts Studio界面中左边找到最下面“API Key管理”,右边点击“创建API Key”,按照你喜好填入标签,描述->“确定”即可, 同样把生成的API Key复制下来,之后我们在RAGFlow中需要填入。  三、RAGFlow配置3.1 访问我们部署的RAGFlow页面当docker-compose启动完成后,打开浏览器访问我们购买的云服务器网址即可进入RAGFlow界面,如果你输入网址后打不开,确认下有没有按1.1所说的在安全组中放行你的ip访问80端口。在初始页面中输入Email,Password。点击“sign in”,系统会自动为你创建管理员帐号。进入主界面后右上方语言切换为中文。  3.2 配置RAGFlow模型提供商点击左右侧头像->左侧“模型提供商”,从右边待添加模型里找到“OpenAI-API-Compatible”模型点击添加  “模型类型”选择chat,模型名称"DeepSeek-R1",把2.3步中保存的对应信息填入基础Url,API-KEY中。 确定后RAGFlow会测试链接,连接成功后会出现在页面上方的”添加了的模型“里。重复上述步骤把"DeepSeek-V3"模型、其它地方申请的模型、本地部署的大模型都添加进去,后续编排智能体的时,就可以根据具体场景设置调用不同的大模型。  添加完成模型后还有一步设置默认模型提供商,点击最上面“系统模型设置”,RAGFlow拆分知识图谱需要用到有推理能力的大模型,所以这里我们选DeepSeek-R1模型,嵌入模型选BAAI/bge-large-zh-v1.5,我们没用到图片、语音识别下面的几个模型可以不填。  四、项目管理知识库准备及测试4.1 知识库配置前面一系列配置完成后,就可以添加知识库了。在新建知识库前,我们先准备一些文件,见附件的“项目模拟文件.zip”,模拟项目立项,项目支付,项目研发等等信息。准备好文件后回到RAGFlow页面,点击“知识库”,再点击“新建知识库”,名字按喜好取,比如我取的“项目管理原型”。主要的配置如下嵌入模型:BAAI/bge-large-zh。切片方法:General。打开提取知识图谱,实体类型设计如下:项目,日期,里程碑,组织,订单,预算,金额(本来数字类型数据在知识图谱里一般不设置为实体,我们这里只是验证原型所以忽略,实际使用时可以通过RAGFlow的组件去业务系统中获取更准确的数字),为提高检索准确,实体归一化,社区报告生成,都选上(注意确实会消耗大量大量的token)4.2  上传知识库,并解析出知识图谱。将附件的文件上传到知识库中,全选后点解析,RAGFlow会自动提取资料的知识图谱,时间会持续至少30分钟,等有文件解析成功后左边会出现“知识图谱”选项,点击就可以看到RAGFlow自动生成的图谱图示,如下图。需要注意的是因为GrapRAG里提取实体跟关系是英文提示词,社区摘要有时候会是一串英文。如果要投入正式使用还得自己作更多的测试修改为中文提示词。  4.3 测试项目管理知识图谱解析完成后,就可以测试我们的项目管理原型是否能满足要求。点击最上方“聊天”-“新建助理”,作如下配置助理设置:知识库选择上面我们建立的知识库"项目管理原型"提示引擎:对默认的提示词作进一步修改,增加“#项目按照项目立项时间排序,回答给定项目的相关内容。算不是实际支出,只有支付的才是实际支出”提示引擎里的使用知识图谱可以切换测试,看看使用知识图谱跟不使用知识图谱的对比效果模型:选择DeepSeek-R1测试用例:”2025年项目总共支出了多少“,不启用知识图谱时,回答知识库中无2025年总共支出,或者只回答奶茶项目支出了10万,这就是默认知识库中,信息重叠时,只取TopN造成的毛病。 启用知识图谱时,回答会耗时更多,后台看是首先用大模型对问题生成知识图谱查询,然后把查询结果再给模型完善回答。 五、 制作智能体机器人上面测试我们可以发现,为实现不同问题需要定制不同的提示词,或者有些多跳的问题需要使用知识图谱,简单的问题直接使用RAG问答就行。为给用户更好的使用体验,可以通过智能体机器人,对用户问题作分析然后按不同问题调用不同的流程做回答。点击页面上方"agent"->“创建agent”,使用空白模板。我们要实现一个可以执行多个功能的项目管理智能体,要用到如下组件。问题分类:判断用户问题类型,然后调用不同的模型作回答知识检索:针对用户问题检索知识库内容生成回答:将检索内容作为上下文,让大模型作智能回答首先拖入“对话”,“问题分类”两个组件,设置好流程,如下图  点中问题分类,第一步需要设置输入,我们直接应用对话_0,第二部选择作分类的大模型,因为分类不需要推理能力为了响应速度我们选DeepSeek-V3,最后点击新增分类,填写名称,描述以及例子,其中例子是最重要的分类依据。大模型根据分类例子判断分类这里添加以下三种问题分类,你也可以按实际情况自己发挥项目现状:描述,项目情况类问题。示例,奥美项目当前情况?奶茶项目推进如何?项目成本:描述,项目支出类问题。示例,奥美预算多少? 2025年项目支出多少?奶茶推进项目超预算了么?项目总结:描述:汇报类问题。 示例,生成奥美项目的项目月结。 生成奶茶推进项目月结。 有了问题分类,就可以针对不同类型问题作不同的检索,比如简单的问题直接检索知识库,复杂的问题按知识库检索,甚至更复杂的问题可以再让DeepSeek把问题拆分为一系列小问题,使用循环组件分别解决小问题后再汇总回答,这里主要作原型测试,所以不展开。我们直接简单按3个分类作3中不同的检索,从左边拉出3个知识检索,配置好执行箭头, 每个检索的配置里”输入“统一都选择“对话_0",”知识库选择“项目管理原型”,是否启用知识图谱,根据分类的复杂程度配置, 这里设置“项目成本”启用知识图谱。    再拖拉3个生成回答对应3个知识检索,表示用相同或者不同的大模型去回答对应问题,3个回答的提示词简单设计如下 生成回答_0:模型选择DeepSeeK-V3。提示词:根据{input},总结项目当前里程碑,并简单分析下当前项目。注意:只回答问到的项目的相关内容生成回答_1:模型选择DeepSeek-R1。提示词:请总结段落{input}。注意数字,不要胡编乱造。生成回答_2:模型选择DeepSeek-R1。提示词:根据{input}。生成项目总结。总结里要提到项目已完成里程碑,当前里程碑,预算,实际支出。当前重点关注点 到此,一个简单的智能体搭建完成。我们可以点击“运行”测试新建的智能体。 输入问题“奥美项目现状”, 如下图可以看到智能体正确的按“项目现状”分类->“知识检索_0”->"生成回答_0"流程执行,并回答了奥美项目现状。可以再多问几个问题测试下,比如“奥美注射液小试阶段付钱了么?”,“奶茶推进项目月结”,都能按最初分类并回答,大家可以自行测试这里就不贴图了六、感想展望以上我们用DeepSeek+AGFlow搭建了项目管理的雏形。对于信息类的检索已经能满足使用,但对于稍微复杂点的统计、对比类问题还不是很满意。比如多跳类问题“第二个项目已经支付了多少钱”查看知识图谱的检索结果还是会带多个项目,能正确回答是因为作测试的知识库里项目数量少每次都把所有项目直接提供给DeepSeek-R1,或多或少的依赖R1推理能力推理出结果。当知道问题只针对一个项目把知识检索的TopN设置为1,2这类小数值时,回答就经常不是正确的项目。一方面因为使用的GraphRAG里提示词为英文编写,另外一方面使用ES作为知识图谱的存储也不太方便技术人员,如果能存储到Neoj4之类的外部知识图谱数据库中,就可以使用外部查询的方式来获得更准确结果。使用知识图谱的查询耗时太久,影响用户体验,从日志看是使用推理对于企业应用特别是项目管理来说知识图谱的实体,属性,关系相对确认,只要提示词给了足够详细用不带推理的DeepSeek-V3,甚至QWQ-32B模型也一样作正确查询。另外DeepSeek-R1目前函数调用还在完善,希望在R2版本时能完善该功能。同时RAGFlow早日增加对MCP支持,这两项完善后技术背景的人员会有更多手段实现更准确的智能体应用。 我正在参加【案例共创】第3期 基于华为开发者空间+DeepSeek完成AI应用构建开发最佳实践cid:link_1
  • [案例共创] 【案例共创】基于开发者空间使用Kotaemon开源RAG UI和华为云Maas搭建本地/私人AI知识库
    案例介绍本案例指导开发者通过开发者空间提供的云主机,使用开源Kotaemon的RAG UI框架,调用ModelArts Studio 大模型平台的DeepSeek-V3-32K模型,构建私人知识库。案例内容1 概述1.1 背景介绍ModelArts Studio作为一款先进的大模型即服务平台,集成了高效便捷的模型开发工具链,支持企业对大模型进行深度定制开发,实现模型应用与业务系统的深度融合,从而显著降低企业AI技术的落地成本与实施难度,助力企业快速实现智能化转型。如今,知识库已成为企业和个人提升工作效率、积累知识资产的重要工具。传统知识库存在构建成本高、维护困难、检索效率低等问题。本案例利用Kotaemon框架和ModelArts Studio提供的DeepSeek-V3-32K模型,构建一个高效、便捷、可定制的本地/私人知识库,方便开发者检索各种场景的文档,提高工作效率。有下列应用场景:开发者文档检索: 开发者可以快速检索 API 文档、代码示例、技术博客等,提高开发效率;企业内部知识管理: 企业可以构建内部知识库,方便员工共享和检索知识,提升团队协作效率;个人知识积累: 个人可以利用知识库管理学习笔记、项目资料等,构建个人知识体系。1.2 适用对象企业个人开发者高校学生1.3 案例时间本案例总时长预计60分钟。1.4 案例流程说明:① 用户使用登录开发者空间并配置云主机;② 用户提供Firefox浏览器在ModelArts Studio平台中领取DeepSeek-V3-32K模型;③ 使用docker部署Kotaemon框架④ Kotaemon调用ModelArts Studio平台中的DeepSeek-V3-32K API模型;⑤ 用户在Firefox浏览器中构建AI知识库并对其进行聊天。1.5 资源总览本案例预计花费总计0元。资源名称规格单价(元)时长(分钟)开发者空间2vCPUs | 4GB X86 |Ubuntu 22.04 Server定制版0602 资源与开发环境准备2.1 配置云主机首先登录开发者空间,登录后页面如下:点击配置云主机,按如下规格进行云主机配置。云主机名称:我的云主机/自定义CPU架构:X86规格:2 vCPUs 4 GB操作系统:Ubuntu系统镜像:公共镜像 Ubuntu 22.04 Server定制版确认以上配置正确,点击安装,进行云主机操作系统安装。安装完毕之后,点击进入桌面。环境准备中,大约需要3-5分钟,请您耐心等待…进入桌面后的默认效果如下:2.2 领取DeepSeek-V3-32K模型在云主机桌面底部菜单栏,点击打开火狐浏览器:用Firefox浏览器访问ModelArts Studio首页, 点击ModelArts Studio控制台,跳转到登录界面,按照提示登录,即可进入ModelArts Studio控制台:签署免责声明:进入ModelArts Studio控制台首页,在左侧菜单栏,选择模型推理中的在线推理,在免费服务中选择DeepSeek-V3-32K(NEW)模型,点击领取,领取200万免费token。3 安装并配置Kotaemon3.1 Kotaemon安装Kotaemon 是一个开源的、简洁且高度可定制的 RAG(Retrieval-Augmented Generation,检索增强生成)用户界面,专门设计用于与您的文档进行对话。无论是普通用户还是开发者,Kotaemon 都旨在提供一种直观、灵活且高效的方式来管理和交互您的文档内容。它不仅仅是一个简单的聊天工具,更是一个集成了先进 AI 技术的智能文档助手,能够帮助用户快速检索、理解和生成与文档相关的信息。项目地址:cid:link_4本次通过docker安装Kotaemon。首先先安装docker:参考文档:cid:link_1登录开发者空间云主机,更新软件包列表。sudo apt-get update安装Docker所需依赖包。sudo apt-get -y install ca-certificates curl创建/etc/apt/keyrings目录,并下载Docker的官方GPG密钥到该目录。sudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://mirrors.huaweicloud.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc将Docker仓库添加到系统的软件源列表。echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.huaweicloud.com/docker-ce/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null更新软件包列表。sudo apt-get update安装并运行Docker。sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginsudo systemctl start docker设置以非 root 用户身份管理 Docker#由于云主机默认的用户是developer非root用户,需要设置以非 root 用户身份管理 Docker#创建组dockersudo groupadd docker#将您的用户添加到组dockersudo usermod -aG docker $USER重启云主机回到工作台,点击重启按钮,云主机会自动重启或者您还可以运行以下命令来激活对组的更改:newgrp docker下面的命令是设置 Docker 在系统启动时自动启动。sudo systemctl enable docker查看docker版本信息。docker -v回显如下类似信息,表示Docker安装成功。Docker到此已经安装完毕。接下来通过Docker安装Kotaemon,命令如下:docker run \-e GRADIO_SERVER_NAME=0.0.0.0 \-e GRADIO_SERVER_PORT=7860 \-v ./ktem_app_data:/app/ktem_app_data \-p 7860:7860 -it \ghcr.nju.edu.cn/cinnamon/kotaemon:main-ollama正在安装Kotaemon中:稍等几分钟,下面是安装依赖的日志:继续等待依赖安装完成,下面是安装成功且运行的截图:3.2 登录Kotaemon首页我们在浏览器输入链接:http://localhost:7860发现加载出了首页:默认的Username和Password均为 admin我们输入上述Username和Password,点击登录:登录成功:3.3 在华为云Maas上获取DeepSeek-V3-32K(NEW)模型api接口首先我们要先配置DeepSeek-V3-32K(NEW)模型api接口:我们打开ModelArts Studio中API Key管理的链接:https://console.huaweicloud.com/modelarts/?locale=zh-cn®ion=cn-southwest-2#/model-studio/authmanage点击创建API Key:在标签中填入:Kotaemon描述中填入:开发者空间的Kotaemon当然上述标签和描述的内容可以自定义:创建成功:我们在页面上也可以看到创建成功:注意:API Key仅会在新建后显示一次,请及时复制并妥善保存,若API Key丢失,请新建API Key。我们接着查看在线推理中DeepSeek-V3-32K(NEW)模型api接口信息:查看调用信息,要点击OpenAI SDK按钮:我们成功得到了DeepSeek-V3-32K(NEW)模型接口信息。3.4 配置Kotaemon我们回到开发者空间云主机的火狐浏览器,在Kotaemon登录成功的页面中,首先点击Resources 按钮:点击LLMs按钮:我们在LLMs中先配置DeepSeek-V3-32K(NEW)模型接口,点击Add按钮添加模型供应商:出现下面界面:缩小页面,可以看到全部配置信息:LLM name选项就是需要显示的模型供应商的模型(自定义),本案例设置为华为云下面继续设置LLM vendors,我们这里必须选择ChatOpenAI最后的选项Specification用于配置模型的接口信息这里默认只给出了api_key和model,因为这里默认是OpenAI来提供模型,所以我们需要手动添加base_url指定模型的接口地址,注意:这里添加base_url,不能直接在api_key:null行最后通过换行,来添加一行,需要按住shift+enter 才能添加新的一行。我们将之前得到的Api key、API地址、模型名称填入选项中:我们已经填好信息,把下面的Set default 设置为默认模型勾选一下(1),点击添加模型(2):浏览器的右上角会出现添加成功的消息:我们点击View视图查看添加的模型:发现已经成功添加华为云为默认的LLMs:我们点击华为云,测试DeepSeek-V3模型是否连接正常:在Test connection中点击Test:测试发现,- Connection success. Got response: Hello! How can I assist you today? 以及右上角会显示infoLLM 华为云 connect successfully说明连接华为云成功注意:如果出现- Connection failed. Got error: Error code: 400 - {'error_code': 'ModelArts.4905', 'error_msg': 'Failed to check the authorization request header. '}说明api_key配置错误.请检查api_key是否填写正确。如果出现- Connection failed. Got error: Error code: 404 - {'detail': 'Not Found'}说明API地址 base_url 配置错误,需要配置正确的地址如果出现- Connection failed. Got error: Error code: 404 - {'object': 'error', 'message': 'The model `deepseek-V3` does not exist.', 'type': 'NotFoundError', 'param': None, 'code': 404}说明模型名称model配置错误,需要将名称配置为:DeepSeek-V3最后我们要保存配置:浏览器右上角会显示保存成功:接下来我们配置Embeddings 嵌入式模型:我们这里docker镜像采用了Ollama 捆绑包,所以使用容器内ollama提供嵌入式模型:nomic-embed-text我们勾选使用ollama为默认的嵌入式模型,然后测试其模型:点击Test:出现连接成功的提示:最后,要保存配置:右上角显示保存成功:最后检查LLMs和Embeddings是否配置正确:下面设置其他选项:首先点击Settings按钮,然后点击Retrieval settings:我们修改1个选项,将LLM for relevant scoring修改为默认:然后点击保存设置: 4 使用Kotaemon搭建本地AI知识库然后我们点击Chat回到首页:我们可以上传我们的个人笔记、知识文档,点击Files按钮,上传pdf文件:上传完成后,正在为文件创建索引:这里创建索引的时间是根据文件的大小和嵌入式模型的响应速度决定的,文件过大,创建索引时间可能过长。下面是文件创建索引成功:点击这个文件:上述文件已经加入我们的知识库了点击Chat按钮,返回首页我们先选中文件,点击Search In File(s):选择文件:首页我们要设置AI回答的语言为中文,点击下方红色方框的小按钮:点击Language下方的按钮:选择中文Chinese:选择完成后:我们可以对这个文件进行提问了:第一个问题:总结这个文件回答的不错这里由于开发者空间自带的firefox的版本太低,无法显示思维导图因此使用chrome浏览器。首先安装下载Google Chrome 的安装包:wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb然后安装Google Chromesudo dpkg -i google-chrome-stable_current_amd64.deb查看是否安装成功:dpkg -l | grep google-chrome然后点击首页的左下角的所有应用程序按钮:然后点击运行程序:点击向下的箭头:选择chrome浏览器,启动即可:输入链接:http://localhost:7860/填入默认的Username和Password (均为admin)选择刚才的发现思维导图成功显示:点击Export按钮,可以在新窗口查看思维导图:打开了新窗口:点击Preview按钮,可以预览源文件可以浏览源文件:我们的AI知识库的搭建就完成了!5 总结与展望本次使用的Kotaemon的开源框架中关于RAG的一小部分应用,还有许多其他功能,开发者可以参考下面开源地址链接进行指导:Kotaemon项目地址:cid:link_4华为云Maas提供的DeepSeek-V3-32K模型响应速度挺快,虽然仅仅是体验,后续马上也要开通商用按量服务,应该速度更快! 我正在参加【案例共创】第3期 基于华为开发者空间+DeepSeek完成AI应用构建开发最佳实践https://bbs.huaweicloud.com/forum/thread-0218176004967264062-1-1.html
  • [部署上线] 申请了ascend vllm安装包及相应测试代码,在同样的镜像环境下跑不通,报如下错误
    基础镜像swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc3-py_3.9-hce_2.0.2406-aarch64-snt9b-20240910112800-2a95df3CANN:cann_8.0.rc3代码AscendCloud-6.3.909-xxx.zip,参考了https://support.huaweicloud.com/bestpractice-modelarts/modelarts_llm_infer_90945.html文档,报如下错误: (PyTorch-2.1.0) [ma-user ascend_vllm]$python -m vllm.entrypoints.openai.api_server --model /home/ma-user/work/chatglm2-6b \> --max-num-seqs=256 \> --max-model-len=4096 \> --max-num-batched-tokens=4096 \> --tensor-parallel-size=1 \> --block-size=128 \> --host=0.0.0.0 \> --port=8080 \> --gpu-memory-utilization=0.9 \> --trust-remote-code/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/torch_npu/utils/collect_env.py:59: UserWarning: Warning: The /usr/local/Ascend/ascend-toolkit/latest owner does not match the current owner.  warnings.warn(f"Warning: The {path} owner does not match the current owner.")/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/torch_npu/utils/collect_env.py:59: UserWarning: Warning: The /usr/local/Ascend/ascend-toolkit/8.0.T38/aarch64-linux/ascend_toolkit_install.info owner does not match the current owner.  warnings.warn(f"Warning: The {path} owner does not match the current owner.")/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/torch_npu/contrib/transfer_to_npu.py:301: ImportWarning:     *************************************************************************************************************    The torch.Tensor.cuda and torch.nn.Module.cuda are replaced with torch.Tensor.npu and torch.nn.Module.npu now..    The torch.cuda.DoubleTensor is replaced with torch.npu.FloatTensor cause the double type is not supported now..    The backend in torch.distributed.init_process_group set to hccl now..    The torch.cuda.* and torch.cuda.amp.* are replaced with torch.npu.* and torch.npu.amp.* now..    The device parameters have been replaced with npu in the function below:    torch.logspace, torch.randint, torch.hann_window, torch.rand, torch.full_like, torch.ones_like, torch.rand_like, torch.randperm, torch.arange, torch.frombuffer, torch.normal, torch._empty_per_channel_affine_quantized, torch.empty_strided, torch.empty_like, torch.scalar_tensor, torch.tril_indices, torch.bartlett_window, torch.ones, torch.sparse_coo_tensor, torch.randn, torch.kaiser_window, torch.tensor, torch.triu_indices, torch.as_tensor, torch.zeros, torch.randint_like, torch.full, torch.eye, torch._sparse_csr_tensor_unsafe, torch.empty, torch._sparse_coo_tensor_unsafe, torch.blackman_window, torch.zeros_like, torch.range, torch.sparse_csr_tensor, torch.randn_like, torch.from_file, torch._cudnn_init_dropout_state, torch._empty_affine_quantized, torch.linspace, torch.hamming_window, torch.empty_quantized, torch._pin_memory, torch.autocast, torch.load, torch.Generator, torch.set_default_device, torch.Tensor.new_empty, torch.Tensor.new_empty_strided, torch.Tensor.new_full, torch.Tensor.new_ones, torch.Tensor.new_tensor, torch.Tensor.new_zeros, torch.Tensor.to, torch.nn.Module.to, torch.nn.Module.to_empty    *************************************************************************************************************      warnings.warn(msg, ImportWarning)/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/torch_npu/contrib/transfer_to_npu.py:260: RuntimeWarning: torch.jit.script and torch.jit.script_method will be disabled by transfer_to_npu, which currently does not support them, if you need to enable them, please do not use transfer_to_npu.  warnings.warn(msg, RuntimeWarning)INFO 03-18 13:48:51 importing.py:10] Triton not installed; certain GPU-related functions will not be available.Traceback (most recent call last):  File "/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/runpy.py", line 188, in _run_module_as_main    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)  File "/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/runpy.py", line 111, in _get_module_details    __import__(pkg_name)  File "/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/vllm/__init__.py", line 2, in <module>    import vllm_npu  File "/home/ma-user/work/llm_inference/ascend_vllm/vllm_npu/__init__.py", line 9, in <module>    import vllm_npu.adaptor.adaptor_lora  File "/home/ma-user/work/llm_inference/ascend_vllm/vllm_npu/adaptor/adaptor_lora.py", line 1, in <module>    from vllm_npu.lora.core.npunica import NPUnicaWrapper  File "/home/ma-user/work/llm_inference/ascend_vllm/vllm_npu/lora/core/npunica.py", line 8, in <module>    from vllm_npu.lora.core.ops import npunica_kernels  File "/home/ma-user/work/llm_inference/ascend_vllm/vllm_npu/lora/core/ops/__init__.py", line 3, in <module>    import ascend_opsModuleNotFoundError: No module named 'ascend_ops'[ERROR] 2025-03-18-13:48:51 (PID:17147, Device:-1, RankID:-1) ERR99999 UNKNOWN application exception/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/tempfile.py:821: ResourceWarning: Implicitly cleaning up <TemporaryDirectory '/tmp/tmp0s6bde3y'>  _warnings.warn(warn_message, ResourceWarning)
  • [问题求助] notebook环境mindformers 的chat-web报错 (run_chat_server.py)
    镜像:mindspore_2.4.0-cann_8.0.rc3-py_3.9-euler_2.10.10-aarch64-snt9b  运行mindformers/chat_web/run_chat_server.py,报错:[WARNING] ME(15614:281473892618256,Process-1):2025-03-17-15:42:49.999.139 [mindspore/train/serialization.py:1716] ['transformer.embedding.embedding_weight'] are not loaded.2025-03-17 15:42:49,999 - mindformers[mindformers/models/modeling_utils.py:1500] - INFO - weights in ./checkpoint_download/glm2/glm2_6b.ckpt are loaded2025-03-17 15:42:50,000 - mindformers[mindformers/models/auto/auto_factory.py:356] - INFO - model built successfully!2025-03-17 15:42:50,000 - mindformers[mindformers/models/auto/tokenization_auto.py:332] - INFO - Config in the yaml file ./checkpoint_download/glm2/glm2_6b.yaml are used for tokenizer building.2025-03-17 15:42:50,045 - mindformers[mindformers/models/auto/tokenization_auto.py:339] - INFO - Load the tokenizer name ChatGLM2Tokenizer from the ./checkpoint_download/glm2/glm2_6b.yaml2025-03-17 15:42:50,089 - mindformers[mindformers/models/tokenization_utils_base.py:1889] - WARNING - Can't find the tokenizer_config.json in the file_dict. The content of file_dict is : {}2025-03-17 15:42:50,089 - mindformers[mindformers/models/tokenization_utils_base.py:1896] - INFO - build tokenizer class name is: ChatGLM2Tokenizer using args {'bos_token': '<sop>', 'eos_token': '<eop>', 'end_token': '</s>', 'mask_token': '[MASK]', 'gmask_token': '[gMASK]', 'pad_token': '<pad>', 'unk_token': '<unk>', 'vocab_file': './checkpoint_download/glm2/tokenizer.model'}.2025-03-17 15:42:50,603 - mindformers[mindformers/models/auto/tokenization_auto.py:433] - INFO - ChatGLM2Tokenizer Tokenizer built successfully!2025-03-17 15:42:50,603 - mindformers[mindformers/chat_web/predict_process.py:90] - INFO - 0 card model and tokenizer initialize success2025-03-17 15:42:50,614 - mindformers[mindformers/generation/text_generator.py:686] - INFO - Generation Config is: {'max_length': 10, 'max_new_tokens': None, 'min_length': 0, 'min_new_tokens': None, 'num_beams': 1, 'do_sample': False, 'use_past': False, 'temperature': 1.0, 'top_k': 1, 'top_p': 1, 'repetition_penalty': 1.0, 'encoder_repetition_penalty': 1.0, 'renormalize_logits': False, 'return_dict_in_generate': False, 'output_scores': False, 'output_logits': False, 'pad_token_id': 0, 'bos_token_id': None, 'eos_token_id': [2], 'parallel_decoding': False, 'window_size': 5, 'level': 5, 'guess_set_size': 3, '_from_model_config': True}2025-03-17 15:42:50,616 - mindformers[mindformers/generation/text_generator.py:717] - INFO - The generation mode will be **GREEDY_SEARCH**.[ERROR] ANALYZER(15614,ffffbf621010,python):2025-03-17-15:42:52.588.913 [mindspore/ccsrc/pipeline/jit/ps/static_analysis/evaluator.cc:713] Run] Primitive: <PrimitiveFunctionEvaluator_PrimitiveFunction_Reshape> infer failed, failed info: ValueError: For 'Reshape', the product of the 'input_x' shape should be equal to product of 'input_shape', but got product of the shape of 'input_x': 12352, product of 'input_shape': 12288.At:  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/ops/operations/manually_defined/ops_def.py(1767): infer_value_for_Reshape  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/common/api.py(1840): compile  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/nn/cell.py(1121): compile  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/nn/cell.py(1138): compile_and_run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/nn/cell.py(720): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/generation/text_generator.py(1092): forward  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/generation/text_generator.py(970): infer  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/generation/text_generator.py(840): generate  /home/ma-user/work/mindformers/chat_web/predict_process.py(118): generate_process  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/process.py(108): run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/process.py(315): _bootstrap  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/popen_fork.py(71): _launch  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/popen_fork.py(19): __init__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/context.py(277): _Popen  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/context.py(224): _Popen  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/process.py(121): start  /home/ma-user/work/mindformers/chat_web/predict_process.py(195): __init__  /home/ma-user/work/mindformers/chat_web/run_chat_server.py(47): create  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(669): startup  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(569): __aenter__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(692): lifespan  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(723): app  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(714): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/middleware/exceptions.py(48): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/middleware/errors.py(152): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/applications.py(112): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/fastapi/applications.py(1054): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py(29): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/uvicorn/lifespan/on.py(86): main  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/events.py(80): _run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/base_events.py(1890): _run_once  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/base_events.py(596): run_forever  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/base_events.py(629): run_until_complete  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/runners.py(44): run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/uvicorn/server.py(66): run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/uvicorn/main.py(579): run  /home/ma-user/work/mindformers/chat_web/run_chat_server.py(145): <module>[ERROR] ANALYZER(15614,ffffbf621010,python):2025-03-17-15:42:52.626.979 [mindspore/ccsrc/pipeline/jit/ps/static_analysis/async_eval_result.cc:71] HandleException] Exception happened, check the information as below.ValueError: For 'Reshape', the product of the 'input_x' shape should be equal to product of 'input_shape', but got product of the shape of 'input_x': 12352, product of 'input_shape': 12288.At:  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/ops/operations/manually_defined/ops_def.py(1767): infer_value_for_Reshape  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/common/api.py(1840): compile  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/nn/cell.py(1121): compile  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/nn/cell.py(1138): compile_and_run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/nn/cell.py(720): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/generation/text_generator.py(1092): forward  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/generation/text_generator.py(970): infer  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/generation/text_generator.py(840): generate  /home/ma-user/work/mindformers/chat_web/predict_process.py(118): generate_process  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/process.py(108): run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/process.py(315): _bootstrap  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/popen_fork.py(71): _launch  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/popen_fork.py(19): __init__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/context.py(277): _Popen  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/context.py(224): _Popen  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/process.py(121): start  /home/ma-user/work/mindformers/chat_web/predict_process.py(195): __init__  /home/ma-user/work/mindformers/chat_web/run_chat_server.py(47): create  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(669): startup  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(569): __aenter__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(692): lifespan  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(723): app  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/routing.py(714): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/middleware/exceptions.py(48): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/middleware/errors.py(152): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/starlette/applications.py(112): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/fastapi/applications.py(1054): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py(29): __call__  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/uvicorn/lifespan/on.py(86): main  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/events.py(80): _run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/base_events.py(1890): _run_once  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/base_events.py(596): run_forever  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/base_events.py(629): run_until_complete  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/asyncio/runners.py(44): run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/uvicorn/server.py(66): run  /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/uvicorn/main.py(579): run  /home/ma-user/work/mindformers/chat_web/run_chat_server.py(145): <module># 0 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2.py:309~319, 24~9        hidden_states = self.transformer(# 1 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2.py:158~175, 8~38        if self.use_past:# 2 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2.py:320, 20~36        lm_logits = self.transformer.output_layer(hidden_states)                    ^~~~~~~~~~~~~~~~# 3 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2.py:170~175, 12~38            freqs_cis = self.freqs_mgr(seq_len)            ^# 4 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2.py:320, 20~36        lm_logits = self.transformer.output_layer(hidden_states)                    ^~~~~~~~~~~~~~~~# 5 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2.py:180~183, 24~38        hidden_states = self.encoder(# 6 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2.py:180, 24~36        hidden_states = self.encoder(                        ^~~~~~~~~~~~# 7 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:509~523, 8~13        for i in range(self.num_layers):        ^# 8 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2.py:180, 24~36        hidden_states = self.encoder(                        ^~~~~~~~~~~~# 9 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:515~523, 28~13            hidden_states = layer(# 10 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:430~433, 8~36        if self.apply_residual_connection_post_layernorm:        ^# 11 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:433, 12~36            residual = hidden_states            ^~~~~~~~~~~~~~~~~~~~~~~~# 12 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:447~450, 8~38        if self.apply_residual_connection_post_layernorm:        ^# 13 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:450, 12~38            residual = layernorm_input            ^~~~~~~~~~~~~~~~~~~~~~~~~~# 14 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:418~426, 27~9        attention_output = self.self_attention(# 15 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:325~349, 8~86        if self.use_past:# 16 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:343~349, 12~86            if self.use_flash_attention:# 17 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:344~345, 16~64                context_layer = self.flash_attention(query, key, value, attention_mask)                ^# 18 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:329~349, 12~86            query = self.transpose(self.reshape(query, (bs, seq_len, self.n_head, self.head_dim)), (0, 2, 1, 3))            ^# 19 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:333, 20~68            query = self.apply_rotary_pos_emb(query, rotary_pos_emb)                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# 20 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:333, 20~45            query = self.apply_rotary_pos_emb(query, rotary_pos_emb)                    ^~~~~~~~~~~~~~~~~~~~~~~~~# 21 In file /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/models/glm2/glm2_transformer.py:269, 21~84        rope_cache = self.reshape(rope_cache, (-1, 1, seq_len, xshaped.shape[3], 2))                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (See file '/home/ma-user/work/mindformers/chat_web/rank_0/om/analyze_fail.ir' for more details. Get instructions about `analyze_fail.ir` at https://www.mindspore.cn/search?inputValue=analyze_fail.ir)Process Process-1:Traceback (most recent call last):  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap    self.run()  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/multiprocessing/process.py", line 108, in run    self._target(*self._args, **self._kwargs)  File "/home/ma-user/work/mindformers/chat_web/predict_process.py", line 118, in generate_process    output_ids = network.generate(**generation_kwargs)  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/generation/text_generator.py", line 840, in generate    infer_output, is_finished = self.infer(input_ids=input_ids,  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/generation/text_generator.py", line 970, in infer    res, current_index = self.forward(input_ids=input_ids,  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindformers/generation/text_generator.py", line 1092, in forward    res = self(**model_inputs)  # pylint: disable=E1102  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/nn/cell.py", line 720, in __call__    out = self.compile_and_run(*args, **kwargs)  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/nn/cell.py", line 1138, in compile_and_run    self.compile(*args, **kwargs)  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/nn/cell.py", line 1121, in compile    _cell_graph_executor.compile(self, *self._compile_args, phase=self.phase,  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/common/api.py", line 1840, in compile    result = self._graph_executor.compile(obj, args, kwargs, phase, self._use_vm_mode())  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/ops/operations/manually_defined/ops_def.py", line 1767, in infer_value_for_Reshape    raise ValueError(f"For 'Reshape', the product of the 'input_x' shape "ValueError: For 'Reshape', the product of the 'input_x' shape should be equal to product of 'input_shape', but got product of the shape of 'input_x': 12352, product of 'input_shape': 12288.
  • [其他] Linkreate wordpressAI智能插件-自动生成原创图文、生成关键词、获取百度搜索下拉关键词等
    Linkreate wordpressAI插件核心功能亮点文章生成与优化自动化文章生成:利用 AI 技术,根据关键词生成高质量文章。支持指定长度和要求,异步生成不阻塞操作。且 AI 可自动生成精准的 tag 标签,利于 SEO 优化。批量生成文章:可批量上传关键词生成文章,也可使用Ai批量生成的长尾关键词来生成文章等多种方式。SEO 优化:优化文章标题和内容,生成符合 SEO 标准的高质量文章,并提供 SEO 分析报告。生成双标题、文章新标题、文章内加入超链接、广告植入等定制化功能。只需输入到额外要求,Ai生成文章按你要求完成,无需额外配置,简单有效!别的插件需要增加功能完成的Seo优化,在这插件只需要输入一段话即可完成支持多语言站点,可生成英文等不同语言的文章,直接在额外要求里面填写,要求AI按指定语言生成文章。关键词生成与管理长尾关键词生成:插件批量生成长尾关键词,支持输入多个关键词和自定义数量,秒生成!可使用生成的长尾关键词批量生成文章,支持批量上传下载和搜索关键词,生成文章时可自定义参数。可根据自己需求,设置生成的长尾关键词不同性。多语言关键词,可生成英文等多语言的长尾关键词,直接在额外要求里面填写,要求AI按指定语言生成关键词。支持设置关键词分类,方便定时自动生成文章可以选择指定关键词分类搜索引擎下拉关键词自动获取输入关键词:插件自动获取该关键词在百度搜索引擎的相关热搜下拉关键词,支持输入多个关键词获取,自动排重保存,避免获取重复下拉关键词。用热搜下拉关键词生成的文章有利于SEO、收录、排名、流量获取!内容采集与管理内容采集:支持单篇和批量采集指定网站或页面内容,提供可视化采集规则生成器,可自定义采集范围和文章选择器规则。批量采集:输入多个域名实现批量采集,支持首页采集、多页采集和指定范围采集,提供多任务管理功能。定时多任务与自动化、定制化定时任务:支持插件定时后台全自动根据长尾关键词、文章标签、网站内容生成文章,可精确到分钟设置时间。插件24小时后台稳定自动生成文章,无需人工干涉。支持随机选择长尾关键词或文章标签、网站tdk及已有文章内容,定时自动生成文章。启用排重功能可避免重复关键词生成文章。生成文章html格式化,符合SEO优化规则。文章自动生成精准文章标签,提升SEO效果。生成双标题、文章新标题、文章内加入超链接、广告植入等定制化功能。只需输入到额外要求,Ai生成文章按你要求完成,无需额外配置,简单有效!别的插件需要增加功能完成的Seo优化,在这插件只需要输入一段话即可完成!AI自动生成文章摘要,利于SEO优化。支持多语言站点,可生成英文等不同语言的文章,直接在额外要求里面填写,要求AI按指定语言生成文章。支持生成方式选择,指定关键词分类生成文章。支持多任务后台定时生成文章,每个任务可单独设置文章生成方式、文章分类、生成时间等。API 集成与前端功能API 集成:支持多种 AI 服务,如 DeepSeek、kimi、智谱AI、OpenAI 等。新增集成腾讯云 满血版DeepSeek 智能体API,调用稳定,支持 R1 和 V3 模型。通用自定义API设置:通用配置(兼容openai)兼容市面大部分API 接口。一个接口即可调用市面其它不同API,免定制接口,配置简单。一键简单配置,用户即可调用更多的不同AI 模型,简单方便。已测试自定义API接入腾讯云混元、阿里云百炼、硅基流动……等,插件后台有示例及教程,按教程可自行接入更多不同的AI api前端 AI 客服窗口:提供前端 AI 客服窗口,用户可与 AI 对话。支持自定义窗口标题、欢迎消息和样式若后台 API 设置为腾讯云 DeepSeek 智能体,可利用其学习库文档和问答功能定制 AI 客服回复内容。媒体生成功能文章图片生成:插件后台内置免费生成图片 (智谱和硅基流动)API。启用后可据文章标题自动生成图片。并保存为特色图和插入文章内容段落。图片站:插件自带集成,只需输入图片站首页 url,自动从图片站获取不同的图片来插入到生成的文章里面。支持设置插入数量、图片可默认保存到本地。视频生成:内置免费视频生成 API 和模型。获取 key 后可免费生成高质量视频。支持图片、文字生成,1-2 分钟生成短视频,可用于视频站或发布到其他平台。📅 插件更新日志2025.3支持输入多个关键词获取对应百度搜索下拉关键词,自动排重保存修复部分环境下,下拉关键词功能显示错误问题新增自动获取百度搜索引擎下拉关键词修复多任务显示问题优化关键词分类功能新增关键词分类管理优化定时任务执行效率 ​ Linkreate WordPressAI插件官网及插件演示和免费下载地址cid:link_1​