微软Graphrag+ollama实现本地部署 使用qwen2.5模型

为什么不直接跑微软的Graphrag源码,而要ollama部署到本地呢?答案也是非常简单,直接跑这个项目的话,需要openai的apikey,花tokens,很烧money!!!而通过ollama部署到本地,就可以轻松免费玩Graphrag。

代码大家可以去github上下载到本地 :https://github.com/NanGePlus/GraphragTest

1、预备任务

如果要在服务器上跑,需要在服务器中下载Anaconda、ollama。

如果是可视化的服务器比如autodl,那么需要将代码上传到服务器上。

如果是学生党用实验室的服务器,那么就需要将pycharm与服务器连上。

在下边这篇文章中写了如何在服务器中下载ollama,如何在ollama中下载模型,有需要的可以参考。如何下载Anaconda,待我整理后分享给大家。写文章-优快云创作中心icon-default.png?t=O83Ahttps://mp.youkuaiyun.com/mp_blog/creation/editor/144485640

如果在本地跑,就在本地下好Anaconda和ollama。

2、创建虚拟环境(在pycharm开终端或者其他常用的地方都可以)

#创建虚拟环境
conda create --name graphragollama python==3.11

出现以下提示,输入y,按回车

然后激活虚拟环境

#激活虚拟环境
 conda activate graphragollama

3、安装依赖

进入项目所在包下

安装所有依赖

#安装依赖
pip install -r requirements.txt

如果没有安装成功就打开 requirements.txt文件用pip install 命令一个一个的安装。

#安装graphrag包
pip install graphrag==0.3.0

 安装完成通过pip list 查看所有包

4、新建该项目所需文件夹

mkdir ragollama2.5
cd ragollama2.5
mkdir input
mkdir inputs
mkdir cache

完成后就是这样的

5、准备数据

将other/text/下的所有数据复制到刚刚新建的input文件夹下,如果想先测试一下模型有没有错误,可以先复制一部分,因为全部复制下来后边构建索引很费时间。

6、开启ollama服务

启动ollama服务,并且下载好所需要的模型,在上边那篇文章中有详细讲解,大家可以去看看

#启动ollama
ollama serve

7、进行初始化

python -m graphrag.index --init --root ./

完成以后会自动新建一些文件

更改.env和settings.yaml文件内容:直接把other/temp/文件夹下的.env和settings.yaml 文件中的内容复制到里边,可以把.env中注释掉的部分删除,把模型改为自己的模型,这里我用的llm模型是qwen2.5。

setting.yaml中需要修改以下地方

8、优化提示词

这步可做可不做,优化提示词后,可以让模型的回复更加接近与你所提供的文档

python -m graphrag.prompt_tune --config ./settings.yaml --root ./ --no-entity-types --language Chinese --output ./prompts

这步需要等一下,出现以下内容就成功了。 

同时,prompt中的给大模型的示例会变为与提供的数据相关的内容

9、构建索引

这步是最重要的,能不能成功就看这步,并且需要花费很长时间

#构建索引
python -m graphrag.index --root ./

 在构建的时候,如果看到有十几分钟都是0%,也是正常的。(前提需要将ollama服务启动,构建索引的时候就可以看看开启ollama服务的终端有没有反应)

成功以后就是这样的

并且在inputs/artifacts/文件夹下会新增许多以.parquet结尾的文件

如果没有成功,可以看一下日志文件,找到出错的地方,我在开始的时候用的qwen2模型,构建base_entity_graph一直不成功,像下面图片中一样。我就换了一个模型,llama3.1:latest  (8b) 和qwen2.5:latest  (7b) 模型都是可以成功的。

10、测试graphrag

将other下的utils文件夹,整个复制到ragollama2.5 文件夹下。修改main.py中的INPUT_DIR地址,通过pwd查看地址,复制过去,千万不要忘记/inputs/artifacts

model改为自己用的模型

Embedding模型也改为自己的

然后进入utils文件夹下,要先运行main.py脚本

cd utils
python main.py

然后再开一个终端,进入utils文件夹,运行apiTest.py文件(这个文件中可以选择要进行本地搜索还是全局搜索)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值