# python **Repository Path**: DevPool/python ## Basic Information - **Project Name**: python - **Description**: 零基础学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-24 - **Last Updated**: 2026-02-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 零基础 AI 应用开发学习路线 --- ## 使用说明(先看这里) - **适合谁**:没写过任何代码、对编程零概念的人。 - **目标**:6 个月后能做 AI 应用(聊天、文档问答等)并达到可就业水平。 - **怎么用这份文档**:按顺序做。先完成「第 0 步 准备期」(环境没搭好后面全会卡住),再按「第 1 个月」一天一天来;遇到不懂的词到「名词解释」里查;报错先看「常见报错与解决」。 - **每天节奏**:上午学概念+看视频/文档,下午动手写代码(最重要),晚上整理笔记或验收当天目标。 **给零基础的几条建议** - 一定要自己敲代码,不能只看视频。哪怕照着敲一遍,再改几个字运行,也会比只看强很多。 - **「如何看报错」和「虚拟环境」第 1 个月就要练**。后面 AI 开发会装很多库(OpenAI、LangChain、PyPDF 等),版本冲突很常见,不会看报错、不会用虚拟环境会寸步难行。 - 报错是正常的。先看报错最后一行写的是什么(英文可复制到翻译),再对照「常见报错与解决」;还不行就把报错信息复制到百度/必应搜。 - 第 1 个月**节奏宁可慢一点**。循环嵌套、函数参数传递通常需要约 2 周反复练,地基不牢到第 3 个月写 RAG 时容易只会抄代码、改不了代码。 - **尽早看到「有界面的作品」**。第 2 个月会先用 Streamlit 做可点击的网页版聊天,再学 FastAPI,避免前两月全是黑窗口导致难以坚持。 --- ## 第 0 步:准备期(第 1~3 天,环境搭好再开始正式学习) ### 0.1 你要先搞懂的几件事 | 概念 | 用大白话说 | |------|------------| | **编程** | 用「代码」(一种固定格式的文字)告诉电脑一步一步做什么。 | | **Python** | 一种编程语言,写出来的代码电脑能执行;学 AI 用 Python 最多。 | | **代码文件** | 普通文本文件,后缀是 `.py`,里面是一行行 Python 代码。 | | **运行代码** | 让电脑执行这个 `.py` 文件里的指令。你要用「终端」输入命令来运行。 | | **终端(命令行)** | 一个黑窗口,用键盘输入文字命令操作电脑。Windows 里叫「PowerShell」或「命令提示符」。 | | **编辑器** | 用来写代码的软件,可以高亮、提示错误。推荐 PyCharm。 | ### 0.2 安装 Python(Windows 示例) 1. 打开浏览器,搜 **Python 官网** 或打开 https://www.python.org/ 2. 点 **Downloads** → 选 **Windows**,下载 **Python 3.12**(或页面推荐的最新 3.x)。 3. 双击下载好的安装包 → **一定要勾选**「Add Python to PATH」→ 点 **Install Now**。 4. 装完后:按 `Win + R`,输入 `powershell` 回车,在打开的窗口里输入: ```text python --version ``` 若显示类似 `Python 3.12.x` 就说明装好了。若报错「找不到 python」,说明没勾选 PATH,需卸载重装并勾选。 ### 0.3 安装 PyCharm - 打开 https://www.jetbrains.com/pycharm/ → 点 **Download**,选 **Community**(免费版)下载并安装。 - 安装完成后打开 PyCharm,首次可跳过导入设置;若提示选择主题任选即可。Python 支持已内置,无需再装扩展。 ### 0.4 第一次写代码并运行 1. 新建一个文件夹,例如桌面上的 `learn_python`。 2. 用 PyCharm 打开这个文件夹:启动 PyCharm → **Open** → 选中 `learn_python` 文件夹 → OK。 3. 在左侧新建文件,命名为 `hello.py`(名字随便,后缀必须是 `.py`)。 4. 在文件里写一行: ```text print("你好世界") ``` 5. 保存后,在 PyCharm 底部点 **Terminal**(或菜单 **View** → **Tool Windows** → **Terminal**),在终端里输入: ```text python hello.py ``` 6. 回车后若看到输出 `你好世界`,说明环境没问题,可以开始第 1 个月。 ### 0.5 准备期验收 - [ ] 已安装 Python,在终端输入 `python --version` 有版本号。 - [ ] 已安装 PyCharm 并能打开文件夹、新建 `.py` 文件。 - [ ] 能写一行 `print("你好世界")` 并用 `python hello.py` 在终端运行成功。 --- ## 名词解释(遇到不懂就查) | 词 | 小白解释 | |----|----------| | **变量** | 给数据起个名字,后面用名字就能用到这个数据。例如 `name = "小明"`,`name` 就是变量。 | | **类型** | 数据是哪种:整数(int)、小数(float)、文字(str)、真假(bool)、列表(list)、字典(dict) 等。 | | **函数** | 把一段「会重复用的步骤」包成一个名字,需要时写名字就执行这一段。 | | **API** | 别人写好的服务,你按规则发请求,对方返回数据。例如「查天气 API」你发城市名,它返回温度。 | | **HTTP** | 网络上发请求、收回复的一种规则。浏览器打开网页、手机 App 拉数据都在用。 | | **JSON** | 一种用文字表示数据的方式,方便在程序之间传。长得像 `{"name":"小明","age":18}`。 | | **Git** | 管理代码版本的软件,可以保存每次修改、恢复、和别人协作。 | | **GitHub** | 网上存代码的网站,用 Git 把代码推上去,别人能看到、你也能写进简历。 | | **终端/命令行** | 用键盘输入命令操作电脑的窗口,例如运行 `python hello.py` 就要在终端里输入。 | | **虚拟环境(venv)** | 给当前项目单独装一套 Python 包,不跟别的项目混用,避免「装了这个库另一个项目报错」的版本冲突。 | | **部署** | 把做好的网站或服务放到服务器上,让别人能通过网址访问。 | | **RAG** | 让 AI 先查你的资料(如文档),再根据资料回答,而不是只靠模型自己的知识。 | | **Agent** | 能自己选「用哪个工具、做哪一步」的 AI 程序,例如先查天气再帮你写邮件。 | | **Streamlit** | 用纯 Python 写网页的库,几行代码就能出输入框、按钮、展示区,适合小白先做出「有界面」的 AI 应用。 | --- ## 资源与学习网站 ### 第 1 个月(Python 基础) | 类型 | 链接 | 说明 | |------|------|------| | 视频 | [Python 零基础入门](https://www.bilibili.com/video/BV1tDsgzxECr/) | B站,跟练语法 | | 文档 | [菜鸟 Python3](https://www.runoob.com/python3/python3-tutorial.html) | 查语法、示例 | | 文档 | [廖雪峰 Python](https://www.liaoxuefeng.com/wiki/1016959663602400) | 系统阅读 | | 练习 | [LeetCode 简单题](https://leetcode.cn/problemset/?difficulty=EASY) / [牛客 Python](https://www.nowcoder.com/intelligentTest) | 选做,巩固逻辑 | ### 第 2 个月(HTTP / Git / 大模型 / Streamlit / FastAPI) | 类型 | 链接 | 说明 | |------|------|------| | HTTP | [MDN HTTP 入门](https://developer.mozilla.org/zh-CN/docs/Web/HTTP) | 概念扫盲 | | Git | [Git 简明指南](https://rogerdudler.github.io/git-guide/index.zh.html) / [廖雪峰 Git](https://www.liaoxuefeng.com/wiki/896043488029600) | 日常命令 | | 大模型 | [OpenAI API](https://platform.openai.com/docs) / [DeepSeek API](https://platform.deepseek.com/docs) | 必看 | | **Streamlit** | [Streamlit 官方文档](https://docs.streamlit.io/) | 纯 Python 写网页,小白先做「有界面」的聊天,再学 FastAPI | | 后端 | [FastAPI 官方文档](https://fastapi.tiangolo.com/zh/) | 做接口、部署时用 | ### 第 3 个月(RAG) | 类型 | 链接 | 说明 | |------|------|------| | 概念 | [RAG 综述](https://arxiv.org/abs/2312.10997) 或 B站搜「RAG 入门」 | 理解流程 | | 向量库 | [Chroma](https://docs.trychroma.com/) / [FAISS](https://github.com/facebookresearch/faiss) | 二选一入门 | | PDF | [PyMuPDF](https://pymupdf.readthedocs.io/) / [pdfplumber](https://github.com/jsvine/pdfplumber) | 文档解析 | ### 第 4–5 个月(Agent / 框架) | 类型 | 链接 | 说明 | |------|------|------| | Agent | B站搜「AI Agent 开发」「ReAct」 | 概念与实现 | | 框架 | [LangChain 文档](https://python.langchain.com/docs/) / [LlamaIndex](https://docs.llamaindex.ai/) | 选一精读 | ### 第 6 个月(求职) | 类型 | 链接 | 说明 | |------|------|------| | 投递 | Boss 直聘 / 拉勾 / 牛客 / 公司官网 | 每天 ≥20 份 | | 面经 | 牛客面经、知乎「AI 岗位面试」 | 查题与话术 | --- ## 第 1 个月 Day1–Day30(仅 Python 基础) **设计说明**:第 1 个月刻意放慢节奏,**重点放在 list/dict 复杂操作和函数封装**;**面向对象(Class)只做了解、不深究**,避免地基不牢到第 3 个月只会抄代码。同时**强制加入「如何看报错」和「虚拟环境」**,为后面装 OpenAI、LangChain、PyPDF 等库打底。 ### 第 1~2 周逐日详细步骤(零基础跟做版) **D1 变量、类型、print、input** - 上午:看 B站 [Python 零基础](https://www.bilibili.com/video/BV1tDsgzxECr/) 前几集或菜鸟「变量」「基本数据类型」「print」。 - 下午:① `a=1; b=2; print(a+b)`。② `input` 输入名字再 print。③ 交换两变量值。 - **成功标准**:能写 3 个小脚本并运行出正确结果。 **D2 if/else、比较与逻辑运算** - 上午:菜鸟/廖雪峰「条件判断」;注意缩进 4 空格。 - 下午:① 分数→优秀/及格/不及格。② 闰年判断。③ 简单菜单 1/2/3。 - **成功标准**:分支逻辑正确。 **D3 for、range、while** - 上午:理解循环是重复执行一段代码。 - 下午:① 1+2+…+100。② 九九乘法表(可先一行)。③ while 猜数字。 - **成功标准**:能跑通,无死循环。 **D4 字符串方法、切片、格式化** - 上午:`len()`、切片、`f"你好{name}"`。 - 下午:① 字符串反转。② 统计某字符出现次数。③ 去空格/替换。 - **成功标准**:会用字符串方法和切片。 **D5 list 增删改查、遍历** - 上午:`[]`、`append`、`pop`、`list[0]`、`for x in list:`。 - 下午:① 列表去重。② 最大最小值及下标。③ 排序后打印。 - **成功标准**:能遍历、按索引取值、append/pop。 **D6 dict、set 基础** - 上午:`{}`、`dict["key"]`、`dict.get()`、set 去重。 - 下午:① 词频统计存 dict。② 两字典合并。③ set 给列表去重。 - **成功标准**:能按 key 取值、遍历 dict。 **D7 函数定义、参数、返回值** - 上午:`def 函数名(参数):`、`return`;理解「封装」。 - 下午:① 把 D1~D6 里 2 个脚本改成用函数实现。② 写 3 个小函数(如闰年、列表求和、字符串反转)。 - **成功标准**:能写带参数和 return 的函数并调用。 **D8 函数巩固:参数传递、多函数协作** - 上午:理解「传值/传引用」、函数里改 list/dict 会影响外面;多函数之间用参数和 return 传数据。 - 下午:① 写一个「处理列表」的函数(接收 list,返回新 list 或修改后无 return)。② 写 2~3 个函数互相调用完成一件事(如:读数据→处理→打印)。 - **成功标准**:能说出「这个 list 传进函数后会不会被改」并写对。 **D9 循环嵌套 + list/dict 综合** - 上午:for 里套 for、在循环里往 list/dict 里 append 或赋值。 - 下午:① 二维列表或「列表里放字典」:如 `[{"name":"小明","score":80}, ...]`,遍历并打印。② 用嵌套循环生成乘法表或简单表格数据。 - **成功标准**:能写 list/dict 嵌套结构并正确遍历。 **D10 如何看报错 + PyCharm 调试(必做)** - 上午:看「常见报错与解决」表;学 PyCharm 断点:行号左侧点击出现红点,右键 Run Debug,程序停在该行后看下方「Variables」里变量值。 - 下午:① 故意写错一个变量名,看报错信息,读最后一行并修复。② 故意缩进错,看 IndentationError,修复。③ 在猜数字或循环程序里打断点,单步执行几次,观察变量变化。 - **成功标准**:能根据报错定位到大概位置并修复;会用断点看一次变量。 **D11 虚拟环境 + pip(必做)** - 上午:理解「虚拟环境」= 每个项目单独一套包,避免版本冲突。PyCharm:File → New Project → 勾选「New environment using Virtualenv」,或终端里 `python -m venv venv`,再 `venv\Scripts\activate`(Windows)。 - 下午:① 在项目里建 venv,激活后 `pip install requests`,写一行 `import requests` 运行通过。② 用 `pip freeze > requirements.txt` 生成依赖列表;换一个空文件夹、新建 venv、`pip install -r requirements.txt` 再运行,确认环境可复现。 - **成功标准**:会创建并激活 venv;会 pip install、pip freeze、requirements.txt。 **D12 文件读写 open/read/write、with** - 上午:`open()`、`read()`/`readlines()`、`write()`、`with open(...) as f`。 - 下午:① 读一个 txt 配置文件,解析后打印。② 写日志到文件(追加)。③ 小项目:批量重命名(os.listdir + 重命名)。 - **成功标准**:能读文件、写文件、用 with。 **D13 异常 try/except、with** - 上午:`try: ... except 异常类型: ...`;常见 FileNotFoundError、ValueError。 - 下午:在 D12 项目里加 try/except;故意打开不存在的文件看报错再捕获。 - **成功标准**:会写 try/except,程序不因一个错误就崩。 **D14 list/dict 复杂嵌套巩固** - 上午:复习「列表里放字典」「字典里放列表」的访问与遍历。 - 下午:① 从 JSON 文件或手写数据结构里读「多个人、每人多门成绩」,计算每人平均分并排序输出。② 词频统计升级:按出现次数排序输出 Top 10。 - **成功标准**:能独立写「嵌套结构 + 多步处理」不卡壳。 **D15 面向对象「了解即可」** - 上午:看菜鸟/廖雪峰「类与对象」前几节,知道有 `class`、`__init__`、`self` 即可,**不要求熟练写**。 - 下午:照抄一个简单类(如 Student),实例化两个对象并调用方法,能跑通即可。后续小项目**优先用函数 + list/dict**,不必强行用类。 - **成功标准**:知道「类是用来封装数据+行为的」,能看懂简单 class 代码即可。 --- | 天数 | 上午 3h 学什么 | 下午 5h 练什么 | 晚上 3h 产出 | |------|----------------|----------------|--------------| | D1 | 变量、类型、print、input | 3 个小脚本(计算、input、交换变量) | 笔记:运行方式、缩进 | | D2 | if/else、比较与逻辑 | 成绩等级、闰年、简单菜单 | 代码存本地 | | D3 | for、range、while | 求和、乘法表、猜数字 | 复习 break/continue | | D4 | 字符串方法、切片、格式化 | 反转、统计字符、清洗 | 常用字符串 API | | D5 | list 增删改查、遍历 | 去重、最值、排序 | list 与 tuple 对比 | | D6 | dict、set 基础 | 词频、合并字典、set 去重 | 何时用 dict/set | | D7 | 函数定义、参数、return | 封装前几日脚本、写 3~5 个函数 | 第一周复盘 | | D8 | 函数巩固:参数传递、多函数协作 | 函数改 list、多函数配合 | 理解传参与副作用 | | D9 | 循环嵌套、list/dict 嵌套 | 列表里放字典、嵌套遍历 | 嵌套结构熟练 | | D10 | **如何看报错 + PyCharm 断点调试** | 故意写错→读报错修复;断点看变量 | 会看报错、会 Debug | | D11 | **虚拟环境 venv + pip、requirements.txt** | 建 venv、pip install、freeze、复现环境 | 环境隔离习惯 | | D12 | 文件读写、with | 读配置、写日志、批量重命名 | 小项目:文件操作 | | D13 | 异常 try/except | D12 加异常处理 | 常见异常类型 | | D14 | list/dict 复杂嵌套巩固 | 多人生绩、词频 Top N | 嵌套+排序熟练 | | D15 | 面向对象「了解即可」 | 抄一个简单 class 跑通 | 不深究,后续用函数为主 | | D16 | 综合复习 | 小项目:待办列表(函数+列表+文件) | 代码整理 | | D17 | 综合复习 | 小项目:学生成绩管理(函数+dict+文件,可不写 class) | 增删改查 | | D18 | 标准库 os、path | 自动整理文件(按扩展名分文件夹) | os.path、os.walk | | D19 | 标准库 json、csv | JSON/CSV 读写、数据转换 | 序列化与解析 | | D20 | 巩固综合 | 词频统计(文件→Top N) | dict、排序、文件 | | D21 | 巩固综合 | 简单计算器(菜单式) | 异常、循环菜单 | | D22 | 巩固综合 | 随机抽奖/密码强度/简单加密 | random、字符串 | | D23 | 巩固综合 | 统计代码行数、找重复文件 | 文件遍历 | | D24 | 巩固综合 | 配置文件生成、日志轮转 | 文件与格式 | | D25 | 复盘 | 选 3 个项目重构或加功能 | 薄弱点列表 | | D26 | 补弱项 | 针对薄弱点写 2 个小脚本 | 查漏补缺 | | D27 | 巩固 | 待办/笔记管理(多文件、多函数) | 项目结构清晰 | | D28 | 巩固 | 数据清洗(CSV 过滤、写回) | 综合运用 | | D29 | 巩固 | 文件夹备份 | os、path、文件 | | D30 | 整月复盘 | 代码整理、选 5 个代表项目、自测重写 | 第 1 个月目标:熟练写脚本+会看报错+会用虚拟环境 | **第 1 个月作业与验收** - **每周作业**:当周「下午 5h」练的内容打成 1 个文件夹(如 `week1_basic`),至少 3 个可运行脚本。 - **W1 验收**:能独立写「输入→判断/循环→输出」、列表与字典遍历。 - **W2 验收**:能独立写「读文件→处理→写文件」;能用**函数 + list/dict** 封装逻辑(不要求必须用 class);**会看报错并定位修复**;**会建虚拟环境、pip install、requirements.txt**。 - **W4 验收**:从「待办/学生管理/自动整理文件/词频统计」中任选 2 个,用函数+数据结构 30 分钟内无参考重写核心逻辑。 - **推荐练习站**:菜鸟/廖雪峰每章课后题做完;可选 [LeetCode 简单](https://leetcode.cn/problemset/?difficulty=EASY) 每天 1 题。 ### 常见报错与解决(第 1 个月) | 报错或现象 | 可能原因 | 解决办法 | |------------|----------|----------| | 终端里输入 `python` 提示「不是内部或外部命令」 | 没装 Python 或没勾选 Add to PATH | 重装 Python,勾选 Add Python to PATH;或搜「Python 配置环境变量」按教程把安装路径加到 PATH | | `IndentationError: unexpected indent` | 缩进不对(混用空格和 Tab,或该缩进没缩进) | 同一层代码用同样数量的空格(建议 4 个空格);检查 if/for/def 下面的代码是否多缩进一层 | | `NameError: name 'xxx' is not defined` | 用了没定义过的变量名 | 检查拼写;变量要在使用前赋值;函数里用到的变量是否写了参数或在本函数内赋值 | | `SyntaxError: invalid syntax` | 语法错误,常见漏冒号、括号不匹配 | 看报错指向的那一行:if/for/def 后面有没有 `:`;括号是否成对 | | 运行 `python xxx.py` 没反应或闪退 | 程序执行完就关了;或没有 print | 在程序最后加一行 `input("按回车退出")` 方便看结果;或确认有 print 输出 | | 打开的是「其他盘」的文件夹,终端里运行报错找不到文件 | 终端当前目录和你的 .py 文件不在同一处 | 在终端里先 `cd` 到你的项目文件夹,例如 `cd 桌面\learn_python`,再 `python hello.py` | | `ModuleNotFoundError: No module named 'xxx'` | 没安装这个库,或当前终端没在虚拟环境里 | 先确认已激活 venv(终端前有 `(venv)`),再 `pip install xxx`;PyCharm 选对「Python 解释器」为项目 venv | | 装完某库后别的项目报错、或版本冲突 | 不同项目共用了同一套包 | 每个项目单独建虚拟环境(见 D11),在该项目目录下 `python -m venv venv` 再激活后 pip install | ### 第 1 个月成功标准清单(自测用) - [ ] 能新建 `.py` 文件,在终端用 `python 文件名.py` 运行。 - [ ] 会用变量、print、input 写简单交互脚本。 - [ ] 会写 if/elif/else,缩进正确。 - [ ] 会写 for、while,能做累加、遍历列表;能写循环嵌套、list/dict 嵌套遍历。 - [ ] 会用字符串方法、切片、f-string。 - [ ] 会用 list 增删改查、遍历;会用 dict 存键值对、用 set 去重。 - [ ] 会定义函数、传参、return,多函数协作;理解参数传递对 list/dict 的影响。 - [ ] 会 `open()` 读文件、写文件,会用 `with`。 - [ ] 会 try/except 捕获异常。 - [ ] **会读报错信息并定位到大致位置修复**;会用 PyCharm 断点看一次变量。 - [ ] **会创建并激活虚拟环境(venv),会 pip install、pip freeze、requirements.txt**。 - [ ] 能独立完成「待办列表」或「学生成绩管理」其中一个(用函数+list/dict+文件,增删改查)。 - [ ] (可选)知道 class 是什么,能看懂简单类代码即可,不要求熟练写。 --- ## 第 2–6 个月细化执行表 ### 第 2 个月(计算机基础 + AI 入门 + 作品集①) **零基础提示**:第 2 个月会接触「网页和网络」概念;**先做「有界面的」Streamlit 聊天**,再学 FastAPI,避免两月全是黑窗口。① **HTTP** = 浏览器和服务器要数据、发数据的规则;② **API** = 发请求拿数据;③ **Git** = 代码存档与展示。D1 用 `requests.get("网址")` 拿数据;D5 `git init` 建仓。B站可搜「Python requests」「Git 入门」「Streamlit 入门」。 | 天 | 上午 3h | 下午 5h | 晚上 3h | |----|---------|---------|---------| | D1 | HTTP、requests GET/POST | 调 2 个公开 API,打印返回 | 笔记:GET/POST、Content-Type | | D2 | API 鉴权、环境变量 .env | 申请免费 API,写调用脚本 | key 放 .env、不提交 | | D3 | JSON 解析、嵌套数据 | 解析 API 返回,写进 CSV/JSON | 数据采集 + 落盘 | | D4 | 命令行 sys.argv/argparse | 脚本支持命令行参数 | 会传参运行 | | D5 | Git init、add、commit、push、.gitignore | 建仓、提交、推 GitHub | 每日 commit | | D6 | Git branch、merge | 开分支做实验再合并,忽略 venv/.env | 常用 git 命令 | | D7 | 大模型 API(OpenAI/DeepSeek) | requests 调 chat completions,打印一句回复 | 第一句 AI 回复 | | D8 | 流式响应、SSE | API 流式输出,终端逐字打印 | stream=True、chunk | | D9 | 多轮对话 messages 列表 | 用户输入→追加 message→调用→打印 | 对话有上下文 | | D10 | system prompt、角色设定 | 写「你是助手」等,改风格 | system/user/assistant | | D11 | function calling | 1 个带 function call 的对话(查天气/算数) | 可配置角色脚本 | | D12 | 输出格式 JSON mode | 模型按 JSON 返回,解析做逻辑 | prompt + 解析 | | D13 | **Streamlit 入门**:pip install streamlit、st.title、st.text_input、st.button、st.write | 写一个「输入框+按钮+显示区」的空白页,运行 streamlit run xxx.py 在浏览器打开 | **第一次看到自己写的网页** | | D14 | **Streamlit + 大模型**:在 Streamlit 里调大模型 API,用户输入→调 API→结果用 st.write 展示 | 做「可点击、有界面的」AI 聊天页,在浏览器里对话 | **作品集①雏形:有界面的 AI 聊天** | | D15 | Streamlit 完善:st.chat_message、历史消息展示、简单流式(st.write 逐段) | 聊天历史显示、加载态或流式效果 | 本地可用的 AI 聊天网页 | | D16 | 命令行聊天完善并推 GitHub | 多轮+流式+可选角色,README | 代码推 GitHub | | D17 | FastAPI 安装、路由、请求体 | /hello、/time、GET 参数、POST JSON | 路由、依赖注入 | | D18 | FastAPI 依赖、项目结构 | 配置做依赖,router + main | 小 API 接口 | | D19 | FastAPI + 大模型 /chat | POST 收 question,调大模型返回 | 后端能对话 | | D20 | StreamResponse、流式 | /chat 流式,curl 或页面试 | 接口流式 | | D21 | 可选:Streamlit 调 FastAPI /chat,或继续完善 Streamlit 直连大模型 | 前后端分离 or 全 Streamlit 二选一 | 作品集①定稿 | | D22 | 部署:Streamlit Cloud / Railway / 自建 | 部署后拿到链接 | 可访问链接 | | D23–24 | 错误处理、README、简历描述 | 修 bug、README、截图与链接 | 可投递状态 | | D25–30 | 缓冲、补弱、预习 RAG | 复习 API/大模型/Streamlit、小 demo | 第 2 个月复盘 | **第 2 个月作业与验收** - **W1 作业**:调 2 个公开 API 并落盘;Git 建仓每日 commit;命令行版多轮+流式 AI 对话推 GitHub。 - **W2 作业**:1 个 function call 对话脚本;1 个 JSON 返回并解析示例;**Streamlit 版 AI 聊天页在浏览器可对话**(优先完成,有可视化反馈)。 - **W3–4 作业**:Streamlit 或 FastAPI 版 AI 聊天网站完善;部署后可访问链接;README 含运行说明。 - **验收**:能口述「HTTP/API/JSON 是什么」「多轮对话怎么实现」;能演示**有界面的**聊天网站并讲解。 --- ### 第 3 个月(RAG 项目 → 作品集②) | 天 | 上午 3h | 下午 5h | 晚上 3h | |----|---------|---------|---------| | D1–2 | 文本切分:按句/按段/按长度、overlap | 写 split 函数,本地 txt 切 chunks,打印统计 | 笔记:chunk 策略、token 粗算 | | D3 | Embedding 概念、OpenAI/其他 embedding API | 调 API 把一段文本转成向量,看维度 | 会调 embedding 接口 | | D4 | 批量 embedding、限速与重试 | 把多个 chunk 转向量,写进 list/dict | 脚本:文件→chunks→向量列表 | | D5–6 | 向量库入门:Chroma/Milvus/FAISS 选一 | 安装、把向量入库、按 id 存原文 | 能 add 能查 | | D7 | 相似度检索:cosine/内积、top-k | 给定 query 向量,返回 top-k 相似 chunk id | 检索脚本跑通 | | D8 | RAG 流程串起来:query→embedding→检索→拼 prompt→大模型 | 命令行:输入问题,输出基于文档的答案 | 无前端的 RAG 管道 | | D9–10 | 优化:chunk 大小、top_k、prompt 模板 | 调参、改 prompt,对比回答质量 | 笔记:RAG 调优点 | | D11 | PDF 解析:PyMuPDF/pdfplumber 选一 | 从 PDF 抽文本,再切分、向量化 | 支持 PDF 上传 | | D12 | 多文档、增量更新(可选) | 支持多个文件、重复上传不重复建库 | 简单去重或版本 | | D13 | FastAPI 封装:上传接口、问答接口 | 后端:/upload、/ask,前端可调 | 接口就绪 | | D14–15 | 前端:上传 PDF、输入问题、展示答案 | 简单页面:选择文件、输入框、流式或一次性展示 | 本地完整 RAG demo | | D16–17 | 错误处理:大文件、解析失败、检索为空 | 限文件大小、友好报错、空结果提示 | 健壮性 | | D18 | 部署:后端+向量库(内存或持久化) | 部署到云,向量库用文件或云服务 | 作品集②可访问 | | D19–21 | README、项目结构、环境说明 | 代码整理、依赖列表、如何跑起来 | 作品集②收尾 | | D22–24 | 缓冲或扩展:多轮追问、引用来源、历史记录 | 可选功能或预习 Agent | 巩固 RAG | | D25–30 | 复习 RAG 原理、面试自述、补文档 | 能讲清:切分、向量、检索、生成 | 第 3 个月复盘 | **第 3 个月作业与验收** - **W1 作业**:本地脚本:任意 txt/PDF → 切分 → 调 embedding → 得到向量列表;向量库 add + 按 query 检索 top-k。 - **W2 作业**:命令行 RAG:输入问题,输出基于文档的答案;试不同 chunk 大小、top_k,记一页调优笔记。 - **W3–4 作业**:完整 RAG 应用:上传 PDF、输入问题、展示答案;部署后可访问;README 写清技术栈与跑法。 - **验收**:能口述「RAG 流程」「chunk 和 top_k 怎么选」;能演示上传文档并问答。 --- ### 第 4 个月(Agent 项目 → 作品集③) | 天 | 上午 3h | 下午 5h | 晚上 3h | |----|---------|---------|---------| | D1 | Agent 概念:ReAct、plan-and-execute、Tool | 看文档/视频,写一个「只调用 1 个工具」的循环 | 理解:模型决策→执行工具→再决策 | | D2 | Tool 定义:name、description、parameters(JSON Schema) | 定义 2 个工具(如查天气、算数),给大模型用 | 模型能选工具并传参 | | D3 | 工具实现:读文件、写文件、调 API | 实现 2–3 个真实工具函数,在 Agent 里调用 | 1 个带 2–3 工具的 Agent 脚本 | | D4–5 | 多步执行:解析模型输出、执行、把结果塞回 messages | Agent 能连续多轮选工具直到给出最终答案 | 多步 Agent 跑通 | | D6 | 业务场景选定:周报/Excel/SQL/爬虫 选一 | 拆解任务、列出需要的工具(读文件、写文件、调 API 等) | 设计文档或清单 | | D7–9 | 实现业务 Agent:工具集 + prompt | 写工具、写 system prompt、跑通主流程 | 自动周报或 Excel 分析等 demo | | D10 | 错误处理:工具失败、超时、格式错误 | Agent 里 try/except、重试或降级 | 健壮性 | | D11 | 简单前端或 CLI:输入需求、展示结果 | 用户输入一句话,Agent 执行后展示结果/文件 | 可演示的入口 | | D12–13 | 日志:记录每步决策、工具入参出参 | 写日志到文件或控制台,便于调试 | 可追溯执行过程 | | D14 | 部署与 README | 部署(可选)、代码整理、使用说明 | 作品集③收尾 | | D15–18 | 扩展或第二场景:如自动写 SQL + 执行(只读库) | 再加一个 Agent 场景,巩固 Tool 设计 | 多一个作品或模块 | | D19–21 | 复习 Agent 面试题:ReAct、Tool、多步推理 | 自述项目、画流程图 | 能讲清原理 | | D22–30 | 缓冲、补弱、预习 LangChain/LlamaIndex | 看框架文档,对比手写 Agent | 第 4 个月复盘 | **第 4 个月作业与验收** - **W1 作业**:1 个带 2–3 个工具的 Agent 脚本(模型能选工具、多步执行);工具含读文件/写文件/调 API 至少两种。 - **W2 作业**:选定一个业务场景(周报/Excel/SQL 等),实现并跑通;有简单 CLI 或前端输入需求、展示结果。 - **W3–4 作业**:带日志的 Agent 项目;部署(可选);README 含设计说明与使用步骤。 - **验收**:能口述「Agent 与 RAG 区别」「ReAct/Tool 是什么」;能演示 Agent 执行多步并展示日志。 --- ### 第 5 个月(进阶 + 企业级 → 作品集④) | 天 | 上午 3h | 下午 5h | 晚上 3h | |----|---------|---------|---------| | D1–3 | LangChain 或 LlamaIndex 选一:链、Agent、Tool 封装 | 用框架重写一个 RAG 或 Agent(选之前做过的) | 框架版 RAG/Agent 跑通 | | D4 | 框架的 Tool、AgentExecutor(LangChain)或 Agent(LlamaIndex) | 用框架自带能力做多工具 Agent | 少写样板代码 | | D5–6 | 工作流:顺序链、条件分支、多 Agent 协作(可选) | 画流程图,实现一个多步工作流 demo | 流程图 + 可跑通 demo | | D7 | 用户体系概念:登录、session、权限 | 选方案:JWT / Session / 第三方登录 | 设计表或接口 | | D8–10 | 实现:注册、登录、登出接口;简单前端登录页 | 后端鉴权、前端存 token 或 cookie | 已有项目加登录 | | D11 | 权限:按用户隔离数据(如只查自己的文档) | 上传/问答按 user_id 过滤 | 多用户可用的 RAG/聊天 | | D12–13 | 操作日志:谁在何时做了什么 | 关键接口打日志、落库或文件 | 可审计 | | D14 | 部署:前后端 + DB + 向量库 | 选云服务部署,环境变量、持久化 | 作品集④线上可访问 | | D15–16 | 监控与健康检查:/health、简单监控(可选) | 接口健康、依赖可用性 | 便于运维 | | D17–18 | 文档:API 文档(Swagger/OpenAPI)、README | 接口说明、部署文档、项目结构 | 企业级可展示 | | D19–21 | 代码整洁:分层、配置、错误码 | 重构一个项目,结构清晰、易维护 | 作品集④收尾 | | D22–24 | 四个作品集总整理:链接、描述、技术栈、亮点 | 简历上的项目块、面试话术 | 作品集齐全 | | D25–30 | 缓冲、补框架进阶、或提前进入简历/面试题 | 自述四个项目、模拟讲解 | 第 5 个月复盘 | **第 5 个月作业与验收** - **W1 作业**:用 LangChain 或 LlamaIndex 重写一个 RAG 或 Agent;用框架自带 Tool/Agent 跑通多工具 demo。 - **W2 作业**:一个多步工作流 demo(顺序链/条件分支);流程图 + 可运行代码。 - **W3–4 作业**:给已有项目加登录/权限/操作日志;部署并写好 API 文档与 README;四个作品集链接与描述整理好。 - **验收**:能对比「手写 vs 框架」;能演示带登录与日志的项目并说明企业级改进点。 --- ### 第 6 个月(就业冲刺) | 天 | 上午 3h | 下午 5h | 晚上 3h | |----|---------|---------|---------| | D1–2 | 简历结构:教育/项目/技能/亮点 | 写初版:四个项目、技术栈、指标化成果(用户量/性能/优化点) | 简历 v1 | | D3 | GitHub 与作品链接:仓库整洁、README、可运行说明 | 检查四个项目链接可访问、README 清晰 | 简历上链接就绪 | | D4–5 | 面试题:RAG 原理、chunk、embedding、检索、生成 | 自问自答写文档,能口述 2 分钟 | RAG 面试话术 | | D6–7 | 面试题:Token 计算、成本、限流;Prompt 设计、system/role | 同上,写文档 + 模拟口述 | Token/Prompt 话术 | | D8 | 面试题:向量库、相似度、Faiss/Chroma 等 | 能讲清选型与原理 | 向量库话术 | | D9 | 面试题:Agent、Tool、ReAct、多步推理 | 结合作品集③讲 | Agent 话术 | | D10 | 模拟面试:项目介绍 + 技术深挖 | 找人或录音,完整走一遍 | 查漏补缺 | | D11 起 | 投递:每天 ≥20 份(校招/社招/内推) | 记录:公司、岗位、进度、面试题 | 面试记录表 | | D12–20 | 持续投递 + 面试 + 复盘 | 每场面试记题目和反馈,迭代简历与话术 | 简历 v2/v3 | | D21–24 | 补强弱项:根据面试反馈补 RAG/Agent/算法题(如有) | 针对性复习、补小 demo | 弱项文档 | | D25–26 | 谈薪与选择:offer 对比、待遇、发展 | 列对比表、做决策 | 可选:接 offer | | D27–30 | 收尾:定 offer、入职准备,或继续投递 | 材料准备、持续跟进 | 第 6 个月收官 | **第 6 个月作业与验收** - **W1 作业**:简历 v1(四项目+技术栈+指标化);GitHub 与作品链接可访问、README 清晰。 - **W2 作业**:自问自答文档:RAG/Token/Prompt/向量库/Agent 各能口述 2 分钟;模拟面试至少 1 次。 - **W3–4 作业**:每天投递 ≥20 份;面试记录表(公司、岗位、题目、反馈);按反馈迭代简历与话术。 - **验收**:能连贯讲四个项目与技术选型;能回答常见 RAG/Agent 面试题;有面试记录与迭代后的简历。