当前位置:   article > 正文

GraphRAG+ollama+Lmstudio实操完整详细流程_lmstudio+ollama

lmstudio+ollama

在我之前的博客:本地部署graphGAG_graphrag 本地部署-CSDN博客中,我完成到了初始化GraphRAG这里,之后的大模型Api没有调用,本文记录了整个GraphRAG+ollama+Lmstudio实操完整详细流程。包括完整的GraphRAG的操作,ollama的端口获取、Lmstudio完整的模型下载和Api获取。小白学习,可供大家参考。

Grphrag理论学习

GraphRAG的两个主要阶段:

构建图索引:

实体知识图谱:从源文档中提取重要的元素,如人物、地点、事件等,这些被称为“实体”。这些实体通过它们之间的关系(例如,“工作于”或“位于”)连接起来,形成一个网络或图。
图的其他元素:除了实体和关系,图还包括附加信息,如“声明”(即关于实体的陈述或属性),这有助于更好地理解和分类实体。
预生成社区摘要:

社区检测:使用算法(如Leiden算法)分析图,找出紧密相关的实体群体。这些群体被称为“社区”,在这里,社区意味着一组相互紧密联系的实体和信息。
生成社区摘要:每个社区的信息被提取并总结,这一步骤是自动完成的,利用大型语言模型来生成每个社区的摘要或概述。
查询处理:

当提出一个查询(即一个问题或信息需求)时,系统不仅查找与这个查询直接相关的单个实体,而是在与查询相关的各个社区上运行,汇总所有相关社区的信息,生成一个全面的、针对该查询的“全局答案”。
GraphRAG 通过创建一个从文档中派生的、结构化的信息图,自动组织和总结这些信息,然后在需要时提供详尽的、上下文丰富的回答。

在您描述的流程中,大模型和嵌入模型的应用主要体现在几个关键步骤中。这些步骤涉及自然语言处理(NLP)和图数据处理,其中大模型通常指的是预训练的大型神经网络模型,如BERT、GPT系列、RoBERTa等,而嵌入模型则可能指的是用于生成节点或文本嵌入的模型。以下是每个步骤中大模型和嵌入模型的具体应用:

  1. Source Documents → Text Chunks
    • 这个步骤更多的是文本预处理,如分词、句子分割等,为后续的文本处理做准备。
  2. Text Chunks → Element Instances
    • 大模型应用:此步骤中,大模型(如BERT、GPT等)可以用于从文本块中提取出图节点和边的实例。这通常涉及到命名实体识别(NER)、关系抽取等NLP任务。
    • 嵌入模型应用(隐含):为了更好地表示这些实例(节点和边),可能会使用嵌入模型来生成它们的向量表示。这些嵌入可以是文本嵌入(如BERT生成的词嵌入),也可以是图嵌入(如果节点和边已经被表示为图结构)。
  3. Element Instances → Element Summaries
    • 大模型应用:在这一步,大模型被用来为每个图元素(节点或边)生成摘要。这可以看作是一种文本生成任务,其中大模型(如GPT系列)基于元素实例的上下文和内容,生成简洁的描述性文本。
  4. Element Summaries → Graph Communities
    • 在这一步,主要使用的是图算法(如社区检测算法)而不是大模型或嵌入模型。然而,在准备图数据以进行社区检测之前,可能会使用嵌入模型来生成节点或边的嵌入向量,这些嵌入向量可以作为算法的输入,以改善社区检测的效果。
  5. Graph Communities → Community Summaries
    • 大模型应用:类似于Element Summaries的步骤,大模型被用来为每个社区生成摘要。这同样可以看作是一种文本生成任务,其中大模型基于社区内所有元素实例的摘要或更广泛的上下文来生成描述性文本。
  6. Community Summaries → Community Answers → Global Answer
    • 在这一步中,大模型可能不直接用于生成答案,但可能用于处理或优化答案的生成过程。例如,大模型可以用于评估不同社区答案的相关性和准确性,或者用于将局部答案整合成全局答案时的权重分配。
    • 嵌入模型(如果涉及)可能用于在整合答案时,根据社区或元素之间的相似性来调整它们的贡献度。

综上所述,大模型在文本处理(如实体识别、关系抽取、文本生成)方面发挥了核心作用,而嵌入模型则更多地用于表示学习,以支持更复杂的图算法或优化文本处理任务。

GrphRAG利用ollama和Lmstudio生成图谱完整流程

我是下载的源码而不是安装的python库。也就是下述链接的第一个方法

微软开源GraphRAG的使用教程(最全,非常详细)_graphrag 使用-CSDN博客

创建input目录 

mkdir ./ragtest/input

放入文档

注意txt的编码方式。curl https://www.xxx.com/xxx.txt > ./ragtes/tinput/book.txt

本地文件可以直接复制进input文件夹

初始化配置文件

poetry run poe index --init --root . /ragtes 

修改配置文件

具体怎么获取这些端口和模型名称可以参考后文ollama和lmstudio介绍

生成图索引

poetry run poe index --root ./ragtest

查询 

poetry run poe query --root ./ragtest --method global "本文主要讲了什么"

poetry run poe query --root ./ragtest --method local "请问大模型在1980年是什么阶段"

本地部署大模型端口软件

ollama+lmstudio

100%本地设置的GraphRAG_哔哩哔哩_bilibili

颠覆传统RAG!GraphRAG结合本地大模型:Gemma 2+Nomic Embed齐上阵,轻松掌握GraphRAG+Chainlit+Ollama技术栈_哔哩哔哩_bilibili

 启动openai的服务(vllm和fastchat等这部分还没了解)+embedding的openai的服务fastchat  ollma 

GraphRAG太烧钱?Qwen2-7b本地部署GraphRAG,无需Ollama,从环境搭建到报错解决全流程_哔哩哔哩_bilibili

本地大模型启动openai服务的N种方式,vllm,fastchat,llama factory,llama.cpp,ollama_哔哩哔哩_bilibili

ollama

【ollama本地知识库】_01-ollama入门和自定义模型_哔哩哔哩_bilibili

安装

运行或者下载模型:ollama run gemma2 (模型名称)

-没有的模型需要gguf格式的文件(hugging face上可以下载)导入其他模型

怎么转换成gguf文件?:llama-cpp里有一个conver.pyt脚本可以转换。

ollama的端口:http://localhost:11434/v1(为什么是这个)

常见问题解答 - Ollama中文网

lmstudio

可以离线运行大语言模型、可以聊天、以openai兼容的格式提供接口。

因为ollama没办法提供嵌入模型的api接口。

下载之后先修改下载路径必须从models开始如下:

然后在加载模型时只选择到models就可以

下载之后搜索不到模型解决办法:

LM Studio语言大模型部署软件搜索语言模型报错“Error searching for models ‘Network error‘”解决办法 (chinasem.cn)

也可以去魔塔社区下载 

本地服务api:

开始之后需要获取的信息:

 在模型中调用lmstudio的模型主要是以下四个信息:

修改成如下 

 

model信息来自于lmstudio文档:文本嵌入 |LM工作室 (lmstudio.ai)

其他模型其实可以从自己的文件路径中获取

以下是lmstudio的学习包括gguf等概念【AI虚拟伙伴】对接LM Studio本地大语言模型神器教程 低配畅玩LLM_哔哩哔哩_bilibili

下载魔塔社区的gguf文件然后这样保存就可以让lmstudio来加载该模型

GraphRAG + Ollama 本地部署全攻略:避坑实战指南-AI.x-AIGC专属社区-51CTO.COM

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/901143
推荐阅读
相关标签
  

闽ICP备14008679号