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

如何让 Llama2、通义千问开源大语言模型快速跑在函数计算上?

:::info 本文是“在Serverless平台上构建AIGC应用”系列文章的第一篇文章。 :::

前言

随着ChatGPT 以及 Stable Diffusion,Midjourney 这些新生代 AIGC 应用的兴起,围绕AIGC应用的相关开发变得越来越广泛,有呈井喷之势,从长远看这波应用的爆发不仅仅是停留在形式之上,更是在各个领域产生实际的生产力价值,比如办公领域有copilot system 365,钉钉智能; 代码编程领域有 github copilot ,cursor ide; 文娱领域的妙鸭相机;可以肯定的是未来 AIGC 的应用数量会更多,类型也会更加丰富,企业的内部软件或者SOP都会尽可能的跟AI进行融合,这必然催生出海量的AIGC应用开发需求,这也代表着巨大的市场机会。

开发 AIGC 应用的挑战

AIGC 的应用前景如此诱人,可能决定企业未来的发展走向。然而对很多中小企业及开发者而言,上手进行aigc应用的开发依然有着非常高昂的成本:

  • 基础模型服务的获取:chatgpt提供了非常完善的api 开发体系,然而并不开放给国内客户使用,开源的模型进行服务的部署非常困难
  • 高昂的费用, GPU 短缺导致 GPU 的费用急剧飙升,本地购买高规格显卡需要一次性花费不少的成本,并且并不能提供在线服务。
  • 端到端的对接:单纯模型服务的api无法变成直接的生产力,需要完成【企业数据&企业SOP】-> LLM 服务 -> 各种端侧的完整链路

函数计算AIGC应用的解决方案

函数计算围绕创建和使用AIGC,从基础设施到应用生态,开发端到使用端提供的完整的配套
image.png
主要包含三个部分:

  • 一 、模型服务底座,函数计算可以部署来自魔搭,huggingface等开元社区的ai模型,我们针对 LLM, Bert等智能知识库/助手 场景做了专门的定制,接入OpenAI兼容的api规范,提供一键部署的模版和可视化的web访问界面,帮助开发者或者企业快速上手 llama2,chatglm2,通义千问等模型的部署
  • 二、业务连接层 ,串联业务需求以及的模型服务,安全服务,数据库服务等基础资源,这部分有在AIGC应用部分有很多相同的逻辑,比如账号体系,数据集管理,提示词模版,工具管理,模型服务管理等,从各业务侧视角看,不一样的部分只是 提示词,知识库以及工具集,底层的模型服务,安全服务,数据库服务则是共享的,这层可以简化业务里面构建不同智能场景的流程,快速,低成本的可以构建不同业务的AIGC应用
  • 三、客户端侧,客户端是AI应用的使用部分,也是最接近业务的部分,这部分更多的考虑是如何将AI服务融入已有的使用端,比如钉钉,企业微信等办公IM系统,以及web浏览器插件等,通过 函数计算+eventbridge可以快速帮助ai服务接入到这些客户端

本篇教程先来分享一下第一个部分,如何通过函数计算快速部署 AIGC相关模型服务包括LLM模型 和Embedding(Bert) 模型

LLM模型及Embedding服务部署教程

前期准备

使用该项目,您需要有开通以下服务:

在这里插入图片描述

对 AIGC 进行 CPU/GPU 推理计算
https://free.aliyun.com/?pipCode=fc

存储大语言模型以及Embedding服务所需要的模型, 新用户请先领取免费试用资源包
https://free.aliyun.com/?product=9657388&crowd=personal

应用介绍

应用详情

使用阿里云函数计算部署开源大模型应用,提供兼容openai规范的接口和ChatGPT-Next-Web客户端.
image.png

操作文档

llm应用模版

登录到阿里云函数计算控制台->应用->创建应用-> 人工智能 选择AI大语言模型API服务应用模板点击"立即创建"
image.png

应用模版设置

image.png
image.png
设置好知道点击"创建并部署默认环境"

等待部署

该过程您会自动完成

服务访问

image.png
服务部署成功之后会返回两个链接
1、llm-server 为大语言模型的api服务界面,基于swagger,
image.png
2、llm-client则是访问客户端,访问客户端需要您输入前面填写的客户端私有密码,填写好之后就可以测试使用了
image.png
image.png
image.png

embedding模版

登录到阿里云函数计算控制台->应用->创建应用-> 人工智能 选择“开源Bert模型服务”应用模板点击"立即创建"
image.png

应用模版设置

选择好地域创建即可
image.png

等待部署

该过程您会自动完成

服务访问

image.png

测试embedding接口
image.png

image.png

总结

