
不需要懂数学 · 不需要装 GPU · 今晚就能跑通
你手上一定有一些文档。
技术手册、产品说明、会议纪要、行业报告——几十页、几百页,平时根本没人翻。但当你需要查一个东西的时候,翻半天找不到,最后放弃了。
如果我告诉你,今晚你就能让这些文档"活过来"——你问它什么,它回答什么。你信吗?
不信正常。但你可以试试看。三小时就够了。 不信正常。但你可以试试看。三小时就够了。

🎯 今晚就能做出来的东西
选一份你手头的文档(公司制度、操作手册、甚至是你之前写的一篇文章),丢进一个程序里,然后打字问它里面的内容。它回答你。
这就是你的第一个成果。不需要联网,不需要备案,不需要跟任何人申请资源。
开始吧。
第 1 步:搭环境(30 分钟)
你要做的事
装 Python(如果还没装的话) 装 VS Code(写代码的地方) 装 Cursor(AI 帮你写代码的编辑器——初学者神器) 装几个 Python 包:打开终端,敲一行命令
具体命令
# 装在终端里敲这行:pip install openai chromadb python-dotenv
💡 如果报错了,把错误信息复制粘贴给 Cursor,它能帮你解决 90% 的问题。
✅ 这一步完成时你拥有的东西
一个能运行 Python 的电脑,VS Code 里能写代码,三个库已经装好了。(看起来很简单?对,因为真正复杂的事情在后面几步)
第 2 步:拿一份文档,写 20 行代码把内容读出来(30 分钟)
你要做的事
找一份 PDF 或 TXT 文件(随便什么内容,不需要太长) 写代码读取它 把内容按段落切开
这时候你不需要理解"为什么按段落切",你先切了再说。
代码长这样(不需要手打,让 Cursor 帮你写)
# 让 AI 帮你写这段代码:# "用 Python 读取一个 txt 文件,按空行切成段落,打印出来"# 然后把 PDF 版本的告诉它:# "用 pypdf 读取 PDF 文件,提取文字,按段落切分"
from pathlib import Pathpath = Path("/Users/mac/Documents/demo.txt")text = path.read_text(encoding="utf-8")paragraphs = [p.strip() for p in text.split("\n\n") if p.strip()]for i, p in enumerate(paragraphs, 1):print(f"--- 段落 {i} ---")print(p)print()
💡 这一步的关键不是学会 Python。是学会"让 AI 帮你写代码"。
✅ 这一步完成时你拥有的东西
一段能把你手头的文档切分成段落的代码。运行它,你能看到文档内容一段一段地列出来。
第 3 步:把段落存进向量数据库(40 分钟)
你要做的事
拿一个 OpenAI API Key(或者用免费的本地模型也可以) 把第二步切好的段落,一段一段转成"向量" 把这些向量存进 ChromaDB
"向量"是什么?你现在不需要深究。你只需要知道——它就是把文字变成了一串数字,让电脑能理解"这段话和那段话意思相近"。
让 Cursor 帮你写
把这句话复制给 Cursor:"用 OpenAI Embeddings API 和 ChromaDB,把上面第二步切好的段落存入向量数据库。每个段落单独存一条记录。"
✅ 这一步完成时你拥有的东西
你的文档已经被"数字化"地存进了一个数据库。虽然你还看不到它,但它已经在了。(小提示:可以打印一下数据库里有多少条记录,确认存进去了)
第 4 步:问它一个问题(30 分钟)
你要做的事
写代码:你输入一个问题 → 去数据库里搜最相关的段落 → 把段落和问题一起发给 GPT → GPT 回答你 这就是 RAG 的完整流程
让 Cursor 帮你写
"写一个 Python 脚本:1. 用户输入一个问题2. 用 ChromaDB 搜索最相关的 3 个段落3. 把这 3 个段落和问题一起发给 GPT4. 打印 GPT 的回答"
✅ 这一步完成时你拥有的东西
一个能回答你文档问题的工具。你问它"这篇文章主要讲了什么?"它能回答。你问它"第三部分提到的那个数据是多少?"它也能回答。你只花了两个多小时。你的文档,活了。
import chromadbfrom chromadb.utils.embedding_functions import OpenAIEmbeddingFunctionimport osef = OpenAIEmbeddingFunction(api_key=os.environ["OPENAI_API_KEY"])c = chromadb.PersistentClient(path=".chroma")col = c.get_collection("unfinished_features_doc", embedding_function=ef)col.query(query_texts=["鉴权 JWT"], n_results=3)
接下来可以做的事
上面的流程跑通之后,你已经有了一台能运转的"文档问答机器"。接下来你可以让它变得更好:
- 换一份更长的文档
(100 页的那种),看看它还能不能答对 - 把多个文档放进去
,看看它能不能跨文档找答案 - 加一个 Web 界面
(让 Cursor 帮你写一个简单的 HTML 页面)
每做完一个,你就多了一个可以说"我做的"的东西。
最后说一句:
这篇文章没有写"学完能赚多少钱"。因为那不是你现在需要关心的事。
你现在需要关心的只有一件事:今晚能不能跑通第一个 demo。
跑通了,你自然知道下一步怎么走。跑不通,评论区告诉我卡在哪一步了。
夜雨聆风