大模型应用开发实战:从环境搭建到 API 服务
在接触 AI 应用开发的这段时间,我以为会像以前学 .NET、Java、Vue 一样,先写个 Hello World,再一步一步搭功能、搭框架直到完成一个系统。然而,理想总是很丰满,现实很骨感。在实践的过程中会遇到各种千奇百怪的问题。
**概念太多。**你以为就 GPT、LLM?太年轻了,Hugging Face、Transformers、Torch、Tokenizers、LangChain、ModelScope、FastAPI、CUDA、cuDNN、Conda、vLLM、ResNet-50、top_p 等等。它们有些是工具,有些只是库,有些甚至只是个参数名,还有些到现在都不清楚具体用途。
**运行代码时,经常莫名其妙地报错。**以前学 Vue 的时候,以为前端的包已经够混乱了,直到开始接触 AI,没有最混只有更混。
**运行时间太长,且结果不确定。**没有云上足够的算力和显卡,一个简单的代码运行少则 10 分钟,多则几小时,一般人是忍受不了的。就算历经千辛万苦程序跑完了,你会发现不太容易验证运行结果的正确性,不知道改了某个参数到底是起没起作用。
看了网上很多 AI 开发的文章,总结下来往往缺乏实操细节。本文旨在通过实战步骤,把这些牛鬼蛇神掰扯清楚,从 Hello World 开始,带你完成一个大模型应用的完整闭环。
工具准备
1. MiniConda
首先安装这个,它有点像 Docker,可以隔离多个项目的 Python 环境,并且默认带有 VC++ 等库。为什么把它放第一?作为一个程序员,我还是有洁癖的。开始时我非常不想装这玩意,直接装个 Python 3.12,手动 pip install 霹雳巴拉下各种包多潇洒。直到运行一个最简单的代码缺各种依赖环境时,不但缺 Python 的包,竟然还缺各种 DLL,还缺 VC++ 运行时,当时心里各种崩溃。然后老老实实把它装上了,一切都顺了。安装它会默认集成 Python,所以不用单独装 Python。
2. PyCharm
开发 Python 的第一选择。开始我用的 VS Code,调试运行各种手动命令敲烦了,还是 PyCharm 按钮好使。
就先装这两个吧。
环境准备
电脑 CMD 命令提示符。设置清华的镜像,用于后面下载各种 Python 的包。默认国外的镜像和.NET NuGet 包、Java Maven 库及前端 NPM 包一个尿性卡得要死,只能用国内的。
python -m pip install --upgrade pip
复制代码
新建项目
直接在 PyCharm 新建一个项目,名字随便起。毕竟我们是整大模型的,不是学 Python 入门的。叫 llmTest 吧!
这里注意:
- Interpreter Type:就是运行环境,选 custom environment。基于 Conda 新建的环境名(想象成 Docker 的一个实例,这个环境只对我们这个项目有效)。界面上提供了 project venv,这种方式也可以控制项目的运行环境,想了解地自行搜索,新手不能太多选择,我就喜欢用顺手的。
- Path to Conda:就是工具准备里面 Miniconda3 的安装路径。
模型下载
目前国内外的通用大模型可以用密密麻麻来形容。模型下载方式很多,有直接用 Git LFS 下载的、有直接下文件的,还有不直接下载运行时才加载的写代码方式。关键是这种方案还挺好使。本着新手不能太多选择,直接推最顺手的原则。我用的阿里魔塔 ModelScope(注意它不是模型,不是!它只是个下载工具)。
直接在 PyCharm 命令终端里面执行 pip install modelscope。
新建一个 app.py。编写下载代码:
from modelscope import snapshot_download
# 指定模型仓库 ID 和保存路径
model_dir = snapshot_download(
model_id='ZhipuAI/chatglm3-6b',
cache_dir=r'D:\Transformers'
)
print(f"模型已下载到:")


