类功能
功能描述
提供知识图谱创建、检索的统一入口。
函数原型
from mx_rag.graphrag import GraphRAGPipeline GraphRAGPipeline(work_dir, llm, embedding_model, rerank_model, dim, graph_type,graph_name, kwargs)
输入参数说明
返回值说明
GraphRAGPipeline对象。
调用示例
from paddle.base import libpaddle # fix std::bad_alloc from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_community.document_loaders import TextLoader from mx_rag.chain.single_text_to_text import GraphRagText2TextChain from mx_rag.document import LoaderMng from mx_rag.embedding.local import TextEmbedding from mx_rag.graphrag import GraphRAGPipeline from mx_rag.llm import LLMParameterConfig, Text2TextLLM from mx_rag.reranker.local import LocalReranker from mx_rag.utils import ClientParam work_dir = "test_pipeline" llm = Text2TextLLM( base_url="https://x.x.x.x:port/v1/chat/completions", model_name="model_name", llm_config=LLMParameterConfig(max_tokens=64 * 1024, temperature=0.6, top_p=0.9), client_param=ClientParam(timeout=180, ca_file="/path/to/ca.crt"), ) rerank_model = LocalReranker("/data/models/bge-reranker-v2-m3/", 0, 20, False) embedding_model = TextEmbedding.create(model_path="/data/models/bge-large-en-v1.5") data_load_mng = LoaderMng() data_load_mng.register_loader(TextLoader, [".txt"]) data_load_mng.register_splitter( RecursiveCharacterTextSplitter, [".txt"], dict(chunk_size=512, chunk_overlap=20) ) graph_name = "hotpotqa" graph_type = "networkx" pipeline = GraphRAGPipeline(work_dir, llm, embedding_model, rerank_model, 1024, graph_name=graph_name, graph_type=graph_type) pipeline.upload_files(["./test_graph/hotpotqa.500.txt"], data_load_mng) pipeline.build_graph() question = "Which case was brought to court first Miller v. California or Gates v. Collier ?" contexts = pipeline.retrieve_graph(graph_name, graph_type, question) text2text_chain = GraphRagText2TextChain( llm=llm, retriever=pipeline.as_retriever(graph_name, graph_type), reranker=rerank_model) result = text2text_chain.query(question) print(f"#contexts: {len(contexts)}") print(contexts) print(result)
父主题: GraphRAGPipeline类