大模型实践基础
一、如何获取大模型?
基于大模型开发应用,首先要获取到大模型的权重文件文件,然后部署大模型,再基于大模型开发上层应用。
业内目前使用大模型有两类方式:
第一类方式,基于各大模型厂商提供的API,以免费或计费的方式调用大模型,这类方式最简单,但可能需要一定的费用。
第二类方式,在三方托管平台或其他途径,获取大模型权重,然后私有化部署到自己的服务器,并对外暴露访问大模型的API,这类方式虽然麻烦,但可控性更强,也更安全。
1.1大模型厂商API
市面上常见的大模型厂商,有百度、阿里、DeepSeek、智谱、Kimi等,每家厂商都提供了自己产品的API。
1.2三方托管平台获取大模型
此种方式,需要先下载大模型权重,然后进行本地化部署。开源的大模型权重,可通过HuggingFace或ModelScope获取获取,其中HuggingFace是全球最具权威的大模型托管平台,但国内一般无法访问,可通过HuggingFace的国内镜像站点https://hf-mirror.com/获取大模型,也可通过阿里的ModelScope站点进行获取,以下以ModelScope站点为例,说明如何获取大模型。
ModelScope的官方网址为https://modelscope.cn,打开后如图1所示。

图1 ModelScope官网首页
点击图1上方的模型库,进入模型筛选界面,如图2所示。

图2 ModelScope模型库
可在图2右下方点击任何一个模型,也可以搜索特定的模型,本文以搜索Qwen2.5-3B为例,如图3所示,点击图中通义千问2.5-3B-预训练,打开Qwen2.5-3B模型首页,如图4所示,页面有Qwen2.5-3B模型参数、原理、调用方法等方面的介绍。

图3 ModelScope搜索特定模型

图4 ModelScope通义千问2.5-3B模型首页
点击图4中部的模型文件tab栏,进入模型文件列表,以准备获取模型文件的下载方式,如图5所示。

图5 ModelScope通义千问2.5-3B模型文件列表
点击图5中部右侧的下载模型按钮,浏览模型下载的方法,如图6所示。

图6 ModelScope通义千问2.5-3B模型下载方法
ModelScope下载模型的方法有命令行下载、SDK下载、Git下载等,可根据自身情况选择合适的下载方式,不管哪种方式,最终都可获取到模型的权重、配置等文件。
二、如何运行大模型?
如何运行大模型,也分为两种方式:调用厂商API和本地部署。
2.1调用厂商API
本文以智谱为例,说明如何调用大模型API。
调用大模型API的方式,有SDK、HTTP调用、第三方框架,下面以最常见的第三方框架OpenAI SDK进行解绍,其他的方式可参阅大模型厂家的开发文档,智谱的官方开发文档链接如下:https://open.bigmodel.cn/dev/api/normal-model/glm-4。
l 安装OpenAI SDK
截至本文档书写时间,需要确保使用的Python版本至少为3.7.1,OpenAI SDK版本不低于1.0.0。
![]()
l 使用API鉴权
创建 Client,使用您在开放平台的API Key 鉴权。示例如下:

l 对话代码示例
以下代码是GLM-4的对话调用示例,请注意:
-
- temperature 参数的区间为 (0,1);
- do_sample = False (temperature = 0) 在 OpenAI 调用中并不适用。

注意,需要将api_key替换为自己的内容,api_key的获取方式,如图7所示。

图7 智谱API keys获取
2.2访问本地大模型
将大模型权重下载至本地后,可通过编写代码访问大模型,代码编写方法,在如图4中的模型介绍说明页面中都会有说明,图8为访问本地模型的代码。

图8 代码访问本地部署模型
2.3 vLLM私有化部署大模型
更多时候的场景,是将大模型权重部署在一台GPU服务器,然后让客户端来访问这台GPU服务器。目前较流行的部署方法,是使用vLLM来部署大模型权重。
l vLLM安装
vLLM 是一个 Python 库,包含预编译的 C++ 和 CUDA (12.1) 二进制文件。
-
- 依赖环境:
u 操作系统:Linux
u Python:3.8 - 3.12
u GPU:计算能力7.0或更高(例如V100、RTX20xx、A100、H100等)
-
- 使用pip安装:
pip install vllm
l 部署模型
vLLM部署模型的方式有OpenAI兼容服务器和Docker,本文以主流方式OpenAI兼容服务器进行介绍。
-
- 启动服务
启动服务加载大模型,并持续监听默认端口8000,等待客户端的访问,命令行如下:
![]()
上述命令行,加载大模型Llama,并指定接受的api key。
-
- 客户端访问大模型
客户端访问已部署好的Llama大模型,代码如下:

