# AI 相关概念
# 什么是 RAG
RAG (Retrieval-Augmented Generation) 是一种结合上下文检索和生成的 AI 技术,用于增强大语言模型的准确性和可靠性。
# 核心概念
RAG 通过以下步骤工作:
- 文档处理:将知识库文档切分成小块(chunks)
- 向量化:使用 embedding 模型将文本块转换为向量
- 存储:将向量存储在向量数据库中(如 Pinecone、Weaviate、Milvus)
- 检索:用户提问时,将问题向量化,从数据库中检索最相关的文本块
- 增强:将检索到的相关内容作为上下文注入到提示词中
- 生成:LLM 基于增强的上下文生成回答
# 优势
- 减少幻觉:基于真实数据生成答案
- 知识更新:无需重新训练模型即可更新知识
- 可追溯性:可以引用信息来源
- 成本效益:相比微调模型成本更低
# 应用场景
- 企业知识库问答
- 客服智能助手
- 技术文档查询
- 个人笔记搜索
# 面试要点
# RAG vs Fine-tuning 对比
RAG:
- 适合需要访问最新信息的场景
- 实现简单,快速部署
- 可以引用数据源
Fine-tuning:
- 适合学习特定风格或格式
- 需要大量训练数据
- 训练成本高,更新困难
# 常用技术栈
- Embedding 模型:OpenAI text-embedding-3、BGE、M3E
- 向量数据库:ChromaDB、FAISS、Qdrant
- 框架:LangChain、LlamaIndex
# 什么是 MCP
MCP (Model Context Protocol) 是一个开放协议,用于连接 AI 助手与外部数据源和工具。
# 核心概念
MCP 定义了标准化的方式让 AI 模型:
- 连接数据源:访问本地文件、数据库、API 等
- 执行工具:运行脚本、调用函数
- 上下文共享:在不同会话间共享状态
# 架构
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Client │────▶│ Server │────▶│ Resources │
│ (AI 助手) │ │ (MCP 服务) │ │ (数据/工具) │
└─────────────┘ └─────────────┘ └─────────────┘
# 优势
- 标准化:统一的接口协议
- 安全性:明确的权限控制
- 可扩展:轻松添加新的数据源
- 跨平台:支持多种 AI 应用
# 应用示例
- 读取本地代码仓库
- 执行数据库查询
- 调用外部 API
- 文件系统操作
# 面试要点
MCP 解决了 AI 应用的关键问题:
- 如何让 AI 访问实时数据
- 如何安全地执行操作
- 如何扩展 AI 能力
# 常见 AI 面试题汇总
# 1. LLM 基础
Q: 什么是 Transformer 架构?
- 自注意力机制(Self-Attention)
- 编码器-解码器结构
- 并行计算能力
- 位置编码
Q: 解释 Temperature 参数
- 控制输出的随机性
- 低温度(0.1-0.3):更确定、聚焦
- 高温度(0.7-1.0):更有创意、多样化
Q: 什么是 Token?
- LLM 处理文本的基本单位
- 1 token ≈ 0.75 个英文单词或 2-3 个汉字
- 影响计费和上下文窗口
# 2. AI 应用开发
Q: 如何处理 LLM 的上下文限制?
- 滑动窗口:保留最近的对话
- 总结压缩:将旧对话总结后保留
- 向量检索:只检索相关信息(RAG)
- 分段处理:将任务分解为多个小任务
Q: 如何评估 AI 应用的质量?
- 准确性:答案是否正确
- 相关性:是否回答了问题
- 完整性:信息是否充分
- 用户体验:响应速度、交互流畅度
- 成本:Token 消耗、API 调用次数
# 实战技巧
# 向量数据库选择
| 数据库 | 特点 | 适用场景 |
|---|---|---|
| ChromaDB | 轻量、易用 | 原型开发、小规模应用 |
| Pinecone | 托管服务、高性能 | 生产环境、大规模应用 |
| FAISS | 开源、高效 | 本地部署、成本敏感 |
| Qdrant | 过滤支持好 | 需要复杂过滤查询 |
# 成本优化
- 使用更小的模型:简单任务用小模型
- 缓存机制:相同问题直接返回缓存
- Prompt 压缩:去除冗余信息
- 批量处理:合并多个请求