☰
自用 fde
2026/10/20 11:09:52 网站建设 项目流程

没问题,小白!你的执行力非常强,能自己整理出 v3.0 的笔记,说明你已经具备了很好的“知识结构化”能力。

结合我们制定的“9-12个月 FDE/LLMOps 就业规划”,我为你重新打磨了这份文档,升级为《FDE / LLMOps 专属 Python 实战笔记(终极交付版 v4.0)》。

这次升级,我重点为你补齐了“AI 应用层 (RAG)”和“企业级工程化交付”这两块核心拼图,并重新调整了实战项目,使其完全贴合你的求职目标。

这份文档就是你前 2 个月的“圣经”,请收藏并随时查阅。


📘 FDE / LLMOps 专属 Python 实战笔记(终极交付版 v4.0)

适用对象:有初级容器基础的运维,目标转型 FDE(80%)/ LLMOps(20%)
核心原则:不卷底层算法,只练工程交付;每个知识点都对应真实的 AI 基础设施场景。
总学习时长:约 60-80 小时(每天 2 小时,6-8 周)


📑 总目录

第一部分 学习指南与课程精简 第二部分 Python 语言基础(10章) 第三部分 运维自动化武器库(8章) 第四部分 AI 工程化与 RAG 外挂(14章)🔥 [v4.0 核心升级] 第五部分 FDE 黄金三角实战项目(3个)🔥 [v4.0 核心升级] 附录 速查表、Dockerfile与学习路径

第一部分 学习指南与课程精简

一、韩顺平 176 集"断舍离"清单

🔴 坚决跳过(约 45 集,省 25% 时间)

章节P号内容跳过理由
鸡汤/故事002-004, 011人生苦短、小故事、学习方法跟你无关
字符串驻留029驻留机制底层优化,FDE 用不到
进制/位运算044-050原码反码补码、位运算(7集)嵌入式开发内容
多重循环画图060-061金字塔、三角形面试算法,非实战
递归练习072汉诺塔、斐波那契算法课内容
集合练习090集合课堂练习用得极少
冒泡/二分查找096-098手写排序和查找用sort()和in即可
房屋出租系统139-152整个项目(14集)传统 CRUD,与大模型无关
pyecharts169-176画饼图/地图(8集)用 Grafana,不用 Python 画图

🟢 必须吃透(约 76 集)

章节P号内容重要度FDE 场景映射
环境/变量/类型006-032Python环境、int/str/bool⭐⭐⭐配置参数、环境变量
运算符/流程控制033-066if/for/while/break⭐⭐⭐日志过滤、状态判断
函数/作用域067-075定义/传参/lambda⭐⭐⭐封装巡检逻辑、排序
数据容器076-095列表/字典/字符串/切片⭐⭐⭐⭐解析 JSON/YAML 核心
面向对象107-138类/继承/多态/注解⭐⭐⭐看懂 LangChain/vLLM 源码
异常处理153-159try/except/raise⭐⭐⭐⭐API 调用防崩溃、排障
文件操作160-168读/写/遍历/日志⭐⭐⭐⭐读取客户现场的日志/配置

第二部分 Python 语言基础 (速查核心)

注:此部分为你笔记中的精华提炼,建议熟读并理解。

1. 变量与格式化 (f-string)

model_name="Qwen3-32B-AWQ"gpu_memory=24.0# FDE 最常用的输出方式print(f"模型:{model_name}, 显存:{gpu_memory:.1f}GB")

2. 数据容器:字典 (dict) —— FDE 的饭碗

大模型 API 返回的 JSON、K8s 的 YAML,解析后全是字典。

# 模拟 LLM API 返回response={"id":"chatcmpl-123","choices":[{"message":{"content":"根因是显存溢出"}}],"usage":{"total_tokens":640}}# 安全读取(防止 KeyError 导致脚本崩溃)content=response.get("choices",[{}])[0].get("message",{}).get("content","无回复")tokens=response.get("usage",{}).get("total_tokens",0)

3. 流程控制与日志过滤

log_lines=["INFO start","ERROR CUDA OOM","INFO retry"]forlineinlog_lines:if"INFO"inline:continue# 跳过正常日志if"ERROR"inline:print(f"🔴 发现错误:{line}")break# 找到致命错误立即停止分析

4. 异常处理 (防崩溃护城河)

importrequeststry:resp=requests.post("http://localhost:8000/v1/chat",json={...},timeout=10)resp.raise_for_status()exceptrequests.exceptions.Timeout:print("❌ 请求超时,模型可能负载过高")exceptExceptionase:print(f"❌ 未知错误:{e}")

第三部分 运维自动化武器库

1. 系统命令 (subprocess)

importsubprocessdefrun_cmd(cmd:str)->dict:result=subprocess.run(cmd,shell=True,capture_output=True,text=True)return{"code":result.returncode,"out":result.stdout,"ok":result.returncode==0}# 检查 GPUr=run_cmd("nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits")

2. 正则提取 (re)

