【深度学习】本地运行 GraphRAG + Ollama

avatar
作者
猴君
阅读量:1

随着人工智能不断革新各个行业,对高效且经济的解决方案的需求日益增长。GraphRAG Local Ollama 应运而生,它是一款强大的 Microsoft GraphRAG 改进版,集成了使用 Ollama 下载的本地模型。这种改进让您可以告别昂贵的 OpenAPI 模型,转而采用高效、经济的本地推理。在本博文中,我们将指导您设置和使用 GraphRAG Local Ollama,展示其功能和优势。

介绍GraphRAG Local Ollama

GraphRAG Local Ollama 专为支持本地模型而设计,使其成为依赖昂贵的 OpenAPI 模型的经济替代方案。通过使用 Ollama 下载的本地模型,您可以进行高效的推理,而无需支付高额费用。

关键特征

  • 本地模型支持: 利用 Ollama 下载的本地模型,可用于语言模型 (LLM) 和嵌入式应用。
  • 经济高效: 无需依赖昂贵的 OpenAPI 模型,显著降低成本。
  • 简单易设: 安装过程简单明了,便于快速部署和实验。

安装步骤

  1. 创建并激活一个新的conda 环境

    首先,创建一个新的 conda 环境,确保所有依赖项都被隔离:

    conda create -n graphrag-ollama-local python=3.10 conda activate graphrag-ollama-local 
  2. 安装Ollama

    接下来,安装 Ollama,它将用于下载和管理本地模型:

    • 访问 Ollama 的网站获取详细的安装说明。
    • 或者,运行以下命令:
    pip install ollama 
  3. 使用Ollama下载需要的模型

    ollama pull mistral  #语言模型 ollama pull nomic-embed-text  #embedding模型 
  4. Clone 代码

    git clone <https://github.com/TheAiSingularity/graphrag-local-ollama.git> 
  5. 进入代码目录

    cd graphrag-local-ollama/ 
  6. 安装GraphRAG包

    使用以下命令安装 GraphRAG 包:

    pip install -e . 
  7. 创建所需的输入目录

    创建实验数据和结果将存储的输入目录:

    mkdir -p ./ragtest/input 
  8. 复制示例数据

    将示例数据复制到输入目录。此示例数据用于运行初始设置

    cp input/* ./ragtest/input 
  9. 初始化 ./ragtest 目录

    初始化文件夹以创建所需文件:

    python -m graphrag.index --init --root ./ragtest 
  10. 移动 settings.yaml 文件

    将预配置的 settings.yaml 文件移动到 ./ragtest 目录。该文件已配置了 Ollama 本地模型:

    mv settings.yaml ./ragtest 
  11. 构建索引

    python -m graphrag.index --root ./ragtest 
  12. 执行一个查询

    python -m graphrag.query --root ./ragtest --method global "What is machine learning?" 

保存和可视化图表

要保存图表以进行可视化,请在 settings.yaml 文件中启用 graphml 选项:

snapshots:   graphml: true 

可以使用 Gephi 之类的工具来可视化生成的 graphml 文件,或者使用提供的脚本 visualize-graphml.py,在 visualize-graphml.py 中传递 .graphml 文件的路径:

graph = nx.read_graphml('output/20240708-161630/artifacts/summarized_graph.graphml') 

运行可视化脚本

python visualize-graphml.py 

总结

通过以上步骤,您可以设置并使用本地模型与 GraphRAG,使过程更经济高效。这种方法利用了本地模型的力量,减少了对昂贵 API 的依赖,并实现了无缝的实验。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!