当前位置: 代码网 > it编程>软件设计>软件测试 > LLMs之RAG:GraphRAG(本质是名词Knowledge Graph/Microsoft微软发布)的简介、安装和使用方法、案例应用之详细攻略

LLMs之RAG:GraphRAG(本质是名词Knowledge Graph/Microsoft微软发布)的简介、安装和使用方法、案例应用之详细攻略

2024年08月01日 软件测试 我要评论
LLMs之RAG:GraphRAG(Microsoft微软发布)的简介、安装和使用方法、案例应用之详细攻略目录GraphRAG(Microsoft微软发布)的简介GraphRAG(Microsoft微软发布)的安装和使用方法GraphRAG(Microsoft微软发布)的案例应用GraphRAG(Microsoft微软发布)的简介GraphRAG(Microsoft微软发布)的安装和使用方法GraphRAG(Microsof

llms之rag:graphrag(本质是名词knowledge graph/microsoft微软发布)的简介、安装和使用方法、案例应用之详细攻略

目录

graphrag(microsoft微软发布)的简介

1、什么是graphrag?

2、graphrag能做什么?

3、graphrag的预期用途是什么?

4、graphrag是如何评估的?用什么指标来衡量性能?

5、graphrag的局限性是什么?用户在使用系统时如何尽量减少graphrag局限性的影响?

6、哪些操作因素和设置可以有效和负责任地使用graphrag?

graphrag(microsoft微软发布)的安装和使用方法

1、安装

下载库

设置数据项目和配置:

配置环境变量和设置:

运行索引管道:

使用查询引擎:

2、使用方法

2.1、提示调优

graphrag(microsoft微软发布)的案例应用


graphrag(microsoft微软发布)的简介

2024年7月3日,微软正式开源发布graphrag。graphrag 项目是一个数据管道和转换套件,旨在利用大语言模型(llm)的强大功能,从非结构化文本中提取有意义的结构化数据。

官方文章graphrag: unlocking llm discovery on narrative private data - microsoft research

github地址github - microsoft/graphrag: a modular graph-based retrieval-augmented generation (rag) system

文档地址welcome to graphrag

1、什么是graphrag?

graphrag是一种基于ai的内容解释和搜索功能。通过使用大型语言模型(llm),它解析数据以创建知识图谱,并回答用户关于用户提供的私有数据集的问题。

2、graphrag能做什么?

graphrag能够连接大量信息,并利用这些连接回答通过关键字和向量搜索机制难以或不可能回答的问题。在此基础上,提供半技术性的高级信息,说明系统如何为各种用途提供功能。这使得使用graphrag的系统能够回答跨越多个文档的问题,以及诸如“该数据集中的主要主题是什么?”这样的主题问题。

3、graphrag的预期用途是什么?

graphrag旨在支持关键信息发现和分析的用例,这些用例中,获取有用见解所需的信息分布在许多文档中,噪音较多,夹杂有错误信息或虚假信息,或者用户要回答的问题比底层数据能直接回答的问题更抽象或更具主题性。
graphrag设计用于已经接受过负责任的分析方法培训并具备批判性思维的用户环境中。graphrag能够在复杂信息主题上提供高度见解,但需要领域专家对答案进行人工分析,以验证和补充graphrag生成的响应。
graphrag旨在与特定领域的文本数据集一起部署和使用。graphrag本身不收集用户数据,但建议用户验证所选llm的隐私政策。

4、graphrag是如何评估的?用什么指标来衡量性能?

graphrag通过多种方式进行了评估。主要关注点是
1)准确表示数据集,
2)提供透明和有依据的响应,
3)抵御提示和数据集注入攻击的弹性,
4)低幻觉率。每项评估的详细信息如下所述。

通过手动检查和对测试数据集的随机选取子集进行自动测试,验证数据集的准确表示。
通过自动答案覆盖评估和对返回的基础上下文进行人工检查,测试响应的透明性和有依据性。
通过手动和半自动技术测试用户提示注入攻击(“越狱”)和跨提示注入攻击(“数据攻击”)。
使用声明覆盖指标、答案和来源的人工检查以及对抗攻击尝试通过对抗性和极具挑战性的数据集强制幻觉评估幻觉率。

5、graphrag的局限性是什么?用户在使用系统时如何尽量减少graphrag局限性的影响?

graphrag依赖于精心构建的索引示例。对于通用应用(如以人、地点、组织、事物等为中心的内容),我们提供示例索引提示。对于独特的数据集,有效的索引依赖于适当识别领域特定概念。
索引是相对昂贵的操作;缓解索引的最佳实践是先在目标领域创建一个小型测试数据集,以确保索引器性能,然后再进行大规模索引操作。

6、哪些操作因素和设置可以有效和负责任地使用graphrag?

graphrag旨在由具有领域专业知识和经验丰富的用户使用,处理困难的信息挑战。尽管该方法通常能有效抵御注入攻击并识别冲突的信息来源,但该系统是为受信任的用户设计的。对响应进行适当的人工分析对于生成可靠的见解至关重要,并且应追踪信息来源以确保人类对推理结果的认同。
graphrag在自然语言文本数据上效果最好,这些数据集体聚焦于一个整体主题或主题,并且实体丰富——实体是指可以唯一标识的人、地点、事物或对象。
尽管graphrag已经过评估,以评估其对提示和数据集注入攻击的抵御能力,并探讨了特定类型的危害,但用户配置的llm可能会生成不适当或冒犯的内容,因此在敏感环境中部署时需要针对具体使用场景和模型采取额外的缓解措施。开发者应根据他们的背景评估输出,使用可用的安全分类器、模型特定的安全过滤器和功能(例如https://azure.microsoft.com/en-us/products/ai-services/ai-content-safety),或适合其用例的定制解决方案。

graphrag(microsoft微软发布)的安装和使用方法

要开始使用 graphrag 系统,我们推荐尝试解决方案加速器包。这提供了一个使用 azure 资源的用户友好的端到端体验。
本库介绍了一种使用知识图谱记忆结构增强 llm 输出的方法。请注意,提供的代码仅作为演示用途,并不是微软官方支持的产品。
警告:graphrag 索引可能是一个昂贵的操作,请阅读所有文档以了解过程和涉及的成本,并从小规模开始。

1、安装

下载库

pip install graphrag

设置数据项目和配置:

mkdir -p ./ragtest/input
curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt > ./ragtest/input/book.txt
python -m graphrag.index --init --root ./ragtest

配置环境变量和设置:

更新 .env 文件中的 graphrag_api_key 并修改 settings.yaml。

运行索引管道:

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

使用查询引擎:

python -m graphrag.query --root ./ragtest --method global "what are the top themes in this story?"
python -m graphrag.query --root ./ragtest --method local "who is scrooge, and what are his main relationships?"

2、使用方法

2.1、提示调优

直接使用 graphrag 处理您的数据可能不会产生最佳效果。我们强烈建议按照文档中的提示调优指南对提示进行微调。

graphrag(microsoft微软发布)的案例应用

持续更新中……

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com