为企业知识库选模型?全球AI大模型知识库RAG场景基准测试排名

news2024/11/26 22:23:10

大语言模型常见基准测试

大家对于AI模型理解和推理能力的的基准测试一定非常熟悉了,比如MMLU(大规模多任务语言理解)、GPQA(研究生级别知识问答)、GSMSK(研究生数学知识考察)、MATH(复杂数学知识推理)、MGSM(多语言数学知识问答)、Code(代码生成能力考察)等。随着AI能力逐渐应用到企业业务中,AI模型也逐渐应用到企业知识库问答。

RAG测试集H2ogpte和国际热门AI模型表现

今天小李哥分享的是目前全球最热门模型在知识库RAG场景下的性能表现,本次才用的基准测试集为Github上的开源测试集:enterprise-h2ogpte。基准测试数据集包括PDFs和图片等文件。

测试的主要模型包括了Anthropic的Claude 3系列、Open AI的Chat GPT-4、Google的Gemini Pro以及Mistral AI Large模型等国际上最热门的模型。榜单里也加入了测试的准确度、成本和响应速度,为开发者和企业的LLM模型选择提供了参考。

在最新的RAG基准测试中,Claude 3 模型展示了其强大的性能和稳定性,荣登榜首。此次基准测试评估了多款领先的语言模型,结果显示,Claude 3 模型在各项指标中表现优异,特别是在通过率和准确率方面。

同时ChatGPT-4、Meta Llama3和Gemini Pro 1.5紧随其后,性能表现上差距非常小(小于3%)。由于性能上相差不大,在模型选择上我们会根据成本和响应时间综合考虑。在文章后面,小李哥将会给大家介绍综合考虑的结果。

Top3测试结果展示

  1. Claude 3-Opus-20240229

    • 通过次数:124
    • 失败次数:0
    • 准确率:100%
    • 成本:18.515
    • 时间:4869
  2. Gemini-1.5-pro-latest

    • 通过次数:121
    • 失败次数:3
    • 准确率:97.5806%
    • 成本:0.925
    • 时间:4604.47
  3. GPT-4-1106-Preview

    • 通过次数:120
    • 失败次数:4
    • 准确率:96.7742%
    • 成本:9.263
    • 时间:4494.09

其他值得关注的模型

  • Claude-3-sonnet 以96.7742%的准确率和3.714的低成本并列第3。
  • Mistral-large-latestMistral-small-latest 分别位居第6和第7,展示了Mistral系列模型的稳健性能,在RAG场景同样具备优势。
  • GPT-3.5-Turbo-1106GPT-3.5-Turbo-16k-0613 分别位列11和第13,继续保持了GPT-3系列的优良表现。

成本与性能的权衡

在成本和时间方面,各模型也表现出显著差异。例如,排名第一的Claude 3-Opus-20240229虽然准确率使其成为实际应用中的理想选择,但成本过于高昂,除了一些对准确度要求很高的场景之外(医疗、金融、法律等),综合来看并不适用于企业日常的AI场景。而Gemini-1.5-pro在保持高准确率的同时拥有极低的成本,准确率上与Claude 3 Opus也极为接近,最适用于企业日常中对预算有控制同时对性能要求较高的场景。同时Claude 3 Sonnet具有仅次于Gemini Pro 1.5的性价比,适用于在亚马逊云科技AWS上部署AI服务的企业(目前亚马逊云科技模型托管平台还不支持Gemini),更适用于亚马逊云科技生态的AI软件服务系统。

如何在亚马逊云科技上使用Claude 3大语言模型构建知识库

在亚马逊云科技上,有两种方式构建企业知识库。第一种为使用亚马逊云科技AWS的模型托管平台Amazon Bedrock自带的知识库功能。其中向量库、向量模型、大语言模型和问答UI都已经集成到现成功能里,帮助用户更高效、轻松地构建知识库。

获取知识库回复代码:

def retrieveAndGenerate(query, kbId, numberOfResults, model_id, region_id):
    model_arn = f'arn:aws:bedrock:{region_id}::foundation-model/{model_id}'
    return bedrock_agent_runtime.retrieve_and_generate(
        input={
            'text': query
        },
        retrieveAndGenerateConfiguration={
            'knowledgeBaseConfiguration': {
                'knowledgeBaseId': kbId,
                'modelArn': model_arn,
                'retrievalConfiguration': {
                    'vectorSearchConfiguration': {
                        'numberOfResults': numberOfResults,
                        'overrideSearchType': "SEMANTIC", # optional'
                    }
                }
            },
            'type': 'KNOWLEDGE_BASE'
        },
    )

