图书目录

目    录

第1章  提升LLM的准确性   1

1.1  大语言模型(LLM)介绍   2

1.2  LLM的局限性   6

1.2.1  知识时限问题   6

1.2.2  信息过时   7

1.2.3  纯粹幻觉   8

1.2.4  缺乏私有信息   9

1.3  克服LLM的局限性   10

1.3.1  监督微调   10

1.3.2  检索增强生成(RAG)   12

1.4  知识图谱:RAG应用的数据存储方案   16

1.5  本章小结   17

第2章  向量相似性搜索与混合搜索   19

2.1  RAG架构的组件   20

2.1.1  检索器   20

2.1.2  生成器   22

2.2  使用向量相似性搜索的RAG   23

2.2.1  RAG应用的数据准备阶段   24

2.2.2  文本语料库   24

2.2.3  文本分块函数   24

2.2.4  嵌入模型   26

2.2.5  具备向量相似性搜索函数的数据库   27

2.2.6  执行向量搜索   28

2.2.7  使用LLM生成答案   30

2.3  为RAG应用添加全文搜索以启用混合搜索   31

2.3.1  全文搜索索引   31

2.3.2  执行混合搜索   32

2.4  总结性思考   34

2.5  本章小结   34

第3章  高级向量检索策略   37

3.1  “后退提示”提示词   42

3.2  父文档检索器   44

3.3  完整的RAG管道   51

3.4  本章小结   53

第4章  从自然语言问题生成Cypher查询   55

4.1  查询语言生成的基础知识   56

4.2  查询语言生成在RAG管道中的定位   57

4.3  查询语言生成的实用实践   58

4.3.1  使用少样本示例进行上下文学习   58

4.3.2  在提示词中使用数据库模式向LLM展示知识图谱的结构   59

4.3.3  添加术语映射,将用户问题语义映射到模式   62

4.3.4  格式指令   63

4.4  使用基础模型实现text2cypher生成器   63

4.5  专门用于text2cypher的(微调)LLM   67

4.6  我们的学习收获与text2cypher的作用   67

4.7  本章小结   68

第5章  Agentic RAG   69

5.1  什么是Agentic RAG   70

5.1.1  检索器智能体   71

5.1.2  检索器路由器   71

5.1.3  答案评估器   72

5.2  为什么需要Agentic RAG   72

5.3  如何实现Agentic RAG   73

5.3.1  实现检索器工具   73

5.3.2  实现检索器路由器   77

5.3.3  实现答案评估器   82

5.3.4  整合所有组件   84

5.4  本章小结   85

第6章  使用大语言模型构建知识图谱   87

6.1  从文本中提取结构化数据   88

6.1.1  结构化输出模型定义   91

6.1.2  结构化输出提取请求   97

6.1.3  CUAD数据集   98

6.2  构建图谱   100

6.2.1  数据导入   102

6.2.2  实体解析   104

6.2.3  向图谱添加非结构化数据   106

6.3  本章小结   107

第7章  微软的GraphRAG实现   109

7.1  数据集选择   110

7.2  图索引   111

7.2.1  分块   112

7.2.2  实体与关系提取   114

7.2.3  实体和关系总结   120

7.2.4  社区检测与总结   126

7.3  图检索器   132

7.3.1  全局搜索   132

7.3.2  局部搜索   143

7.4  本章小结   152

第8章  RAG应用评估   153

8.1  设计基准数据集   155

8.2  评估   160

8.2.1  上下文召回率   160

8.2.2  忠实度   161

8.2.3  答案正确性   162

8.2.4  加载数据集   163

8.2.5  进行评估   163

8.2.6  观察结果   165

8.3  下一步计划   167

8.4  本章小结   167

附录A  Neo4j环境   169

参考文献   201