Ollama+GraphRAG本地部署教程
一、安装Ollama
Windows和Linux系统:在Terminal中输入命令:
curl -fsSL https://ollama.com/install.sh | sh
运行命令,验证安装是否成功:
ollama --version
详细教程:https://blog.csdn.net/2401_84204207/article/details/141090400
官方教程:https://github.com/ollama/ollama/blob/main/docs/linux.md
二、安装mistral和nomic-embed-text
本地使用GraphRAG,需要先在ollama中部署以下两个模型:
-
LLM:Mistral
ollama pull mistral #llm
-
embedding模型:nomic-embed-text
ollama pull nomic-embed-text #embedding
三、GraphRAG部署
Microsoft官方GitHub:https://github.com/microsoft/graphrag
Microsoft 的 GraphRAG 使用 OpenAI 的 API,因此对网络环境有要求,且使用成本较高。若想降低成本并避免网络依赖,可以参考以下步骤改用本地模型:
-
创建conda环境
conda create -n graphrag-ollama-local python=3.10 conda activate graphrag-ollama-local
-
克隆仓库,下载项目文件
git clone https://github.com/TheAiSingularity/graphrag-local-ollama.git
-
切换路径
cd graphrag-local-ollama/
-
安装graphrag包
pip install -e .
-
创建graphrag需要的 ./ragtest/input 文件夹
mkdir -p ./ragtest/input
-
将示例数据文件夹 input/ 复制到 ./ragtest中。也可在 ./ragtest/input 文件夹中放入txt格式的数据
cp input/* ./ragtest/input
-
初始化 ./ragtest文件夹,获取必要文件
python -m graphrag.index --init --root ./ragtest
-
移动 settings.yaml 文件,这是使用 ollama 本地模型配置的主要预定义配置文件
cp settings.yaml ./ragtest
如果在按照教程安装时出现缺少 prompts
文件夹的情况,请按照以下步骤添加该文件夹:
-
下载graphrag库
pip install graphrag
-
创建文件夹 ./ragtest1/
mkdir -p ./ragtest1/input
-
初始化工作区
python -m graphrag.index --init --root ./ragtest1
-
将ragtest1中的prompts拷到现在项目中的ragtest下
详细教程:https://github.com/TheAiSingularity/graphrag-local-ollama
四、运行GraphRAG
-
运行索引,创建graph
python -m graphrag.index --root ./ragtest
-
运行查询(仅支持全局方法)
python -m graphrag.query --root ./ragtest --method global "What is machinelearning?"
五、在Python代码中运行查询
可以使用 Python 的 subprocess
模块来执行查询的命令,示例如下:
import subprocess
# 定义命令
command = "python -m graphrag.query --root ./ragtest --method global \"What is machinelearning?\""
# 执行命令并获取输出
proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
outinfo, errinfo = proc.communicate()
# 打印输出内容
print(outinfo.decode("utf-8")) # 获取标准输出
print(errinfo.decode("utf-8")) # 获取错误输出