importre log='192.168.1.10 - [26/Sep] "POST /v1/chat" 502 0.035'status=re.search(r'HTTP/1\.\d" (\d{3})',log).group(1)# 提取 502

3. 文件与路径 (pathlib)

frompathlibimportPath model_dir=Path("/data/models/Qwen3-32B")forfinmodel_dir.glob("*.safetensors"):print(f"📄{f.name}({f.stat().st_size/1024**3:.2f}GB)")

第四部分 AI 工程化与 RAG 外挂 🚀 [v4.0 核心升级]

第 19-30 章:进阶工具库 (速查)

  • 异步并发 (asyncio + httpx):用于对 vLLM 进行高并发压测(TTFT/TPOT)。
  • Web 框架 (FastAPI):编写对外暴露的 API 接口(如 Webhook 接收器)。
  • 数据校验 (Pydantic):校验 LLM 输出的 JSON 格式是否符合预期(Structured Output)。
  • 监控指标 (prometheus_client):将nvidia-smi的数据转为 Prometheus 指标。
  • 容器控制 (docker SDK):用 Python 代码控制 Docker 容器的启停。
  • 重试机制 (tenacity):API 调用失败时,实现指数退避重试。

🔥 第 31 章:RAG 与向量检索 (FDE 必须懂的 AI 应用层)

导师点拨:FDE 不需要推导余弦相似度的数学公式,但你必须知道:当客户抱怨“AI 回答总是胡说八道(幻觉)”时,你应该去检查代码里的“召回数量(Top-K)”和“相似度阈值”,而不是去改大模型。

1. 轻量级向量数据库:ChromaDB

在企业私有化交付中,如果客户数据量不大(几十万条以内),用 ChromaDB 是最快、最轻量的方案。

importchromadbfromchromadb.utilsimportembedding_functions# 1. 初始化客户端 (数据持久化到本地目录)client=chromadb.PersistentClient(path="./chroma_db")# 2. 使用内置的 Embedding 模型 (将文本转为向量)# 注意:实际交付中,通常会调用客户私有的 Embedding APIembedder=embedding_functions.SentenceTransformerEmbeddingFunction(model_name="all-MiniLM-L6-v2")# 3. 创建/获取知识库 (Collection)collection=client.get_or_create_collection(name="company_docs",embedding_function=embedder)# 4. 存入文档 (模拟文档切片 Chunking)documents=["公司报销制度:打车费超过200元需要总监审批。","公司报销制度:高铁只能乘坐二等座。","IT部规定:所有服务器必须安装防病毒软件。"]metadatas=[{"source":"HR手册"},{"source":"HR手册"},{"source":"IT规范"}]ids=["doc1","doc2","doc3"]collection.add(documents=documents,metadatas=metadatas,ids=ids)print("✅ 知识库向量化完成!")# 5. 相似度检索 (核心逻辑)query="我出差打车花了300块,谁来批?"results=collection.query(query_texts=[query],n_results=2# Top-K:召回最相关的 2 个片段)print(f"\n🔍 召回的参考文档:\n{results['documents'][0]}")

2. 拼装 Prompt 并调用 LLM

拿到参考文档后,喂给大模型。

context="\n".join(results['documents'][0])prompt=f""" 你是一个企业行政助手。请仅根据以下参考资料回答用户的问题。如果资料中没有,请回答“我不知道”。 【参考资料】{context}【用户问题】{query}"""# 接下来将 prompt 发送给 vLLM 或 LLM API...

🔥 第 32 章:企业级工程化交付规范 (告别“在我的电脑上能跑”)

导师点拨:外包和正规军的区别,就在于交付规范。把代码扔给客户,如果没有环境隔离和配置管理,部署必翻车。

1. 环境变量与配置管理 (python-dotenv)

绝对、绝对不要把 API Key 和数据库密码硬编码在代码里!

# 项目根目录创建 .env 文件LLM_API_KEY="sk-xxxxxx"VECTOR_DB_PATH="/data/chroma_db"VLLM_ENDPOINT="http://192.168.1.100:8000"
# main.pyimportosfromdotenvimportload_dotenv# 自动加载 .env 文件到环境变量load_dotenv()api_key=os.getenv("LLM_API_KEY")ifnotapi_key:raiseValueError("❌ 缺失 LLM_API_KEY,请检查 .env 文件!")

2. 依赖锁定 (pip-tools)

不要直接用pip freeze > requirements.txt,它会把底层 C 库的依赖也打包进去,导致换台机器就装不上。

# 1. 安装 pip-toolspipinstallpip-tools# 2. 创建 requirements.in (只写核心依赖)echo"fastapi">requirements.inecho"uvicorn">>requirements.inecho"chromadb">>requirements.inecho"python-dotenv">>requirements.in# 3. 编译生成锁定版本的 requirements.txt (包含所有子依赖的精确版本)pip-compile requirements.in# 交付时,客户只需要执行:pipinstall-rrequirements.txt