部署好LLM服务意味着您已经开启了AIGC应用的开发旅程,接下来我会继续跟大家分享更多关于AIGC相关的内容,包括如何构建知识库问答应用,如何调用工具完善大语言模型的能力,如何接入自己的IM系统和构建web的集成插件。

宇宙漫游,阿里云 x 森马 AIGC T恤设计大赛

一、

**【森马X阿里云 AIGC T恤设计大赛】**程序员AIGC 自己的T恤,赢Airpods,图案定制T恤!
通过函数计算FC 快捷部署 Stable Diffusion:内置模型库+常用插件+ControlNet,支持 SDXL1.0

立即参加:https://developer.aliyun.com/adc/series/activity/aigc_design
可赢取Airpods三代,作品定制联名体恤,森马行李箱等周边!

二、

还可以参加话题活动,一起讨论 AIGC 的未来发展趋势,用户可从任意角度交流分享,可以赢得护眼台灯、数据线、静音净化器奖品!
话题:《相比优秀的服装设计师,AIGC 可以如何突破设计灵感的界限?是纯粹的机械语言还是一点点的灵光乍现?》
https://developer.aliyun.com/ask/548537?spm=a2c6h.13148508.setting.14.4a894f0esFcznR
1692752551111-6c828582-01d4-452a-a847-92979655e6f6.png

相关文章:

如何让 Llama2、通义千问开源大语言模型快速跑在函数计算上?

:::info 本文是“在Serverless平台上构建AIGC应用”系列文章的第一篇文章。 ::: 前言 随着ChatGPT 以及 Stable Diffusion,Midjourney 这些新生代 AIGC 应用的兴起,围绕AIGC应用的相关开发变得越来越广泛,有呈井喷之势,从长远看这波应用的爆…...

Linux内核源码分析 (B.2)虚拟地址空间布局架构

Linux内核源码分析 (B.2)虚拟地址空间布局架构 文章目录 Linux内核源码分析 (B.2)虚拟地址空间布局架构一、Linux内核整体架构及子系统二、Linux内核内存管理架构 一、Linux内核整体架构及子系统 Linux内核只是操作系统当中的一部分,对下管理系统所有硬件设备&…...

Spring系列文章:Spring使用JdbcTemplate

一、简介 JdbcTemplate是Spring提供的⼀个JDBC模板类&#xff0c;是对JDBC的封装&#xff0c;简化JDBC代码。 当然&#xff0c;你也可以不⽤&#xff0c;可以让Spring集成其它的ORM框架&#xff0c;例如&#xff1a;MyBatis、Hibernate等。 第一步&#xff1a;引入依赖 <d…...

[matlab]cvx安装后测试代码

测试环境&#xff1a; windows10 x64 matlab2023a 代码来自官方网站&#xff1a;CVX: Matlab Software for Disciplined Convex Programming | CVX Research, Inc. m 20; n 10; p 4; A randn(m,n); b randn(m,1); C randn(p,n); d randn(p,1); e rand; cvx_beginva…...

【css】margin:auot什么情况下失效

margin&#xff1a;auto只对块级元素有效果&#xff0c;并且在正常文档流margin&#xff1a;automargin&#xff1a;0 auto&#xff0c;css默认在正常文档流里面margin-top和margin-bottom是0 为什么margin: auto能实现水平居中&#xff0c;而垂直居中不行&#xff1f; 一般子…...

linux的dirty page回写磁盘过程中是否允许并发写入更新page?

概述 众所周知Linux内核write系统调用采用pagecache机制加速写入过程,避免write系统调用长时间block应用进程,用户态进程执行write调用的时候,内核只是将用户态buffer copy到内核的pagecache当中,write系统调用就返回了,完全不需要等待数据完全写入存储设备,因为存储设备…...

Docker-基础命令使用

文章目录 前言命令帮助命令执行示意图docker rundocker psdocker inspectdocker execdocker attachdocker stopdocker startdocker topdocker rmdocker prune参考说明 前言 本文主要介绍Docker基础命令的使用方法。 命令帮助 Docker命令获取帮助方法 # docker -h Flag shor…...

【Python 程序设计】Python 中的类型提示【06/8】

目录 一、说明 二、什么是动态类型&#xff1f; 2.1 为什么要使用类型提示&#xff1f; 2.2 局限性 三、基本类型提示 3.1 声明变量的类型 3.2 函数注释 四、Python 中的内置类型 4.1 原子类型与复合类型 五、函数注释 5.1 如何指定函数的参数类型和返回类型 5.2 在函数签名中…...

78 # koa 中间件的实现

