本次的学习主要以学习LLM+RAG+Agent的学习历程
基本日历如下
第一阶段:Python与API(第1-7天)
D1:搭环境+虚拟环境,拿硅基流动API Key,跑通第一个调用脚本。
D2:写任务拆解函数(parse_task)+ logging,读PDF前1000字符。
D3:写模拟工具(search/summarize/translate)+ 主循环执行任务。
D4:装LangChain,用ChatPromptTemplate替换字符串拼接。
D5:用LangChain Tool和initialize_agent搭第一个简单Agent。
D6:实现“文件情报员Agent”:读文件→总结→提取关键词→输出JSON。
D7:同上(完成项目),总结Chain/Agent/Tool/Memory/RAG概念。
第二阶段:RAG核心(第8-14天)
D8:装llama-index,加载文档文件夹,切分文本块(chunk_size=512)。
D9:装chromadb,将文本块存入向量数据库。
D10:写查询脚本,用相似性检索Top-K块并打印。
D11:构建RetrievalQA链,让模型基于检索块回答问题。
D12:调优chunk_size(256/512/1024)和top_k(2/4/6)。
D13:增加对话历史(ConversationBufferMemory)支持多轮。
D14:封装成CLI应用(循环输入→输出+引用来源)。
第三阶段:Agent编排框架(第15-21天)
D15:装langgraph,将线性链转为StateGraph图结构。
D16:实现“人在回路”(Human-in-the-loop)节点。
D17:定义多Agent节点(研究员/作家)并连接。
D18:跑AutoGen官方两Agent对话示例。
D19:跑CrewAI研究者+写作者示例。
D20:看PydanticAI README示例,理解类型安全Agent。
D21:写一份框架选型指南(LangChain/LangGraph/AutoGen/CrewAI/PydanticAI对比)。
第四阶段:实战项目(第22-30天)
D22:选项目(推荐个人知识库问答),画系统架构图。
D23:实现RAG检索模块+Agent工具定义。
D24:同上,完成核心模块开发。
D25:集成到CLI或FastAPI服务。
D26:优化用户体验,修复bug。
D27:加滑动窗口/摘要管理长上下文。
D28:加难度路由(简单问题直答,复杂走RAG)。
D29:写README.md(安装/使用/设计)。
D30:上传GitHub,用STAR法则写一篇项目介绍文章。
一、环境搭建
1. 检查 Python 版本
bash
python --version要求:Python 3.8 及以上(建议 3.10+)。
如果版本过低,请先去 python.org 下载安装。
2. 创建项目文件夹与虚拟环境
bash
mkdir agent_learning # 新建项目目录
cd agent_learning # 进入目录
python -m venv agent_env # 创建名为 agent_env 的虚拟环境🔍 命令拆解:
python:调用 Python 解释器-m:模块运行开关(-m= module)venv:Python 内置的虚拟环境标准库模块agent_env:指定虚拟环境存放的目录名(可自定义)
什么是虚拟环境?
它是一个独立的 Python 运行空间,每个项目都有自己独立的库依赖,互不干扰。例如项目 A 用 openai==1.0,项目 B 用 openai==2.0,虚拟环境可防止版本冲突。
创建后,agent_env 目录下会生成:
Scripts/(Windows)或bin/(Mac/Linux)——存放独立的 Python 解释器和 pipLib/site-packages/(Windows)或lib/(Mac/Linux)——存放项目专属的第三方库
3. 激活虚拟环境
Windows(PowerShell):
powershell
agent_env\Scripts\activate若遇到“禁止运行脚本”错误,先执行:
powershell
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass然后再激活。
Mac / Linux:
bash
source agent_env/bin/activate
激活的本质:
修改当前终端的 PATH 环境变量,将虚拟环境的 Scripts/(或 bin/)目录插到最前面。此后输入 python 或 pip 都会优先使用虚拟环境中的版本,而不是系统全局的。
验证激活成功:命令行前缀出现 (agent_env),例如:
text
(agent_env) O:\agent_learning>4. 安装 OpenAI 库
bash
pip install openaiopenai是 OpenAI 官方提供的 Python SDK,用于调用兼容 OpenAI 格式的 API(如硅基流动、DeepSeek 等)。如果下载慢,可使用国内镜像:
bash
pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple
二、首次 API 调用(以 DeepSeek 为例)
脚本代码
python
from openai import OpenAI
# 1. 初始化客户端
client = OpenAI(
api_key = "你的DeepSeek API Key", # 从平台获取
base_url = "https://api.deepseek.com" # DeepSeek 的 API 端点
)
try:
# 2. 发起对话请求
response = client.chat.completions.create(
model="deepseek-v4-flash", # 使用的模型
messages=[
{"role": "system", "content": "你是一名擅长用比喻解释技术的厨师"},
{"role": "user", "content": "请用厨师做菜的风格解释RAG(信息检索生成)"}
],
temperature=0.7, # 控制随机性
max_tokens=500 # 最大输出 token 数
)
# 3. 输出结果
print("回答")
print(response.choices[0].message.content)
print(f"\n消耗tokens:{response.usage.total_tokens}")
except Exception as e:
print(f"调用出错:{e}")关键参数详解
messages 中 role 的含义
顺序规则:system 必须放在最前面,然后按对话顺序排列 user 和 assistant。
你的例子:先给 AI 设定厨师身份(system),再提出具体任务(user)。
响应对象 response 的结构
response.choices[0].message.content→ 模型生成的回答文本。response.usage.total_tokens→ 本次请求消耗的总 token 数(输入 + 输出)。response.choices[0].finish_reason→ 结束原因,如"stop"(正常结束)或"length"(因max_tokens限制而截断)。
三、常见问题与排错
AI学习day1
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法