第五部分 FDE 黄金三角实战项目 🏆 [v4.0 核心升级]

这三个项目,将是你简历上最核心的“弹药”。

项目一(主线):《极简版企业 RAG 知识库 API》

目标:证明你具备 AI 应用能力,能交付一个解决“大模型幻觉”的完整系统。
技术栈:FastAPI + ChromaDB + LLM API + Pydantic

# rag_server.pyfromfastapiimportFastAPI,HTTPExceptionfrompydanticimportBaseModelimportchromadbimportrequestsimportosfromdotenvimportload_dotenv load_dotenv()app=FastAPI(title="企业 RAG 知识库服务")# 初始化向量库client=chromadb.PersistentClient(path="./chroma_db")collection=client.get_or_create_collection("company_docs")classQueryRequest(BaseModel):question:strclassChatResponse(BaseModel):answer:strsources:list[str]@app.post("/chat",response_model=ChatResponse)asyncdefchat(req:QueryRequest):# 1. 检索相关文档results=collection.query(query_texts=[req.question],n_results=2)ifnotresults['documents'][0]:returnChatResponse(answer="知识库中未找到相关信息。",sources=[])context="\n".join(results['documents'][0])sources=[m.get('source','unknown')forminresults['metadatas'][0]]# 2. 拼装 Promptprompt=f"基于以下资料回答问题:\n{context}\n\n问题:{req.question}"# 3. 调用 LLM (这里模拟调用外部 vLLM 或 API)try:# 实际代码:requests.post(os.getenv("VLLM_ENDPOINT") + "/v1/chat/completions", ...)# 这里为了演示,返回模拟数据llm_answer=f"根据资料,答案是... (基于{context[:20]}...)"exceptExceptionase:raiseHTTPException(status_code=500,detail=f"LLM 调用失败:{e}")returnChatResponse(answer=llm_answer,sources=sources)# 启动: uvicorn rag_server:app --reload

项目二(支线 1):《GPU 节点巡检与 Prometheus 导出脚本》

目标:证明你具备 AI Infra 基建能力。
技术栈:subprocess + prometheus_client
(代码参考你原笔记中的项目一 + 第二十三章 prometheus_client 结合,将 GPU 状态暴露为/metrics接口供 Grafana 抓取。)

项目三(支线 2):《vLLM 容器看门狗 (Watchdog)》

目标:证明你具备保障 AI 系统高可用的运维能力。
技术栈:requests + docker SDK + 异常重试
(代码参考你原笔记中的项目二,利用 Docker SDK 监听 vLLM 健康接口,实现挂掉自动拉起。)


附录

A. 8 周学习路径表 (打怪升级路线)

周数核心目标关键动作 / 产出
第 1 周Python 基础与数据结构刷完基础语法,能熟练处理字典和列表。
第 2 周运维武器库与异常处理写出第一个能自动分析日志报错的 Python 脚本。
第 3 周网络请求与环境配置调通外部大模型 API,掌握.env配置管理。
第 4 周RAG 核心逻辑 (重点)跑通 ChromaDB,实现文档切片、向量化和相似度检索。
第 5 周FastAPI 与项目一整合完成《RAG 知识库 API》,并能用 Postman 成功调用。
第 6 周Docker 化与依赖锁定编写 Dockerfile,将项目一打包成镜像,交付给客户。
第 7 周监控与高可用 (项目二/三)跑通 Prometheus 指标导出,完成 vLLM 看门狗脚本。
第 8 周简历包装与复盘将三个项目画成架构图,准备面试话术。

B. FDE 专属 Dockerfile 模板 (背下来)

当你交付 Python AI 应用时,用这个模板构建镜像,体积小且安全:

# 1. 使用精简版基础镜像 FROM python:3.10-slim # 2. 设置工作目录 WORKDIR /app # 3. 设置环境变量 (防止 Python 产生 .pyc 文件,并让日志实时输出) ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 # 4. 先拷贝依赖文件 (利用 Docker 缓存层,加速后续构建) COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple # 5. 拷贝业务代码 COPY . . # 6. 暴露端口 EXPOSE 8000 # 7. 启动命令 (使用 uvicorn 运行 FastAPI) CMD ["uvicorn", "rag_server:app", "--host", "0.0.0.0", "--port", "8000"]

👨‍🏫 导师的最后叮嘱:

小白,这份 v4.0 的文档,就是你的“通关文牒”。
不要把它当成课本去“背诵”,而是把它当成API 字典去“查阅”。

现在,理论部分已经结束。作为你的导师,我要给你布置今天的唯一实操任务:

  1. 在本地新建一个文件夹,创建一个.env文件,填入一个免费的 LLM API Key(比如智谱 GLM 或阿里通义千问)。
  2. 写一个不到 20 行的 Python 脚本,读取这个.env,调用 API,让大模型给你讲个笑话。

跑通它!如果报错,把报错信息发给我,我们直接在“案发现场”开始第一课!你准备好敲键盘了吗?

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询