Q: Chain 和 Agent 有什么区别?

Chain:预定义的固定流程,每次执行相同步骤。
Agent:动态决策,根据输入决定执行哪些操作和工具。
简单任务用 Chain,复杂决策用 Agent。

Q: 如何选择 Memory 类型?

短对话:ConversationBufferMemory
长对话:ConversationSummaryMemory
需要控制 token:ConversationBufferWindowMemory
长期记忆:VectorStoreMemory

Q: RAG 如何提高检索质量?

1. 优化 chunk_size 和 chunk_overlap
2. 使用更好的 Embedding 模型
3. 添加 reranking 重排序
4. 使用 Hybrid Search(关键词+向量)
5. 优化 prompt 模板

Q: 如何调试 LangChain 应用?

1. 使用 LangSmith 进行追踪
2. 设置 verbose=True 查看详细过程
3. 使用 callback 回调函数
4. 打印中间结果

Q: LCEL 和传统 Chain 有什么区别?

LCEL(LangChain Expression Language)是新的链构建方式:
• 使用 | 运算符连接组件
• 更简洁、更易读
• 支持流式、批处理
• 推荐使用 LCEL

Q: 如何部署 LangChain 应用?

1. LangServe:官方部署方案
2. FastAPI:自己封装 API
3. LangSmith:托管部署
4. Docker:容器化部署

Q: 如何使用本地模型?

1. 安装 Ollama
2. 下载模型:ollama pull llama3.1
3. 使用 langchain_community.llms.Ollama

Q: Token 超限怎么办?

1. 使用 ConversationSummaryMemory 压缩历史
2. 减少 chunk 数量
3. 使用更短的 prompt
4. 选择更大 context 的模型

上一页:模型集成