当前位置:首页>python>Python LLM项目从零环境搭建

Python LLM项目从零环境搭建

  • 2026-10-11 08:21:25
Python LLM项目从零环境搭建

一、Python 版本如何选?稳定版与测试版区分

Python 各版本维护周期不同,选型直接决定项目稳定性,参考官方维护周期。全局配置国内镜像加速包安装。
版本
维护类型
首发时间
停止维护
3.13
预发布
2024-10
2029-10
3.12
BUG 修复
2023-10
2028-10
3.11
BUG 修复
2022-10
2027-10
3.10
安全维护
2021-10
2026-10
3.9
安全维护
2020-10
2025-10

选型建议

个人学习 / 新项目开发:优先3.10~3.12,兼顾新特性与长期官方维护,LLM 框架 LangChain、向量库兼容性最优;

老旧线上项目:沿用项目原有 Python 版本,不盲目升级,避免第三方包兼容报错;

不推荐预发布 :存在大量库适配问题,生产环境禁用。

二、虚拟环境:解决 Python 依赖冲突必备

1. 作用

一个项目对应一套独立虚拟环境,隔离全局 Python 包,彻底规避不同项目库版本打架。

2. 优缺点

✅ 优点:依赖隔离、项目环境可迁移、不会污染本机全局 Python;
❌ 缺点:占用额外磁盘空间,使用前后需要激活 / 退出环境。

常用命令

bash
# 创建虚拟环境python -m venv venv# Windows激活venv\Scripts\activate# Mac/Linux激活source venv/bin/activate# 退出虚拟环境deactivate

三、PIP 腾讯云国内镜像加速,告别下载超时

国外源下载第三方包速度慢,配置国内镜像大幅提速:镜像源有很多,清华源,腾讯源...这种就是相当于把国外的库存在国内,我们从国内的服务器拉取。一个中转站的feel。
# 单次安装临时使用镜像pip install xxx -i https://mirrors.cloud.tencent.com/pypi/simple# 全局配置镜像(一劳永逸)pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple
原理:国内镜像站同步 PyPI 全量资源,就近下载,解决外网丢包、超时问题。

四、LLMOps 大型语言模型运维

2. 框架选型理由

选用Python+Flask搭建 LLM 后端:

Python 生态完善,海量 AI、机器学习、LLM 开源库,是 LangChain 首选开发语言;

Flask 属于微框架,内核精简、上手简单,相比 Django 轻量化,灵活适配 LLMOps 定制化开发。

五、企业规范项目目录 + 代码命名规范

Flask 自由的特性容易导致团队代码结构混乱,LLMOps 项目统一目录规范,核心目录说明:
plaintext

├── app

项目程序入口

├── config

全局配置文件

├── internal

项目核心代码

│   ├── core

LLM、向量、Prompt核心逻辑

│   ├── handler

Controller控制器

│   ├── service

业务服务层

│   ├── middleware

中间件(登录校验等)

│   ├── model

数据库ORM模型

│   ├── router

接口路由

│   ├── schema

请求入参、出参结构体

├── pkg

自研扩展工具包

├── storage

本地文件存储

├── test

单元测试

├── venv

项目虚拟环境

├── requirements.txt

项目依赖清单

统一命名规则

文件 / 模块

:全小写 + 下划线user_service.py;

类名

:大驼峰UserService;

函数 / 变量

:小写下划线get_user_info;

常量

:全大写MAX_UPLOAD_SIZE;

私有属性

:单下划线开头_private_data(编码约定,Python 无强制私有)。

项目请求流转流程

用户发起请求 → Router 路由分发 → Controller 控制器(参数校验)→ Service/Core 业务逻辑 → 数据库 CRUD → 结果原路返回。

六、依赖注入:用 Injector 优化代码解耦

什么是依赖注入

不手动在代码内部实例化依赖对象,由外部统一注入实例,降低代码耦合,方便单元测试。

快速上手 Injector

bash
运行

pipinstallinjector

python
运行

frominjectorimportinject,Injector

classUserService:

pass

@inject

classUserController:

def__init__(self,service:UserService):

self.service=service

自动注入实例,无需手动new对象

injector=Injector()

ctrl=injector.get(UserController)

七、PostgreSQL 多环境快速部署(Windows/Ubuntu/Docker)

Postgres 支持 JSON、数组、事务,兼顾业务数据 + 简易向量存储,是 LLMOps 主流关系库。

1.Windows 安装

官网下载安装包可视化安装,通过批处理启停服务,修改开机自启。

2.Ubuntu 安装

bash
运行

sudoaptupdate

sudoaptinstallpostgresql postgresql-contrib

启停服务

sudosystemctl start postgresql

sudosystemctl stop postgresql

进入数据库修改密码

sudo-upostgres psql

\password postgres

远程访问需修改pg_hba.conf配置,将访问策略改为md5密码鉴权。

3.Docker 一键部署(推荐开发环境)

bash
运行

拉取镜像

dockerpull postgres

启动容器

dockerrun--namepostgres-dev-ePOSTGRES_PASSWORD=postgres-p5432:5432-dpostgres

八、接口调试:Postman

项目 API 开发配套 Postman 调试,配置请求地址、路径参数、Header 鉴权、请求体,快速验证接口可用性,是后端开发必备工具。

结语

规范的环境搭建和工程结构是项目长期维护的基石,前期严格遵循版本选型、目录规范、依赖管理,能规避后期 80% 的运维 BUG。后续我会继续更新 LLMOps 项目实战:向量库接入、LangChain 集成、定时任务开发内容。

最新文章

随机文章