使用GPT-4o mini融合GraphRAG技术进行实战应用

news2025/1/15 7:35:43

什么是gpt-4o mini

OpenAI 推出 GPT-4o mini,这是他们最具成本效益的小型模型。它的定价为每百万输入代币 15 美分,每百万输出代币 60 美分,比之前的 Frontier 型号便宜一个数量级,比 GPT-3.5 Turbo 便宜 60% 以上。目前,GPT-4o mini 在 API 中支持文本和视觉,未来还将支持文本、图像、视频和音频的输入和输出。该模型具有 128K 个 token 的上下文窗口,每个请求最多支持 16K 个输出 token,并且拥有截至 2023 年 10 月的知识

与其他大模型的比较

GPT-4o mini 已经在几个关键基准上进行了评估2。

推理任务: GPT-4o mini 在涉及文本和视觉的推理任务上优于其他小型模型,在文本智能和推理基准 MMLU 上的得分为 82.0%,而 Gemini Flash 为 77.9%,Claude Haiku 为 73.8%。

数学和编码能力: GPT-4o mini 在数学推理和编码任务中表现出色,优于市场上之前的小型模型。在测量数学推理的 MGSM 上,GPT-4o mini 得分为 87.0%,而 Gemini Flash 得分为 75.5%,Claude Haiku 得分为 71.7%。在测量编码性能的 HumanEval 上,GPT-4o mini 得分为 87.2%,而 Gemini Flash 得分为 71.5%,Claude Haiku 得分为 75.9%。

多模态推理: GPT-4o mini 在多模态推理评估 MMMU 上也表现出色,得分为 59.4%,而 Gemini Flash 为 56.1%,Claude Haiku 为 50.2%。

在这里插入图片描述

在这里插入图片描述

https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/

GraphRAG:解决大语言模型的三大痛点

传统大语言模型面临三个主要问题:信息过时、产生幻觉和缺乏溯源能力。这些问题严重限制了AI在实际应用中的表现。GraphRAG技术应运而生,旨在解决这些关键问题,为AI赋予更强大、更可靠的知识处理能力。

RAG技术简介:知识检索的基石

RAG(Retrieval-Augmented Generation)是GraphRAG的前身,它通过以下步骤工作:

建立知识库:将文档转化为可检索的数据结构。
文档分块和向量化:将文本切分并转换为向量表示。
语义检索:基于用户查询找到相关信息。
增强生成:结合检索到的信息生成回答。
然而,传统RAG也存在局限性,难以获得对数据集的全局洞察,这正是GraphRAG要解决的核心问题。

在这里插入图片描述

GraphRAG:知识图谱的力量

GraphRAG是微软开源的技术,其核心在于利用大语言模型构建反映数据集的知识图谱。它能够:

描述实体特征和关系
形成语义分层分组
连接分散信息
提供长文档的整体理解
这些特性使得GraphRAG在解决复杂查询和提供全局洞察方面表现卓越。

创建 LLM 生成的知识图谱
我们注意到 GraphRAG 的基本流程建立在我们之前的研究之上(在新标签页中打开)和存储库(在新标签页中打开)使用图形机器学习:

LLM 处理整个私有数据集,创建对源数据内所有实体和关系的引用,然后使用这些引用创建 LLM 生成的知识图。
然后,该图用于创建自下而上的聚类,将数据按层次结构组织成语义聚类(下图 3 中用颜色表示)。这种划分允许预先汇总语义概念和主题,这有助于全面理解数据集。
在查询时,这两种结构都用于为回答问题时的 LLM 上下文窗口提供材料。
图 3 显示了该图的一个可视化示例。每个圆圈代表一个实体(例如,一个人、一个地点或一个组织),实体大小表示该实体具有的关系数量,颜色表示相似实体的分组。颜色分区是一种建立在图形结构之上的自下而上的聚类方法,它使我们能够回答不同抽象层次的问题。

在这里插入图片描述

GraphRAG vs 传统RAG:突破性的改进

GraphRAG相比传统RAG有以下优势:

跨文档推理:能够连接多个文档中的信息,回答复杂问题。
宏观洞察:对整个知识库提供全局性理解。
语义结构化:通过知识图谱捕捉实体间的复杂关系。
这使得GraphRAG在企业决策、学术研究和复杂问题解决等领域具有巨大潜力。

实战:使用GraphRAG分析经典文学作品

为了展示GraphRAG的强大功能,我们将使用它来分析查尔斯·狄更斯的经典小说《圣诞颂歌》,并对比GPT-4o和新发布的GPT-4o mini模型的效果和成本。

GraphRAG实现步骤
检查Python版本(需要3.10-3.12)
使用pip安装GraphRAG:pip install graphrag
创建工作目录:mkdir -p RAGTest/input
下载《圣诞颂歌》文本
初始化工作空间:graphrag init RAGTest
配置API密钥和模型设置
索引和查询对比:GPT-4o vs GPT-4o mini
我们使用两种模型进行了对比测试,结果如下:

