摘要
▌一、ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: var(--articleFontsize);letter-spacing: 0.034em;">图数据库在 RAG 系统中的价值
[Alice]-[职业]->[数据科学家][Alice]-[曾工作于]->[Google]
高效的推理能力:图数据库支持复杂的路径查询和推理。比如:
查询“某人是否与某公司存在间接关系”。
推理“事件 A 是否可能引发事件 B”。
数据来源:从结构化数据(如数据库表格)和非结构化数据(如文档、网页)中提取实体和关系。
知识抽取:利用 NLP 工具、规则或者大语言模型进行实体识别(NER)和关系抽取。
存储到图数据库:将提取的实体和关系根据图数据库的存储模型转写对应的查询语句存储为节点和边。
在这个过程中,原始数据、知识片段和实体关系三者的关联同样需要持久化到图数据库中,以支持后续的查询和推理。
上面提到的是一般的构建过程,在一些简单的场景,比如文章、书籍内部的知识关联,可以天然利用目录信息、文件层次结构等构建简单的图谱。
动态拓展图谱:
非结构化数据处理:图数据库通常不适用于直接存储大段非结构化文本,向量数据库可以通过将文本转化为向量嵌入来存储它们的语义信息。
NebulaGraph 5.x 版支持原生的向量存储和检索能力,并且提供 GenAI Ready 的 SDK 从而可以消除整合不同技术栈的挑战。
通过关联图数据库和向量数据库,可以有效结合知识的关联关系和语义信息,从而实现更加高效的知识检索和推理。
识别用户问题指向性
用户提出问题后,首先可以利用 nlp 技术或者大模型进行意图识别,以确定用户问题的指向性。
如果指向明确,可以有效提取对应的实体,并利用图数据库进行查询。
如果指向不明确,可以利用向量数据库进行语义检索,以获取相关内容。
在图数据库中查询关联
将提取出的实体作为输入,在图数据库中查询它们之间的关系,或验证某些假设性关系是否存在。
将对应的实体和关系网络、语义信息整合,形成一个完整的上下文。
整合结果
利用向量数据库返回的非结构化内容(如文档片段)与图数据库的结构化结果结合,形成一个完整的上下文,供生成模型使用。
如何节约 token
1. 图谱裁剪:
在查询结果中,仅返回与问题直接相关的实体和关系。例如,针对“Bob 是否与 Alice 相关?”的问题,只返回直接连接 Bob 和 Alice 的路径,而忽略其他不相关的节点。
2. 摘要生成:
3. 层次化问答:
如何消歧
1. 上下文消歧:
2. 实体类型约束:
3. 反馈机制:
4. 联合检索:
▌五、总结
图数据库擅长描绘知识的结构,而向量数据库补充了语义的细节。在 RAG 系统中,它们各司其职,共同实现了高效、可解释的知识生成,从而可以应对更复杂场景和专业领域下的挑战。
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |