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

随着人工智能不断革新各个行业,对高效且经济的解决方案的需求日益增长。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 的依赖,并实现了无缝的实验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/45374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

45、tomcat+课后实验

tomcat 1、tomcat tomcat和php一样&#xff0c;都是用来处理动态页面的。 tomcat也可以作为web应用服务器&#xff0c;开源的。 php .php tomcat .jsp nginx .html tomcat 是用Java代码写的程序&#xff0c;运行的是Java的web应用程序。 tomcat的特点和功能&#xff1a…

前端调试技巧(npm Link,vscode调试,浏览器调试等)

Npm Link 功能&#xff1a; 在本地开发npm模块的时候&#xff0c;我们可以使用npm link命令&#xff0c;将npm 模块链接到对应的运行项目中去&#xff0c;方便地对模块进行调试和测试 断点调试 vscode调试 Debug Vue2 Project 目标&#xff1a;在VSCode中调试项目代码…

DockerFile文件解析

DockerFile 要研究自己如何做一个镜像&#xff0c;而且微服务项目打包上云部署&#xff0c;Docker就是最方便的。 微服务打包成镜像&#xff0c;任何装了Docker的地方&#xff0c;都可以下载使用&#xff0c;极其的方便。 流程&#xff1a;开发应用>DockerFile>打包为…

vue3 高德地图api加载热力图及关闭 JSAPI v1.4.15