注意:上述方法是访问大模型多种方法中的一种,且访问的是本地大模型服务器,因为使用的服务器IP为localhost,如果需要在同一局域网内访问大模型服务器,可将localhost替换为大模型服务器
在局域网中的IP,如果需要部署在公网,还需将大模型服务器的IP及端口,在防火墙做好端口映射及安全防护配置,然后客户端代码将localhost替换为大模型服务器在公网的IP或URL即可。
vLLM的参数非常多,本文档是普及文档,不做过多的介绍,更多vLLM安装及使用的信息,请参考vLLM官方文档地址:https://vllm.hyper.ai。
三、基于大模型开发上层应用
3.2节介绍了运行大模型的三种方式,无论哪种方式,我们现在都可以访问大模型,并拿回大模型的响应结果,接下来我们要基于大模型的响应结果,去开发上层应用。
常用的大模型应用开发框架有LangChain、LlamaIndex等,本文档以LangChain为例进行讲解。
3.1 LangChain简介
LangChain是一种方便开发者快速开发基于大模型的应用,官网地址为https://www.langchain.com,图9显示其官网首页。

图9 LangChain官网首页
LangChain 简化了 LLM 应用程序生命周期的每个阶段:
l 开发:
使用LangChain的开源构建模块、组件和第三方集成构建应用程序,使用LangGraph构建具有流式处理和人机协作支持的有状态代理。
l 生产化
使用LangSmith检查、监控和评估您的链,以便持续优化和部署。
l 部署
将LangGraph应用程序转变为生产就绪的API和助手,使用LangGraph Cloud。

图10 LangChain family架构
图10展示了LangChain family架构,具体来说,该框架由以下开源库组成:
l langchain-core
基础抽象和LangChain表达式 (LCEL)。
l langchain-community
第三方合作伙伴库集成,例如 langchain-openai、langchain-anthropic等,其中一些集成已进一步拆分为LangChain自己的轻量级库,仅依赖于langchain-core。
l langchain
组成应用程序认知架构的链(Chain)、代理(Agent)和检索策略。
l LangGraph
新的实现Agent的框架,通过将步骤建模为图中的边和节点,构建强大且有状态的多参与者应用程序。与LangChain无缝集成,也可以单独使用。
l LangServe
将LangChain链部署为REST API。
l LangSmith
一个开发者平台,用于调试、测试、评估和监控LLM应用程序。
3.2 LangChain安装
执行以下命令安装langchain相关依赖包:
pip install langchain langchain-core langgraph langsmith langchain-community "langserve[all]" langchain-openai
3.3 LangChain连接大模型服务器
以访问2.3 vLLM部署的本地大模型为例,代码如下:

通过ChatOpenAI访问本地大模型,model、openai_api_key需要与vLLM部署时的相应属性保持一致。
3.4 LangChain访问大模型服务器
通过以下代码,构建提示词,然后访问大模型,并拿到大模型的响应结果。

3.5 构建LangChain链条(Chain)
将model和output parser用|进行连接,即形成一个链条(chain),代码如下:
3.6 LangServe发布大模型接口
使用LangServe,可以非常方便地发布大模型接口,使得外界可方便地访问大模型。LangServe包含客户端和服务端。
l 安装LangServe
pip install "langserve[all]"
l LangServe发布服务端接口
LangServe服务端代码如下,定义好chain后,调用langserv的add_routes方法,即可将chain发布为Restful接口,以下代码将chain发布为http://localhost:8000/chain接口。

l LangServe客户端调用服务端接口
LangServe客户端调用服务端接口代码如下:

至此,大模型从获取、部署、访问、开发上层应用的主要流程都已介绍完毕,在此基础上丰富各环节的内容,可开发出各种各样的大模型应用程序。
四、大模型应用架构
AI模块作为应用中的一个功能模块而存在,与应用其他模块并无本质区别,AI模块对外提供或http(s),或函数调用,或RPC等各种接口形式的调用。
图11是大模型应用架构简图,其他大模型应用架构原型与图11大同小异。图11将AI功能部署在一台服务器上,服务器对外接口由LangServ暴露,LangServe会将相应的Http(s)请求路由到相应的LangChain业务,LangChain业务会通过vLLM接口访问大模型,大模型的响应结果则由原路返回给最终的Http(s)客户端。

图11 大模型应用架构简图
大模型的迭代发展非常块,后续会有非常多的框架替代LangChain、vLLM等现行流行框架,所以要保持与时俱进的知识技能架构。

浙公网安备 33010602011771号