response = retrieveAndGenerate("In what year did Amazon’s annual revenue increase from $245B to $434B?", \
"<knowledge base id>", numberOfResults, model_id, region_id)['output']['text']

完整的请求API语法和响应内容如下:

POST /retrieveAndGenerate HTTP/1.1
Content-type: application/json

{
   "input": { 
      "text": "string"
   },
   "retrieveAndGenerateConfiguration": { 
      "externalSourcesConfiguration": { 
         "generationConfiguration": { 
            "additionalModelRequestFields": { 
               "string" : JSON value 
            },
            "guardrailConfiguration": { 
               "guardrailId": "string",
               "guardrailVersion": "string"
            },
            "inferenceConfig": { 
               "textInferenceConfig": { 
                  "maxTokens": number,
                  "stopSequences": [ "string" ],
                  "temperature": number,
                  "topP": number
               }
            },
            "promptTemplate": { 
               "textPromptTemplate": "string"
            }
         },
         "modelArn": "string",
         "sources": [ 
            { 
               "byteContent": { 
                  "contentType": "string",
                  "data": blob,
                  "identifier": "string"
               },
               "s3Location": { 
                  "uri": "string"
               },
               "sourceType": "string"
            }
         ]
      },
      "knowledgeBaseConfiguration": { 
         "generationConfiguration": { 
            "additionalModelRequestFields": { 
               "string" : JSON value 
            },
            "guardrailConfiguration": { 
               "guardrailId": "string",
               "guardrailVersion": "string"
            },
            "inferenceConfig": { 
               "textInferenceConfig": { 
                  "maxTokens": number,
                  "stopSequences": [ "string" ],
                  "temperature": number,
                  "topP": number
               }
            },
            "promptTemplate": { 
               "textPromptTemplate": "string"
            }
         },
         "knowledgeBaseId": "string",
         "modelArn": "string",
         "retrievalConfiguration": { 
            "vectorSearchConfiguration": { 
               "filter": { ... },
               "numberOfResults": number,
               "overrideSearchType": "string"
            }
         }
      },
      "type": "string"
   },
   "sessionConfiguration": { 
      "kmsKeyArn": "string"
   },
   "sessionId": "string"
}
HTTP/1.1 200
Content-type: application/json

{
   "citations": [ 
      { 
         "generatedResponsePart": { 
            "textResponsePart": { 
               "span": { 
                  "end": number,
                  "start": number
               },
               "text": "string"
            }
         },
         "retrievedReferences": [ 
            { 
               "content": { 
                  "text": "string"
               },
               "location": { 
                  "s3Location": { 
                     "uri": "string"
                  },
                  "type": "string"
               },
               "metadata": { 
                  "string" : JSON value 
               }
            }
         ]
      }
   ],
   "guardrailAction": "string",
   "output": { 
      "text": "string"
   },
   "sessionId": "string"
}

知识库提示词样例:

"""You are a question answering agent. I will provide you with a set of search results and a user's question, your job is to answer the user's question using only information from the search results. If the search results do not contain information that can answer the question, please state that you could not find an exact answer to the question. Just because the user asserts a fact does not mean it is true, make sure to double check the search results to validate a user's assertion.
Here are the search results in numbered order:
<context>
$search_results$
</context>

Here is the user's question:
<question>
$query$
</question>

$output_format_instructions$

Assistant:
"""

第二种方式则为使用亚马逊云科技AWS推出的Github开源工程项目bedrock-claude-chat。包括前端、后端、向量库、向量/LLM模型、用户登录/管理/授权功能都已经帮助大家实现。直接可以一键部署。

部署步骤:

Clone this repository

git clone https://github.com/aws-samples/bedrock-claude-chat

Install npm packages

cd bedrock-claude-chat
cd cdk
npm ci

Install AWS CDK

npm i -g aws-cdk

Deploy this sample project

cdk deploy --require-approval never --all