上上节实现了上下文的&#xff0c;上一节使用了一下中间件&#xff0c;这一节来实现 koa 的中间件这个洋葱模型。 思路&#xff1a; 储存用户所有的 callback将用户传递的 callback 全部组合起来&#xff08;redux 里的 compose&#xff09;组合成一个线性结构依次执行&#…...

国产操作系统麒麟v10中遇到的一些问题

下载pycharm&#xff1a;直接在应用商店 目标&#xff1a;主机1安装了虚拟机&#xff0c;主机2要ping通主机1安装的虚拟机。 前提&#xff1a;主机1&#xff0c;主机2在同一局域网下&#xff0c;同一网段。 网络配置 因为虚拟机的网段不在局域网网段内&#xff0c;局域网下…...

Gridea+GitPage+Gittalk 搭建个人博客

&#x1f44b;通过GrideaGitPage 搭建属于自己的博客&#xff01; &#x1f47b;GitPage 负责提供 Web 功能&#xff01; &#x1f63d;Gridea 作为本地编辑器&#xff0c;方便 push 文章&#xff01; &#x1f3f7;本文讲解如何使用 GrideaGitPage 服务域名&#xff08;可选&a…...

代码质量保障第2讲:单元测试 - 浅谈单元测试

代码质量保障第2讲&#xff1a;单元测试 - 浅谈单元测试 本文是代码质量保障第2讲&#xff0c;浅谈单元测试。单元测试&#xff08;unit testing&#xff09;&#xff0c;是指对软件中的最小可测试单元进行检查和验证。这是基础&#xff0c;所以围绕着单元测试&#xff0c;我从…...

“五度晟企通”企业发展服务平台正式发布,帮扶企业行稳致远!

在数字中国建设的大背景下&#xff0c;“五度易链”以企业实际发展需求为牵引&#xff0c;以帮扶企业行稳致远为目标&#xff0c;基于全体量产业大数据&#xff0c;运用NLP、AI等新一代信息技术&#xff0c;打造了数字化ToB企业发展服务平台“五度晟企通”&#xff0c;旨在以数…...

Java类和对象(七千字详解!!!带你彻底理解类和对象)

目录 一、面向对象的初步认知 1、什么是面向对象 2、面向对象和面向过程 &#xff08;1&#xff09;传统洗衣服的过程 &#xff08;2&#xff09;现代洗衣服过程 ​编辑 二、类的定义和使用 1、类的定义格式 三、类的实例化 1、什么是实例化 2、类和对象说明 四、t…...

机器学习笔记:node2vec(论文笔记:node2vec: Scalable Feature Learning for Networks)

2016 KDD 1 intro 利用graph上的节点相似性&#xff0c;对这些节点进行embedding 同质性&#xff1a;节点和其周围节点的embedding比较相似 蓝色节点和其周围的节点结构等价性 结构相近的点embedding相近 比如蓝色节点&#xff0c;都处于多个簇的连接处 2 随机游走 2.1 介绍…...

go基础10 -字符串的高效构造与转换

前面提到过&#xff0c;Go原生支持通过/操作符来连接多个字符串以构造一个更长的字符串&#xff0c;并且通过/操作符的字符串连接构造是最自然、开发体验最好的一种。 但Go还提供了其他一些构造字符串的方法&#xff0c;比如&#xff1a; ● 使用fmt.Sprintf&#xff1b; ● 使…...

VR钢铁实训 | 铁前事业部虚拟仿真培训软件

随着科技的发展&#xff0c;虚拟现实技术在各个行业中的应用越来越广泛。在钢铁冶炼行业中&#xff0c;VR技术也逐渐得到了应用&#xff0c;其中铁前事业部虚拟仿真培训软件就是一项非常有优势的技术。 铁前事业部虚拟仿真培训软件是广州华锐互动打造的《钢铁生产VR虚拟培训系统…...

DevOps

DevOps 是开发 (Dev) 和运营 (Ops) 的复合词&#xff0c;它将人、流程和技术结合起来&#xff0c;不断地为客户提供价值。 DevOps 对团队意味着什么&#xff1f; DevOps 使以前孤立的角色&#xff08;开发、IT 运营、质量工程和安全&#xff09;可以协调和协作&#xff0c;以生…...

IJ中PHP环境的搭建和使用教程

目录 目录 前言 思维导图 1&#xff0c;PHP环境下载 1.下载链接 2.进行安装 3,自定义路径 4.进行相关的一些库的选择下载 2&#xff0c;进行IJ中PHP环境的配置 2.1,下载PHP插件 2.2,下载过程中的注意事项 3&#xff0c;为什么这么做呢? 3.1,原因 3.2,进行代码…...

java开发之个人微信的二次开发

简要描述&#xff1a; 修改我在某群的昵称 请求URL&#xff1a; http://域名/updateIInChatRoomNickName 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...