GPT-4o模型:
索引成本:$2.42
查询成本:$0.60
总成本:$3.01
GPT-4o mini模型:
索引成本:$0.03
查询成本:$0.05
总成本:$0.08
这个惊人的对比显示,使用GPT-4o mini可以将成本降低近37倍!

结果分析:质量与成本的平衡
为了客观评估两个模型的输出质量,我们使用了Claude AI作为裁判。评估结果如下:

GPT-4o:8分
GPT-4o mini:9分
令人惊讶的是,GPT-4o mini不仅大幅降低了成本,而且在这个特定任务中的回答质量甚至略高于GPT-4o。这一结果凸显了GPT-4o mini在某些应用场景下的卓越性价比。

conda create -n GraphRAG python==3.12
(base) mac@macdeMac-mini ~ % conda activate GraphRAG
(GraphRAG) mac@macdeMac-mini ~ % python --version
Python 3.12.0
(GraphRAG) mac@macdeMac-mini ~ % pip install graphrag
mkdir -p ./ragtest/input

https://microsoft.github.io/graphrag/posts/get_started/
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

GraphRAG的实际应用场景

GraphRAG技术在多个领域都有广阔的应用前景:

企业知识管理:整合和分析大量内部文档。
学术研究:快速总结和关联大量文献。
客户服务:提供更准确、全面的客户支持。
产品开发:分析市场趋势和用户反馈。
实施GraphRAG的关键考虑因素
在决定采用GraphRAG时,需要考虑以下几点:

数据质量:确保知识库中的信息准确、最新。
计算资源:评估所需的处理能力和存储空间。
隐私和安全:制定严格的数据保护措施。
模型选择:根据具体需求选择合适的语言模型。
结论:AI知识处理的未来
随着像GPT-4o mini这样高性价比AI模型的出现,GraphRAG技术将在企业知识管理和个人研究中得到更广泛的应用。在AI时代,掌握这些技术将成为提高生产力和竞争力的关键。

关键要点总结
GraphRAG通过知识图谱技术解决了传统RAG的局限性。
GPT-4o mini在某些任务中可以提供与GPT-4o相当甚至更好的结果,同时大幅降低成本。
实施GraphRAG需要考虑数据质量、计算资源、隐私安全等因素。
GraphRAG在企业决策、学术研究等领域有广阔应用前景。
在这个AI快速发展的时代,持续学习和实践像GraphRAG这样的前沿技术至关重要。关注Axton的频道,了解更多AI技术应用和提高效率的方法。

https://www.axtonliu.ai/blog/graphrag-ai-knowledge-graph-revolution-gpt4-vs-gpt4-mini

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1979921.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 并发编程:一文了解 synchronized 的使用

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 027 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进…

练题模块环境搭建

文章目录 1.数据库表设计1.practice_set 套卷2.practice_set_detail 套卷细节3.practice_info 练习信息4.practice_detail 练习详情5.E-R图 2.架构设计(三层架构)3.练题微服务架构搭建1.创建一个练题微服务模块1.创建一个maven项目2.把src删除&#xff0…

类中特殊变量的初始化

在C的类中有一些变量的初始化需要进行特殊化的处理,这里我将列举出常见的两种特殊类型的变量初始化。 目录 const 类型数据的初始化 代码实例: static类型数据的初始化 代码实例: const 类型数据的初始化 对于const修饰的数据我们需要在…

Robot Operating System——单线程中启动多个Node

在《Robot Operating System——Service的同步/异步通信》一文中,我们介绍了如何实现Service的客户端和服务端。在例子中,它们分别被编译成libadd_two_ints_client_async_library.so和libadd_two_ints_server_library.so,然后分别被可执行程序…

C:将代码拆分放在多个文件的操作

目录 前言: 1、多个文件 2、将一个程序分为多个文件的好处 3、一定程度上对代码进行隐藏 结语: 前言: 在我们刚开始学习C语言时,编写的代码通常比较简短,因此将其放在一个文件中并不会带来不便。然而,…

17965 幸运之星(优先做)

这个问题可以通过使用递归或者迭代的方法来解决。我们可以使用一个一维数组dp来存储中间结果&#xff0c;dp[i]表示i个人时的“幸运之星”的初始编号。 以下是使用C的代码实现&#xff1a; #include <iostream> using namespace std;const int MAXN 1000000; int dp[M…

力扣:100379. 新增道路查询后的最短距离 I(Java,BFS)

目录 题目描述&#xff1a;示例 &#xff1a;代码实现&#xff1a; 题目描述&#xff1a; 给你一个整数 n 和一个二维整数数组 queries。 有 n 个城市&#xff0c;编号从 0 到 n - 1。初始时&#xff0c;每个城市 i 都有一条单向道路通往城市 i 1&#xff08; 0 < i < …

web高可用群集架构部署----超详细

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

【笔记1-6】Qt bug记录:Qt6 无法使用qsort函数排序