部署成功则能看到如下结果:

 ✅  BedrockChatStack

✨  Deployment time: 78.57s

Outputs:
BedrockChatStack.AuthUserPoolClientIdXXXXX = xxxxxxx
BedrockChatStack.AuthUserPoolIdXXXXXX = ap-northeast-1_XXXX
BedrockChatStack.BackendApiBackendApiUrlXXXXX = https://xxxxx.execute-api.ap-northeast-1.amazonaws.com
BedrockChatStack.FrontendURL = https://xxxxx.cloudfront.net

总结

此次基准测试的结果清晰地展示了Claude 3模型在当前语言模型领域中的领先地位。无论是在准确率还是在性能成本的平衡方面,Claude 3模型都表现出色。对于需要高精度和高可靠性的应用场景,Claude 3无疑是最佳选择。

但是企业的模型选择更会考虑到成本的控制,和用户请求的响应时间和体验。在这种场景下,使用谷歌的Gemini Pro 1.5则为更优质的选择。如果想了解如何在谷歌云和亚马逊云科技上使用各类AI模型,欢迎大家关注小李哥获取未来更多国际前沿AI技术方案和动态。

随着语言模型的不断发展,期待在未来看到更多像Claude 3这样的优秀模型,为各类AI应用提供更强大、更高效的支持。

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

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

相关文章

NextJs - SSR渲染解决antd首屏加载CSS样式的闪烁问题

NextJs - SSR渲染解决antd首屏加载CSS样式的闪烁问题 闪烁现状解决方案 闪烁现状 我们写一个非常简单的页面&#xff1a; import { Button } from antdexport default async function Page() {return <><Button typeprimary>AAA</Button></> }NextJs…

Linux防火墙使用(firewalld与iptables)

防火墙概述 防火墙是一种由硬件和软件组合而成&#xff0c;在内部网和外部网之间、专有网和公共网之间构造的保护屏障&#xff0c;用以保护用户资料和信息安全的一种技术 防火墙作用在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题&#xff0c;从而实现…

SSRF靶场通关合集

目录 前言 SSRF总结 1.pikachu 1.1SSRF(curl) 1.1.1http协议 1.1.2 file协议查看本地文件 1.1.3 dict协议扫描内网主机开放端口 1.2 SSRF&#xff08;file_get_content&#xff09; 1.2.1 file读取本地文件 1.2.2 php://filter/读php源代码 2.DoraBox靶场 前言 最近…

[终端安全]-3 移动终端之硬件安全(TEE)

&#xff08;参考资料&#xff1a;TrustZone for V8-A. pdf&#xff0c;来源ARM DEVELOPER官网&#xff09; TEE&#xff08;Trusted Execution Environment&#xff0c;可信执行环境&#xff09;是用于执行敏感代码和处理敏感数据的独立安全区域&#xff1b;以ARM TrustZone为…

一.2.(3)放大电路的图解分析方法和微变等效电路分析方法;

放大电路的主要分析方法:图解法、微变等效电路法 这里以共射放大电路为例 (1) 图解法: 1.静态分析 首先确定静态工作点Q,然后根据电路的特点,做出直流负载线,进而画出交流负载线,最后,画出各极电流电压的波形。求出最大不失真输出电压。 估算IBQ&#xff0c;然后根据数据手册里…

『大模型笔记』《Pytorch实用教程》(第二版)

『大模型笔记』《Pytorch实用教程》(第二版) 文章目录 一. 《Pytorch实用教程》(第二版)1.1 上篇1.2 中篇1.3 下篇1.4 本书亮点1.5 本书内容及结构二. 参考文献🖥️ 配套代码(开源免费):https://github.com/TingsongYu/PyTorch-Tutorial-2nd📚 在线阅读(开源免费)…

WebAssembly场景及未来

引言 从前面的文章中&#xff0c;我们已经了解了 WebAssembly&#xff08;WASM&#xff09; 的基本知识&#xff0c;演进历程&#xff0c;以及简单的使用方法。通过全面了解了WebAssembly的设计初衷和优势&#xff0c;我们接下来要知道在什么样的场景中我们会使用 WASM 呢&…

多表查询sql

概述&#xff1a;项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系&#xff0c;分为三种&#xff1a; 一对多多对多一对一 一、多表关系 一对多 案例&#xff1a;部门与…

