本地运行的LM平台
就像很多人一样,我读了微软关于GraphRAG模型的论文,也想尝试运行一下。然而,这需要调用很多次一个兼容OpenAI的模型,这很快就会变得很贵。听说可以在本地运行这些模型而无需产生费用,我想试一试自己来做。我打算记录下我的步骤(并计划写一篇博客分享这个过程)。
- 第一步 — 设置一个具有聊天和嵌入服务端点的本地 OpenAI 兼容服务器,并与 Microsoft GraphRAG 一起使用。
- 部分 2 — 将 Microsoft GraphRAG 的输出上传到知识图(该知识图存储在 RDF 三元组存储中)(我将使用 GraphDB)
- 部分 3 — 使用填充的知识图来提高 RAG 查询的结果质量(使用 SPARQL 1.1)
我知道已经有很多关于做第一部分的博客文章了,所以如果你已经熟悉这个部分并且已经完成了相关输出,请直接跳到第二部分。
基于本地的服务器需求在选择本地服务器时,我对它有一些特定的要求,这些要求与微软的GraphRAG的工作方式相匹配。
- 可以使用 GGUF 格式的模型,并且支持聊天和嵌入功能的端点
- 支持聊天和嵌入功能
- 开源
- 能够在我的本地机器上运行
- 不会将我的数据传给外部网站
我为什么要求使用GGUF格式的模型?这些LLM模型果然名副其实——它们确实很大!当你保存训练好的模型及其权重时,生成的文件大小会达到很多吉字节。为了减小文件大小,可以将它们转换成GGUF格式。这不仅减少了文件大小,还加快了模型加载速度。关于这一点的更多详细信息,请参见文章末尾的资源列表。
llama.cpp注:这是一个名为 "llama.cpp" 的文件,可能是指某种特定的代码示例或项目文件,在中文语境中可能不太熟悉。
大多数可以在本地运行的服务器看起来都是基于一个名为llama.cpp的开源产品构建的。他们网站上提供了一个使用该产品的界面列表。这个列表非常有用,因为这意味着所有这些界面都能支持GGUF格式的模型。
我一开始使用的是Ollama,但是,到了最新版本,你需要将GGUF文件导入他们的系统,他们会将其转换成他们的专有格式。同样地,如果你直接下载文件,也会遇到同样的情况。我不太喜欢看不到GGUF文件的样子,所以我选择了另一个界面,也就是列表中的LM Studio。
LM工作室下载完最新版本的LM Studio后,我下载了一个模型用于聊天(我使用的是Meta-Llama-3.1–8B-Instruct-Q4_K_M.gguf),以及一个用于嵌入的模型(我使用的是bge-large-en-v1.5-f32.gguf)。这两个模型都表现得很好,我将在下一篇博客文章中展示这些结果。
设置:为了使模型更好地配合Microsoft GraphRAG,有一些地方需要进行调整。下载并安装好我们将使用的模型后,选择加载这些模型。
加载模型文件
在右侧,你会看到服务器的设置。当加载模型时,这些设置会被设定,并且会有一些默认设置被选中。其中有一个默认设置我们需要更改——即上下文的长度。随着模型不断改进并变得越来越大,它们也能支持更长的上下文长度。加载模型时,它会设定上下文的长度上限。但默认的上下文长度仅为400,这显然太短了。为了处理大段文本,我将上下文长度调整到了30,000(GraphRAG的默认设置则是12,000)。
服务器参数设置
接下来是加载嵌入模型。
启动模型
现在我们可以配置 Microsoft GraphRAG 并用这个本地服务器运行它。
启动 Microsoft GraphRAG:如果,按照“入门指南”页面操作并创建了初始环境之后,接下来你需要调整在“ragtest”文件夹中生成的2个文件。
.env 配置文件这通常用来存储您的OpenAI账户的API密钥。在我们的设置中,我们只需把密钥值改成“lm-studio”。
设置.yaml (注:此文件用于配置相关设置)这份文件中需要修改的重要内容是
- 我们在使用的OpenAI聊天API(第6行和第36行)
- 大语言模型的名称(第7行)
- 最大token数(第9行)
- API基础(LM Studio中显示的,第11行)
- 线程数量。我将其设置为1,因为我在同一台机器上还运行了LM Studio(第27行)
- 嵌入模型名称(第37行)
- 分块大小。新的默认值是1200,但我将其设为旧值300,以获得更好的效果(第51行)
现在我们只需要运行以下命令来启动GraphRAG:
python -m graphrag.index – root ./ragtest # 这里是Python命令
查看提示步骤
如果你想查看更多由Microsoft GraphRAG生成的对话提示,你只需要在LM Studio中将“详细模式”开关打开。
详细设置显示为聊天中的提示
运行完GraphRAG后生成了相应的输出文件,就可以开始第二部分了,创建RDF知识图谱。
资料- Microsoft的GraphRAG:https://microsoft.github.io/graphrag/
- llama.cpp:https://github.com/ggerganov/llama.cpp
- LM Studio:https://lmstudio.ai/
- Ollama:https://ollama.com/
- GGUF:https://github.com/ggerganov/ggml/blob/master/docs/gguf.md
共同学习,写下你的评论
评论加载中...
作者其他优质文章