在进行Qt5向Qt6升级的过程中&#xff0c;发现Qt6会编译时会出现以下错误&#xff0c;找不到qsort的定义 一开始以为应该是需要头文件或者.pro文件追加一些配置的问题&#xff0c;但是按照下面的提示追加了两个头文件后也没有效果 再进一步调查&#xff0c;找到了下面的文章&a…

python3 pyside6图形库学习笔记及实践(三)

目录 前言菜单栏相关控件使用QtDesigner快速构建菜单栏结构语法 上下文菜单概念为窗体添加上下文菜单为控件添加上下文菜单 折叠菜单资源的加载内置图标Rcc的使用创建资源文件加载资源文件 前言 本系列文章为b站PySide6教程以及官方文档的学习笔记 原视频传送门&#xff1a;【…

【Linux 17】进程信号

文章目录 &#x1f308; 一、信号的概念⭐ 1. 什么是信号⭐ 2. 常见的信号⭐ 3. 信号的管理 &#x1f308; 二、进程的运行⭐ 1. 进程运行模式⭐ 2. 查看后台进程⭐ 3. 运行后台进程⭐ 4. 终止后台进程 &#x1f308; 三、信号的产生⭐ 1. 通过键盘产生信号⭐ 2. 调用系统函数向…

YiYi-Web项目技术栈介绍

项目地址&#xff1a;https://gitee.com/jack0240/yiyi-web YiYi后台管理系统&#xff08;不分离版&#xff09;&#xff0c;SpringBoot Thymeleaf Layui 后台管理系统框架。 前端技术栈 HTML JavaScript JQuery Layui、Bootstrap Echarts图表、大屏展示、富文本 进阶&#…

书生大模型实战营第三期——入门岛

第一关&#xff1a;Linux基础知识 任务如下&#xff1a; 任务描述闯关任务完成SSH连接与端口映射并运行hello_world.py可选任务 1将Linux基础命令在开发机上完成一遍可选任务 2使用 VSCODE 远程连接开发机并创建一个conda环境可选任务 3创建并运行test.sh文件 1. 使用密码进行…

数据结构——单向链表

目录 前言 一、单向链表 二、单向链表基本操作 1、链表单创建 2.节点插入 &#xff08;1&#xff09;尾部插入 &#xff08;2&#xff09;任意位置插入 3、单向链表节点删除 4、链表打印 5、释放链表 6、链表逆序 ...... 三、链表测试 总结 前言 链表&#xff08;Linked List&a…

单细胞Seurat的umi矩阵-与feature、counts(用于质控)

目录 关于umi矩阵学习 用umi计算feature、counts值 ①meta数据查看 ②Count和Feature计算(生成Seurat时自动计算) 1)提取UMI矩阵 2)计算 其他指标 评估质量指标(重点) 1)UMI计数 2)基因计数 3)UMIs vs. genes detected 4)线粒体计数比率 5)综合过滤 过…

【C语言篇】文件操作(下篇)

文章目录 前言文件的顺序读写fscanf和fprintffread和fwrite 文件的随机读写fseekftellrewind 文件读取结束的判定容易被错误使用的feof 文件缓冲区 前言 本篇接上一篇文件操作&#xff08;上篇&#xff09;的内容 文件的顺序读写 在上一篇已经介绍了前面四个了&#xff0c;接…

【人工智能基础四】循环神经网络(RNN)与长短时记忆网络(LSTM)

文章目录 一. RNN1. 循环神经网络结构2. 循环神经网络计算2.1. 机器翻译2.2. 循环体 二. 长短时记忆网路&#xff08;LSTM&#xff09;1. 产生背景2. LSTM的设计思想与LSTM的链式结构2.1. LSTM的设计思想2.2. LSTM链式结构图与遗忘门 3. 长短时记忆网络结构 一. RNN RNN出现的…

五种多目标算法(MOGOA、MOMA、MODA、MOPSO、NSGA2)性能对比(MATLAB代码)

一、算法介绍 MOGOA&#xff1a;多目标蝗虫优化算法 MOMA&#xff1a;多目标蜉蝣算法 MODA&#xff1a;多目标蜻蜓算法 MOPSO&#xff1a;多目标粒子群优化算法 NSGA2&#xff1a;非支配排序遗传算法II 这些算法都是针对多目标优化问题设计的元启发式算法&#xff0c;每种…

Java | Leetcode Java题解之第321题拼接最大数

题目&#xff1a; 题解&#xff1a; class Solution {public int[] maxNumber(int[] nums1, int[] nums2, int k) {int m nums1.length, n nums2.length;int[] maxSubsequence new int[k];int start Math.max(0, k - n), end Math.min(k, m);for (int i start; i < e…

C语言 | Leetcode C语言题解之第321题拼接最大数

题目&#xff1a; 题解&#xff1a; int compare(int* subseq1, int subseq1Size, int index1, int* subseq2, int subseq2Size, int index2) {while (index1 < subseq1Size && index2 < subseq2Size) {int difference subseq1[index1] - subseq2[index2];if (…