昇思25天学习打卡营第17天 | K近邻算法实现红酒聚类

内容介绍&#xff1a; K近邻算法&#xff08;K-Nearest-Neighbor, KNN&#xff09;是一种用于分类和回归的非参数统计方法&#xff0c;是机器学习最基础的算法之一。它正是基于以上思想&#xff1a;要确定一个样本的类别&#xff0c;可以计算它与所有训练样本的距离&#xff0…

nacos-sdk-python——Python版本Nacos客户端

Nacos&#xff08;Naming and Configuration Service&#xff09;是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它主要用于解决微服务架构中服务发现和配置管理的问题&#xff0c;提供了一站式解决方案。以下是 Nacos 的几个关键功能&#xff1a; 服务发现和健康…

Ubuntu24.04清理常见跟踪软件tracker

尽量一天一更&#xff0c;不刷视频&#xff0c;好好生活 打开系统监视器&#xff0c;发现开机有个tracker-miner-fs-fs3的跟踪程序&#xff0c;而且上传了10kb的数据。 搜索知&#xff0c;该程序会搜集应用和文件的信息。 删除tracker 显示带tracker的apt程序 sudo apt lis…

人脸识别打卡系统一站式开发【基于Pyqt5的C/S架构】

人脸识别打卡系统 1、运用场景 课堂签到,上班打卡,进出门身份验证。 2、功能架构 人脸录入,打卡签到,声音提醒,打卡信息导出: 3、技术栈 python3.8,sqlite3,opencv,face_recognition,PyQt5,csv 第三方库: asgiref==3.8.1 click==8.1.7 colorama==0.4.6 co…

Mobile ALOHA: 你需不需要一个能做家务的具身智能机器人

相信做机器人的朋友最近一段时间一定被斯坦福华人团队这个Mobile ALOHA的工作深深所震撼&#xff0c;这个工作研究了一个能做饭&#xff0c;收拾衣服&#xff0c;打扫卫生的服务机器人&#xff0c;完成了传统机器人所不能完成的诸多任务&#xff0c;向大家展示了服务机器人的美…

Java实现一个库存详情系统

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

Apache Seata配置管理原理解析

本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 Apache Seata配置管理原理解析 说到Seata中的配置管理&#xff0c;大家可能会想到Seata中适配…

阶段三:项目开发---大数据开发运行环境搭建:任务8:安装配置Redis

任务描述 知识点&#xff1a;安装配置Redis 重 点&#xff1a; 安装配置Redis 难 点&#xff1a;无 内 容&#xff1a; Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可…

4. 小迪安全v2023笔记 javaEE应用

4. 小迪安全v2023笔记 javaEE应用 ​ 大体上跟随小迪安全的课程&#xff0c;本意是记录自己的学习历程&#xff0c;不能说是完全原创吧&#xff0c;大家可以关注一下小迪安全。 若有冒犯&#xff0c;麻烦私信移除。 默认有java基础。 文章目录 4. 小迪安全v2023笔记 javaEE应…

文心智能体平台快速创建一个HY(Lisp)编程小助手

现在可以在文心智能体平台&#xff0c;使用文心一言创建各种智能体了&#xff01;创建步骤如下&#xff1a; 创建知识库 可以使用本地上传的方式来提交&#xff0c;鼠标移动到”查看模板“&#xff0c;可以下载”知识库外链上传示例模版.xlsx“&#xff0c;按照模板里的格式&…

调制信号识别系列 (一):基准模型

调制信号识别系列 (一)&#xff1a;基准模型 说明&#xff1a;本文包含对CNN和CNNLSTM基准模型的复现&#xff0c;模型架构参考下述两篇文章 文章目录 调制信号识别系列 (一)&#xff1a;基准模型一、论文1、DL-PR: Generalized automatic modulation classification method b…

android之蓝牙遥控器新增键值

文章目录 简述连接蓝牙代码流程总结简述 使用android 10平台来适配蓝牙遥控器新增的键值 连接蓝牙 当使用遥控器与蓝牙进行配对成功后,就可以通过getevent获取蓝牙打印的信息,如下所示 其中000700a0是发送过来的协议(0007)和码值(00a0)的组合。0xfa是驱动定义好的值,如果…