高德地图api加载天地图和2D热力图及关闭 JSAPI v1.4.15 地图API地址 [http://lbs.tianditu.gov.cn/server/MapService.html](http://lbs.tianditu.gov.cn/server/MapService.html)高德地图2D热力图地址 [https://lbs.amap.com/demo/loca-api/demos/loca_heatmap/loca_heatmap_…

负载均衡-轮询-两种简易实现

1、描述 下游可用的服务器目前有5个&#xff08;node&#xff09;&#xff0c;设计一个方法&#xff0c;方法没有任何参数&#xff0c;采用轮询的方式返回其中一个node&#xff1b; 2、使用环形链表 每次取下一个node即可。注意&#xff1a;需要保证线程安全&#xff01; // …

安泰高压功率放大器主要应用场景有哪些

高压功率放大器是一种专门设计用于处理高电压信号并提供大功率输出的设备。它们在各种领域中发挥着重要作用&#xff0c;以下是它们的主要应用场景和特点。 一、医疗设备 医疗成像&#xff1a;高压功率放大器在医疗成像设备中扮演关键角色&#xff0c;例如X射线设备和CT扫描仪。…

C++语法提高B-hook机制

Hook 机制 Hook 机制 是一种用于拦截和处理系统事件或函数调用的方法。通过 Hook 机制&#xff0c;程序可以在特定的事件发生时或函数调用之前、之后进行自定义操作。Hook 机制广泛应用于调试、性能监控、安全审计、功能扩展等领域。 Hook 机制的类型及实现方法 1. 消息 Hoo…

【启明智显分享】乐鑫HMI方案4.3寸触摸串口屏应用于称重测力控制仪表

称重测力控制仪表是将称重传感器信号&#xff08;或再通过重量变送器&#xff09;转换为重量数字显示&#xff0c;并可对重量数据进行传输、储存、统计、打印的电子设备&#xff0c;常用于工农业生产中的自动化配料&#xff0c;称重&#xff0c;以提高生产效率。随着工业化的发…

STM32F103RC使用HAL库对FLASH的擦除与写入

目录 STM32F103RC使用HAL库对FLASH的擦除与写入&#xff08;代码模块&#xff09; 一、芯片FLASH简介 二、FALSH的擦除 三、FALSH的写入 STM32F103RC使用HAL库对FLASH的擦除与写入&#xff08;代码模块&#xff09; 一、芯片FLASH简介 stm32f103rc芯片的flash大小为256KB&…

TC4056A 1A线性锂离子电池充电器芯片IC

产品描述 TC4056A是一款完整的单节锂离子电池采用恒定电流/恒定电压线性充电器。其底部带有散热片的ESOP8/DIP8封装与较少的外部元件数目使得TC4056A成为便携式应用的理想选择TC4056A可以适合USB电源和适配器电源工作。 由于采用了内部PMOSFET架构&#xff0c;加…

《ElementUI/Plus 基础知识》el-tree 之修改可拖拽节点的高亮背景和线

前言 收到需求&#xff0c;PM 觉得可拖拽节点的高亮背景和线样式不明显&#xff01;CSS 样式得改&#xff01; 注意&#xff1a;下述方式适用于ElementUI el-tree 和 ElementPlus el-tree&#xff01; 修改 拖拽被叠加节点的背景色和文字 关键类名 is-drop-inner .el-tree…

从机器语言到现代编程语言的飞跃

在人类追求自动化与智能化的道路上&#xff0c;编程语言作为连接人类思维与计算机执行能力的桥梁&#xff0c;经历了从原始到现代的巨大飞跃。本文将带您穿越时间的长河&#xff0c;探索编程语言从最初的机器语言到如今多样化、高级化的演变历程。 机器语言与汇编语言&#xf…

C++语法提高A-字节对齐

字节对齐 字节对齐&#xff08;Byte Alignment&#xff09; 是计算机内存管理中的一个重要概念&#xff0c;指的是数据在内存中存储时&#xff0c;其地址应该是某个特定字节数的整数倍。不同的处理器和操作系统可能要求不同的对齐方式&#xff0c;以提高数据访问效率和保证正确…

Day02-ES集群常见术语,索引管理,文档管理,IK分词器,数据类型映射及kibana环境安装

Day02-ES集群常见术语&#xff0c;索引管理&#xff0c;文档管理&#xff0c;IK分词器&#xff0c;数据类型映射及kibana环境安装 1、昨日内容回顾2、今日内容预告3、ES的常见术语4、索引管理4.1 查看索引4.2 创建索引4.3 修改索引4.4 删除索引4.5 索引别名4.6 关闭索引4.7 打开…

C# AGV小车通讯开发的方法

AGV (Automated Guided Vehicle) 小车的通讯开发通常涉及与AGV控制系统或调度系统的数据交换。在C#中实现AGV小车通讯&#xff0c;可以采用多种方法&#xff0c;具体取决于AGV的通信协议和硬件接口。以下是一些常用的开发方法&#xff1a; 1. 串行通讯 (Serial Communication)…

FakeNewsGPT4:通过知识增强的大规模视觉语言模型推进多模态假新闻检测

FakeNewsGPT4: Advancing Multimodal Fake News Detection through Knowledge-Augmented LVLMs 1.概述 当前,多模态假新闻的大量涌现导致了显著的分布差异,这一现状亟需我们开发具备广泛适用性的检测器。然而,现有假新闻检测器因特定领域内的训练方式,难以有效获取开放世…

<数据集>Udacity交通目标识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;13239张&#xff08;实际有15000张&#xff0c;但其中1761张无标签的图片被我去除掉&#xff09; 标注数量(xml文件个数)&#xff1a;13239 标注数量(txt文件个数)&#xff1a;13239 标注类别数&#xff1a;11 标注…

护网--1

实验要求&#xff1a; 实现过程&#xff1a; &#xff08;一&#xff09;配置防火墙接口&#xff1a; 在防火墙上创建两个子接口&#xff1a;1/0/1.1 1/0/1.2 在浏览器上用视图界面配置接口&#xff1a; 到服务器&#xff1a; 到生产区&#xff1a; 到办公区&#xff1a; 到…

离线下载linux mysql和mysql基本库

下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 选择数据库版本&#xff0c;系统&#xff0c;系统版本信息 下载需要的rpm包&#xff0c;传入服务器&#xff0c;使用yum install xxx.rpm安装即可 mysql-community下载地址 https://dev.mysql.com/downloads/my…

专业无线麦克风品牌排行榜,无线麦克风哪个品牌音质最好

在数字化的浪潮中&#xff0c;个人创作与表达的舞台日益宽广。无论是专业的影像工匠、热情四溢的播客主播&#xff0c;亦或是生活点滴的记录者——Vlogger&#xff0c;一套卓越的音频装备是确保声音纯净、无瑕传递给观众的基石。无线领夹麦克风凭借其携带方便、操作简便以及卓越…