搜索赋能:大型语言模型的知识增强与智能提升
引言
近年来,大型语言模型(LLM)取得了显著的进展,并在各个领域展现出强大的能力。然而,LLM也存在一些局限性,尤其是在知识库方面。由于训练数据的局限性,LLM无法获取最新的知识,也无法涵盖所有领域的专业知识。为了克服这些局限性,LLM需要依赖外部搜索来增强性能和保证输出结果的可靠性。
本文将深入探讨搜索技术如何增强LLM的能力,并分析不同搜索引擎对LLM输出结果的影响。
大型语言模型知识库的局限性
LLM的知识库主要来自于其训练数据,而训练数据通常是静态的,无法实时更新。这导致LLM的知识库存在以下需要搜索来弥补的局限性:
- 知识更新的滞后性: LLM的知识库更新速度较慢,无法及时反映最新的信息。例如,如果LLM的训练数据截止到2021年9月,那么它就无法回答关于2023年苹果WWDC发布会的问题。
- 知识覆盖范围的局限性: LLM的训练数据通常涵盖通用知识和常识性知识,但对于特定领域的专业知识,LLM可能缺乏足够的了解。例如,LLM可能无法回答关于数据库行业专业工具的问题。
- 知识深度的不足: LLM的知识库虽然包含大量信息,但在某些情况下,其知识深度可能不足以满足用户的需求。例如,LLM可能无法回答关于特定历史人物的家族关系的复杂问题。
为了克服这些局限性,将搜索技术与LLM结合成为了一个重要的解决方案。通过实时搜索补充最新知识、扩展专业领域覆盖、增加信息可靠性,可以显著提升LLM的实用价值。
搜索:大型语言模型的重要补充
搜索技术可以有效地弥补LLM知识库的不足,提升信息准确性,增强任务处理能力。目前流行的检索增强生成(RAG)技术就是一种依赖LLM使用现有(可扩展的)知识文献生成答案的技术。具体来说,搜索技术可以通过以下方式增强LLM:
- 提供实时信息: 搜索引擎可以从互联网上获取最新的信息,为LLM提供实时更新的知识库。
- 扩展知识覆盖范围: 搜索引擎可以访问各种信息源,包括网页、新闻、书籍、论文等,从而扩展LLM的知识覆盖范围。
- 增加知识深度: 搜索引擎可以深入挖掘信息,为LLM提供更详细和全面的知识。
- 提供可靠的信息来源: 搜索引擎可以帮助LLM访问和利用特定领域或组织的内部知识,无需重新训练模型。
此外,LLM与搜索技术结合可以创建AI智能体,实现多种工具的混合使用,甚至多智能体协作。
搜索引擎的关键要素
我们现在已经明确了搜索引擎的质量对LLM输出结果的重要性。然而不同的搜索引擎在以下关键要素上存在差异,这些差异会影响LLM获取信息的质量和输出结果的准确性:
| 关键要素 | 描述 |
|---|---|
| 深度 | 指搜索引擎能够挖掘信息的深度。深度越深,LLM就能获取更详细和全面的知识。 |
| 广度 | 指搜索引擎覆盖的信息范围。广度越广,LLM就能获取更多领域的信息。 |
| 时效性 | 指搜索引擎更新信息的频率。时效性越高,LLM就能获取更及时的信息。 |
| 结果验证 | 指搜索引擎验证搜索结果准确性的能力。结果验证越可靠,LLM获取的信息就越准确。 |
例如,Google Scholar偏向学术领域,在搜索学术论文时,深度和结果验证方面表现更佳。而Twitter则更注重信息的时效性,可以帮助用户快速获取最新的新闻和事件。电商平台的搜索引擎则更关注商品的相关性和转化能力。这些差异都会影响LLM的输出结果。
横向对比分析:DeepSeek、ChatGPT、Gemini Advanced
为了更好地理解不同搜索引擎对LLM输出结果的影响,我们选取了三款具有代表性的LLM平台进行对比分析:DeepSeek、ChatGPT和Gemini Advanced,其中Gemini Advanced包括Gemini 2.0 Flash Thinking + Google搜索和Gemini 1.5 Pro with Deep Research这两种方式。当然,为了简化问题,三个平台默认都是只使用网页搜索来获取信息。
| 平台 | 模型上下文长度 | 使用的搜索引擎 | 每次任务返回的搜索条目数 | 搜索结果的范围 | 时效性 | 结果验证 |
|---|---|---|---|---|---|---|
| DeepSeek的DeepSeek-R1联网搜索 | 128K | 某中文搜索引擎,平台未披露 | 根据任务复杂度,复杂任务可搜索50条左右 | 国内网站 | 一般 | 不支持 |
| ChatGPT的O3-mini联网搜索 | 200K | Bing搜索 | 未提供搜索条目信息,从引用结果估计为20条左右 | 全球网站 | 一般 | 不支持 |
| Gemini Advanced的2.0 Flash Thinking + Google搜索 | 1M | Google搜索 | 未提供搜索条目信息,从引用结果估计为10条左右 | 全球网站 | 较好 | 支持 |
| Gemini Advanced的1.5 Pro with Deep Research | 2M | Google搜索 | 根据任务复杂度,复杂任务可搜索100条以上 | 全球网站 | 较好 | 不支持 |
在上述横向对比分析的表格中,各个维度对模型输出的影响如下:
-
模型上下文长度: 上下文长度越大,模型能够处理的搜索返回信息量也就越多,从而有助于生成更具连贯性和深度的输出。这对于复杂任务尤为重要,比如Gemini 1.5 Pro with Deep Research用的2M上下文长度,可以一次处理大量搜索的返回结果。
-
使用的搜索引擎: 不同的搜索引擎会影响信息的获取质量。高质量的搜索引擎能够提供更加准确、全面的信息来源,从而提升模型输出的准确性和可靠性。
-
每次任务返回的搜索条目数: 搜索条目数决定了模型能获取到的信息量。较多的搜索条目可以增加信息的多样性,不过也可能导致信息过载,影响模型的输出效率,对模型的处理能力也是一个挑战。
-
搜索结果的范围: 范围越广,模型能够访问的信息源就越多样化,有助于生成更全面的回答。
-
时效性: 时效性高的搜索引擎能够提供最新的信息,帮助模型生成及时更新的内容,而不是用过时的信息来回答。比如当用户搜索某投资标的最近的价格信息时,时效性高的搜索引擎会提供更优的回复。
-
结果验证: 具有结果验证能力的搜索引擎可以提供经过验证的准确信息,从而提高模型输出的可靠性和可信度。比如Gemini Advanced的2.0 Flash Thinking支持基于Google搜索的结果再次验证模型输出的信息,从而增加模型输出的可信度。
结论与展望
写到这里,大家应该明白为什么对于同一问题不同平台的输出结果可能不一样的根本原因了,除了模型能力的差异,还有搜索引擎使用上的差异。搜索引擎作为AI智能体的一个重要工具,可以有效地弥补LLM知识库的不足,提升信息准确性,增强任务处理能力。
最近流行的各家Deep Research智能体的本质其实就是各种推理大模型和各种搜索技术的组合。从原理上,如果想让AI研究员真正发挥出最佳实力,最理想的就是用最强大的推理模型加上最强大的搜索引擎,使用最长的上下文,处理大量最新的有深度也有广度的资料,而且模型还要能自动验证输出的合理性。而想做到这一点,可能任何一家公司都没法面面俱到,而且还要面对成本的挑战,这也是为什么只有200美金每月的ChatGPT Pro订阅才能无限量使用o3-mini Deep Research功能的原因。
当然,本文只是分析了搜索引擎对大模型输出的影响,如果要做AI研究员,自然还有研究计划制定,研究分步骤完成等细节任务的划分和执行,一般的聊天机器人是没有这个多轮任务自动化的智能体能力的。本问题提到的三个平台,只有Gemini Advanced的1.5 Pro with Deep Research可以根据用户的需求自动生成研究计划,然后分步撰写研究报告,算是一种AI研究员智能体,所以接下来我也会继续深入研究各家的Deep Research产品,甚至是基于开源项目设计一个适合自己需求的AI研究员智能体。
相关文章:
搜索赋能:大型语言模型的知识增强与智能提升
引言 近年来,大型语言模型(LLM)取得了显著的进展,并在各个领域展现出强大的能力。然而,LLM也存在一些局限性,尤其是在知识库方面。由于训练数据的局限性,LLM无法获取最新的知识,也无…...
c++ 预处理器和iostream 文件
在C中,预处理器和<iostream>头文件各自扮演关键角色,二者协同工作以实现程序的输入输出功能。以下是它们的详细关系和作用: 1. 预处理器的作用 处理预处理指令:预处理器在编译前执行,处理所有以#开头的指令&…...
ViewPager2跟ViewPager的区别
1都是用来实现页面切换的,ViewPager2是ViewPager的增强版和升级版,ViewPager2是基于RecyclerView实现,可以支持横向和竖向页面切换,只需在布局文件添加一个android:orientation"vertical"即可,ViewPager只支…...
win本地vscode通过代理远程链接linux服务器
时间:2025.2.28 1. win本地下载nmap.exe nmap官网 https://nmap.org/或者 https://nmap.org/download#windows下载win版本并安装。 2. vscode插件Remote-SSH 插件下载Remote-SSH 3. 配置 按照图中顺序配置ssh 1.点击左侧工具栏的“小电视”图标 2.点击ssh的…...
C++(蓝桥杯常考点)
前言:这个是针对于蓝桥杯竞赛常考的C内容,容器这些等下棋期再讲 C 在DEVC中注释和取消注释的方法:ctrl/ ASCII值(常用的): A-Z:65-90 a-z:97-122 0-9:48-57 换行/n:10科学计数法:eg:…...
蓝桥杯2025模拟三(01字符串)
【问题描述】 如果一个字符串中只包含字符 0 和字符 1,则称为一个 01 串(包含全为 0 的串和全为 1 的串)。 请问有多少个长度为 24 的 01 串,满足任意 5 个连续的位置中不超过 3 个位置的值为 1 。 【答案提交】 这是一道结果填空…...
EVOAGENT: Towards Automatic Multi-Agent Generation via Evolutionary Algorithms
题目 EVOAGENT:通过进化算法实现多智能体自动生成 论文地址:https://openreview.net/pdf?id05bBTmRj9s 项目地址:https://evo-agent.github.io/ 摘要 强大的大型语言模型(LLM)的出现激发了一种新的趋势,即构建基于LLM的自治代理来解决复杂的…...
Linux虚拟机网络配置-桥接网络配置
简介 本文档旨在指导用户如何在虚拟环境中配置Linux系统的桥接网络,以实现虚拟机与物理主机以及外部网络的直接通信。桥接网络允许虚拟机如同一台独立的物理机一样直接连接到物理网络,从而可以被分配一个独立的IP地址,并能够与网络中的其他设…...
使用Docker搭建Oracle Database 23ai Free并扩展MAX_STRING_SIZE的完整指南
使用Docker搭建Oracle Database 23ai Free并扩展MAX_STRING_SIZE的完整指南 前言环境准备目录创建启动Docker容器 数据库配置修改进入容器启动SQL*PlusPDB操作与字符串扩展设置配置验证 管理员用户创建注意事项总结 前言 本文将详细讲解在Docker环境中配置Oracle Database 23a…...
【UI设计——视频播放界面分享】
视频播放界面设计分享 在本次设计分享中,带来一个视频播放界面的设计作品。 此界面采用了简洁直观的布局。顶部是导航栏,包含主页、播放、搜索框等常见功能,方便用户快速找到所需操作。搜索框旁输入 “萌宠成长记”,体现了对特定内…...
SyntaxError: positional argument follows keyword argument
命令行里面日常练手爬虫不注意遇到的问题,报错说参数位置不正确 修改代码后,运行如下图: 结果: 希望各位也能顺利解决问题,祝你好运!...
【JAVA面试题】== 和 equals() 的区别与使用场景
在 Java 面试中, 和 equals() 的区别是一个高频考点。理解它们的底层原理和使用场景,对于掌握 Java 基础知识至关重要。本文将从 基本概念、底层实现 和 实际应用 三个方面,深入解析 和 equals() 的区别。 1. 基本概念 1.1 运算符 作用&a…...
Leetcode 189: 轮转数组
Leetcode 189: 轮转数组 这是一道经典问题,题目要求将一个数组向右轮转 k 个位置,有多种解法可以快速求解,既可以通过额外空间,也可以在 O(1) 的空间复杂度内完成。本题考察数组操作、双指针,以及算法优化能力。 题目…...
使用vue3+element plus 的table自制的穿梭框(支持多列数据)
目录 一、效果图 二、介绍 三、代码区 一、效果图 话不多说,先上图 二、介绍 项目需要:通过穿梭框选择人员信息,可以根据部门、岗位进行筛选,需要显示多列(不光显示姓名,还包括人员的一些基础信息&…...
Java【多线程】(2)线程属性与线程安全
目录 1.前言 2.正文 2.1线程的进阶实现 2.2线程的核心属性 2.3线程安全 2.3.1线程安全问题的原因 2.3.2加锁和互斥 2.3.3可重入(如何自己实现可重入锁) 2.4.4死锁(三种情况) 2.4.4.1第一种情况 2.4.4.2第二种情况 2.4…...
后端-Java虚拟机
Java虚拟机 Java虚拟机的组成 Java虚拟机的组成由类加载器ClassLoader、运行时数据区域(JVM管理的内存)和执行引擎(即时遍历器、解释器垃圾回收器) 类加载器加载class字节码文件中的内容到内存运行时数据区域负责管理jvm使用到…...
vue These dependencies were not found
These dependencies were not found: * vxe-table in ./src/main.js * vxe-table/lib/style.css in ./src/main.js To install them, you can run: npm install --save vxe-table vxe-table/lib/style.css 解决: nodejs执行以下语句 npm install --save vxe-t…...
Yak 在 AI 浪潮中应该如何存活?
MCP 是 Claude 发起的一个协议,在2024年10月左右发布,在2025年2月开始逐步有大批量的 AI 应用体开始支持这个协议。这个协议目的是让 AI 同时可以感知有什么工具可以用,如果要调用这些工具的话,应该是用什么样的方式。 这个 MCP 协…...
AI是否能真正理解人类情感?从语音助手到情感机器人
引言:AI与情感的交集 在过去的几十年里,人工智能(AI)的发展速度令人惊叹,从简单的语音识别到如今的深度学习和情感计算,AI已经深入到我们生活的方方面面。尤其是在语音助手和情感机器人领域,AI不…...
大语言模型学习--本地部署DeepSeek
本地部署一个DeepSeek大语言模型 研究学习一下。 本地快速部署大模型的一个工具 先根据操作系统版本下载Ollama客户端 1.Ollama安装 ollama是一个开源的大型语言模型(LLM)本地化部署与管理工具,旨在简化在本地计算机上运行和管理大语言模型…...
linux上面安装 向量数据库 mlivus和 可视化面板Attu
1. 确保docker(docker 19.0以上即可) 和 docker-compose(V2.2.2以上) 都已安装 2. 创建milvus工作目录 # 新建一个名为milvus的目录用于存放数据 目录名称可以自定义 mkdir milvus# 进入到新建的目录 cd milvus 3. 下载并编辑docker-compose.yml 在下载…...
虚拟机ip设置
打开上次安装的虚拟机,左上角编辑/虚拟网络编辑器 改地址 地址要看自己电脑情况配置,我这是学校电脑 都是配一样的 然后改虚拟网卡 改和刚刚一样的 是改ipv4 然后启动虚拟机 输入vi /etc/sysconfig/network-scripts/ifcfg-ens33 使用vi编辑器修改其中…...
用工厂函数简化redis配置
工厂函数(Factory Function)不同于构造函数,工厂函数就是一个普通函数,通常用于创建对象或实例。它的核心思想是通过一个函数来封装对象的创建逻辑,而不是直接使用类的构造函数。工厂函数可以根据输入参数动态地决定创…...
类和对象-继承-C++
1.定义 面向对象的三大特征之一,为了减少重复的代码 2.语法 class 子类 :继承方式 父类 (子类也叫派生类,父类也称为基类) 例:class age:public person; #include<iostrea…...
使用Maven搭建Spring Boot框架
文章目录 前言1.环境准备2.创建SpringBoot项目3.配置Maven3.1 pom.xml文件3.2 添加其他依赖 4. 编写代码4.1 启动类4.2 控制器4.3 配置文件 5.运行项目6.打包与部署6.1 打包6.2 运行JAR文件 7.总结 前言 Spring Boot 是一个用于快速构建 Spring 应用程序的框架,它简…...
RockyLinux 为 k8s 集群做准备
1.准备VM 镜像 开启虚拟机 选择安装 Rocky linux 9.5 软件选择最小安装就可以了 在 rocky 9 以后版本中 他全部 采用 network manager 去替换老的 network 去实现网络的管理 1.网卡配置 cat /etc/NetworkManager/system-connections/ens160.nmconnection 我们配置了两块网…...
安卓基础组件Looper - 02 native层面的剖析
文章目录 native使用使用总结创建Looper构造函数创建(不推荐)使用举例源代码 Looper::prepare 获取Looper可忽略初始化Looper主动休眠 pollAll主动唤醒 wake 发送消息 sendMessage轮询消息 native使用 Android Native Looper 机制 - 掘金 (juejin.cn) /system/core/libutils/…...
用大白话解释搜索引擎Elasticsearch是什么,有什么用,怎么用
Elasticsearch是什么? Elasticsearch(简称ES)就像一个“超级智能的图书馆管理系统”,专门帮你从海量数据中快速找到想要的信息。它底层基于倒排索引技术(类似书籍的目录页),能秒级搜索和分析万…...
机器学习的三个基本要素
机器学习的基本要素包括模型、学习准则(策略)和优化算法三个部分。机器学习方法之间的不同,主要来自其模型、学习准则(策略)、优化算法的不同。 模型 机器学习首要考虑的问题是学习什么样的模型(Model&am…...
二十三种设计模式
2 工厂方法模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通…...
