L33. 综合实战 B:AI 客服机器人
Vibe Coding 宣言:不会用 LLM (大模型) API 的程序员,就像不会用电的原始人。
0. 为什么这一课至关重要? (Why It Matters)
- RAG (检索增强生成):这是目前最火的 AI 应用方向。让大模型基于你的知识库回答问题,而不是瞎编。
- API 调用:学会调用 OpenAI/Claude/Gemini 的 API,你就拥有了最强的大脑。
- 全链路打通:从用户提问 -> 检索文档 -> AI 生成 -> 返回答案。
1. 目标 (Goal)
搭建一个 智能客服机器人,能够基于你提供的文档(如公司手册、产品说明书)回答用户问题。
2. 核心概念/装备/指令 (The Core)
2.1 LLM API (The Brain)
- Prompt: 你问它的问题。
- Context: 你喂给它的背景资料。
- Response: 它生成的回答。
2.2 RAG (The Memory)
- Embedding: 把文档变成向量(一堆数字)。
- Vector DB: 存向量的数据库(如 Pinecone/Chroma)。
- Search: 根据用户问题,找出最相关的文档片段。
- Generate: 把片段喂给 LLM,让它总结。
3. 实战演练 (Action)
Step 1: 准备文档
找一份 PDF 或 Markdown 文档(比如你的简历、公司介绍)。
Step 2: 搭建 RAG 流程
使用 LangChain 或 LlamaIndex(太重了?手写也行)。 简单版:
python
import openai
def get_answer(question, context):
prompt = f"""
基于以下资料回答问题:
{context}
问题:{question}
"""
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.contentStep 3: 接入前端
做一个简单的聊天界面(参考 L21 Streamlit 或 L22 React)。 用户输入问题 -> 后端调用 LLM -> 显示答案。
4. 常见问题 (FAQ - Vibe Style)
Q: API Key 要钱吗? A: 要。 但很便宜。几块钱能玩很久。也可以用国内的 DeepSeek/Kimi API,更便宜。
Q: 文档太长怎么办? A: 切片 (Chunking)。 把长文档切成 500 字一段的小块。每次只把相关的几块喂给 AI。
Q: 回答不准确怎么办? A: 优化 Prompt。 告诉 AI “如果资料里没有答案,请直接说不知道,不要瞎编”。
5. 验收标准 (Definition of Done)
- 你有一个聊天界面。
- 上传一份文档(比如“Vibe Coding 课程表”)。
- 问它:“Vibe Coding 有多少课时?” 它能准确回答“36 课时”。
Next Mission: L34. 复杂场景应对:当系统变大时