图 RAG
此指南提供了关于 Graph RAG 的入门介绍。要查阅所有支持功能和配置的详细文档,请参阅 Graph RAG 项目页面。
概览
The GraphRetriever from the langchain-graph-retriever package provides a LangChain
retriever that combines 非结构化相似度搜索
on vectors with 结构化元数据属性遍历。这使您能够在现有的向量存储上进行基于图的检索。
集成细节
| 检索器 | 来源 | PyPi 包 | 最新 | 项目页面 |
|---|---|---|---|---|
| GraphRetriever | github.com/datastax/graph-rag | langchain-graph-retriever | Graph RAG |
益处
-
基于现有元数据的链接: 使用现有的元数据字段而无需额外处理。从 现有的向量存储中检索更多信息!
-
根据需求更改链接: Edges可以实时指定,允许根据不同问题遍历不同的关系。
-
可插拔遍历策略: 使用内置的遍历策略,如Eager或MMR,或者定义自定义逻辑来选择要探索的节点。
-
广泛兼容性: 适集成支持多种向量存储,并且可以轻松添加其他存储。
设置
安装
这个检索器位于langchain-graph-retriever包中。
pip install -qU langchain-graph-retriever
Instantiation
以下示例将展示如何对一些关于动物的样本文档进行图遍历。
前置条件
切换以查看详细信息
-
确保已安装 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
- AWS
- HuggingFace
- Ollama
- Cohere
- Mistral AI
- Nomic
- 英伟达
- Voyage AI
- IBM watsonx
- 假
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")