图书目录

目    录

第1章  拥抱大语言模型 1

1.1  大语言模型简介 1

1.1.1  大语言模型的定义 2

1.1.2  大语言模型的发展和应用场景 3

1.2  主流的大语言模型 5

1.2.1  OpenAI的大语言模型 5

1.2.2  Meta的Llama模型 7

1.2.3  Claude大语言模型 10

1.2.4  国内自研大语言模型:ChatGLM、MOSS和文心一言 12

1.3  大语言模型的开发工具LangChain 14

第2章  LangChain初体验 15

2.1  LangChain介绍和安装 15

2.1.1  什么是LangChain 15

2.1.2  环境搭建 16

2.1.3  LangChain的应用场景 20

2.2  小试牛刀:开发一个AI文章生成工具 21

2.2.1  初始化项目和配置 21

2.2.2  编写标题生成服务 23

2.2.3  编写文章生成服务 28

2.2.4  多链合并 30

2.3  LLM开发的工作原理和标准流程 33

第3章  LangChain基础模块 36

3.1  LangChain的核心概念 36

3.2  输入和输出组件 38

3.2.1  Prompt模板能力 39

3.2.2  ChatModel模块 46

3.2.3  自定义Chat Model 49

3.2.4  LLM模块的选择 50

3.2.5  输出解析器和自定义输出解析器 58

3.3  LCEL 61

3.3.1  管道操作 62

3.3.2  绑定参数的使用 64

3.3.3  invoke函数 66

3.3.4  stream函数 67

3.3.5  batch函数 67

3.4  Memory模块 68

3.5  基于输入的动态逻辑路由 71

3.5.1  RunnableLambda 72

3.5.2  RunnableBranch 73

3.6  检索 74

3.6.1  文档加载器 74

3.6.2  文本分割器 77

3.6.3  词嵌入模型 79

3.6.4  向量数据库 83

3.6.5  检索器 96

3.6.6  索引 100

第4章  企业文档智能平台实战 103

4.1  智能文档的架构设计和功能规划 103

4.2  文档加载和预处理 105

4.3  Embedding过程 108

4.4  vectorstore的选择 110

4.5  问答式检索器:QARetriever 113

4.6  自查询检索器:SelfQueryRetriever 116

4.7  多向量检索器:MultiVectorRetriever 120

4.8  多轮对话能力 126

4.9  优化会话内存管理 130

4.10  优化上下文和检索 132

第5章  旅游业AI客服实战 140

5.1  旅游服务的“痛点” 140

5.2  AI客服架构设计 141

5.3  Agent模块 144

5.3.1  Agent的基本概念 144

5.3.2  Agent的常用类型和实际使用场景 147

5.3.3  Agent Tools的使用 150

5.3.4  Agent和OpenAI整合 153

5.4  接入第三方天气API 156

5.5  第三方酒店预订API整合 161

5.6  LangGraph的使用 164

5.7  UI整合 168

5.8  本章小结 170

第6章  开发者AI Assistant实战 171

6.1  开发者的开发流程和新需求 171

6.1.1  瀑布流开发 171

6.1.2  Scrum开发 172

6.2  技术选型和架构设计 172

6.2.1  插件开发初体验 174

6.2.2  调试、编译和安装插件 176

6.3  常用Git操作的封装 177

6.3.1  自动生成注释 178

6.3.2  提交信息智能生成 181

6.3.3  智能rebase多次提交 184

6.4  基于代码仓库的智能问答和检索 188

6.4.1  加载文档 188

6.4.2  切分代码块 189

6.4.3  词嵌入和向量存储 189

6.4.4  问答功能 190

6.5  AI生成代码注释 191

6.6  文档生成 192

6.7  基于业务代码生成单元测试 193

6.8  代码漏洞检测和性能优化 195

第7章  AI代码审核实战 197

7.1  代码审核的重要性 197

7.2  AI如何进行代码审核和接入工作流 199

7.3  架构设计和场景设计 200

7.4  最佳实践预学习 201

7.5  介入合并冲突 207

7.6  客户端侧实现AI审核 208

7.7  Webhook实现AI代码审核 210

7.8  Pull Request驳回和通过的处理 213

7.9  生成代码质量报告 215

7.10  集成SonarQube 218

第8章  LangSmith实战 230

8.1  什么是LangSmith 230

8.1.1  LangSmith的基本概念 230

8.1.2  LangSmith的核心功能模块 231

8.1.3  自定义追踪设置 237

8.1.4  性能调优 240

8.2  离线方式评估LLM应用性能 242

8.3  CI交互式评估LLM应用性能 246

8.4  线上方式评估LLM应用性能 249

第9章  LangChain应用的部署实战 251

9.1  Docker方式部署 251

9.2  LangServe部署LLM应用 254

9.3  LangChain CLI 255

9.4  LangChain Templates的应用 257

9.5  案例:LangChain-Chatchat部署LLM应用 260

第10章  LangChain的生态和未来 265

10.1  LangChain生态现状 265

10.2  LangChain Hub 266

10.3  其他LLM开发框架:AutoGen 268

10.4  对LangChain的展望 273

第11章  AI商业创新 275

11.1  OpenAI的商业之路和创新 275

11.2  案例分析:Devv.ai 277

11.3  案例分析:MarsCode 280

第12章  国产之光:DeepSeek模型 283

12.1  后起之秀DeepSeek 283

12.2  DeepSeek模型系列 289

12.3  DeepSeek-R1模型 289

12.4  DeepSeek本地部署 290

12.4.1  Ollama方式部署 292

12.4.2  UI方案一:Open WebUI 293

12.4.3  UI方案二:ChatBox 296

12.5  DeepSeek云上部署 297

第13章  DeepSeek实战之编程助手 300

13.1  AI辅助编程的重要性 300

13.2  需求分析和技术架构设计 301

13.3  预学习 302

13.4  代码补全功能开发 314