Skip to content

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)

  1. Embedding: 把文档变成向量(一堆数字)。
  2. Vector DB: 存向量的数据库(如 Pinecone/Chroma)。
  3. Search: 根据用户问题,找出最相关的文档片段。
  4. Generate: 把片段喂给 LLM,让它总结。

3. 实战演练 (Action)

Step 1: 准备文档

找一份 PDF 或 Markdown 文档(比如你的简历、公司介绍)。

Step 2: 搭建 RAG 流程

使用 LangChainLlamaIndex(太重了?手写也行)。 简单版:

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.content

Step 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)

  1. 你有一个聊天界面。
  2. 上传一份文档(比如“Vibe Coding 课程表”)。
  3. 问它:“Vibe Coding 有多少课时?” 它能准确回答“36 课时”。

Next Mission: L34. 复杂场景应对:当系统变大时

基于 Claude Code 构建