Graph RAG
本指南介绍了图 RAG。有关所有支持的功能和配置的详细文档,请参阅图 RAG 项目页面。
概述
来自 `langchain-graph-retriever` 包的 `GraphRetriever` 提供了一个 LangChain 检索器,它结合了向量的非结构化相似性搜索和元数据属性的结构化遍历。这可以在现有向量存储上实现基于图的检索。
集成详情
检索器 | 来源 | PyPI 包 | 最新 | 项目页面 |
---|---|---|---|---|
GraphRetriever | github.com/datastax/graph-rag | langchain-graph-retriever | Graph RAG |
优点
-
基于现有元数据链接:无需额外处理即可使用现有元数据字段。从现有向量存储中检索更多内容!
-
按需更改链接:可以动态指定边,从而允许根据问题遍历不同的关系。
-
可插拔的遍历策略:使用内置的遍历策略,如 Eager 或 MMR,或定义自定义逻辑以选择要探索的节点。
-
广泛兼容性:提供了多种向量存储的适配器,并且可以轻松添加对其他存储的支持。
设置
安装
此检索器位于 `langchain-graph-retriever` 包中。
pip install -qU langchain-graph-retriever
实例化
以下示例将展示如何对一些关于动物的示例文档执行图遍历。
先决条件
切换详情
-
确保您已安装 Python 3.10+
-
安装提供示例数据的以下包。
pip install -qU graph_rag_example_helpers
-
下载测试文档
from graph_rag_example_helpers.datasets.animals import fetch_documents
animals = fetch_documents() -
选择 嵌入模型
- OpenAI
- Azure
- Google Gemini
- Google Vertex
- AWS
- HuggingFace
- Ollama
- Cohere
- MistralAI
- Nomic
- NVIDIA
- Voyage AI
- IBM watsonx
- Fake
pip install -qU langchain-openai
import getpass
import os
if not os.environ.get("OPENAI_API_KEY"):
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key for OpenAI: ")
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(model="text-embedding-3-large")