搜索引擎中的大型语言模型

发布: (2026年3月14日 GMT+8 16:12)
6 分钟阅读
原文: Dev.to

Source: Dev.to

请提供需要翻译的正文内容,我将为您翻译成简体中文。

基于自适应权重的 A* 算法

A* 算法使用启发式 + 到节点 n 的累计成本。
它在普通图上表现良好,但当搜索空间是 网格 时会出现一些缺陷。

在基于网格的搜索空间中,图是一个 n × n 的单元格数组,每个单元格都是一个节点。
从一个单元格移动到相邻单元格的代价在整个网格中是恒定的。

下面列出了传统 A* 算法在网格上存在的两个主要问题以及提出的解决方案。

问题 1 – 考虑的邻居过多

n × n 网格上运行传统 A* 时,通常会考虑 8 个邻居(8‑连通邻域)。
在每次迭代中探索所有八个邻居会浪费计算资源,因为会扩展不必要的节点。

提出的解决方案: 只考虑 5 个最有用的邻居
问题是:我们如何挑选这 5 个邻居?

步骤 1 – 计算 Δx 和 Δy

[ \Delta x = |x_{\text{goal}} - x_{\text{current}}|,\qquad \Delta y = |y_{\text{goal}} - y_{\text{current}}| ]

Δx and Δy formula

步骤 2 – 选择合适的条件

将两个值与下面的条件进行比较:

Neighbour‑selection conditions

步骤 3 – 选取邻居集合

满足任一条件时,取对应的邻居集合。
邻居集合的格式如图所示(蓝色单元格为 代理)。

Neighbour‑selection diagram

问题 2 – 危险路径

危险路径 是指直接穿过障碍物边缘的路径(见下图)。
当传统 A* 算法扩展此类路径时,代理可能会撞到障碍物的锐利边缘。

Hazardous path example

提出的解决方案: 根据 障碍物的方向 从邻居集合中移除两个邻居。
下表展示了针对每种障碍方向必须排除的子节点。

Neighbour‑exclusion scheme

算法检查障碍物的方向,然后决定哪些子节点 被考虑。

个人感想

我最近在课堂上学习了 A* 以及其他路径寻找算法,觉得它们非常有趣。
阅读论文 “A Algorithm Based on Adaptive Weights”* 为我提供了在实际场景中实现这些概念的具体思路。

参考论文:
A* algorithm Based on Adaptive Weights

大型语言模型在搜索引擎中的应用

现代搜索引擎已经变得高度自治,使日常任务更加高效。
早期的搜索引擎依赖预先编写的关键词匹配和传统的自然语言处理(NLP)技术。

旧问题

像下面这样的复杂查询

“How to know if and A* algorithm has given optimal path should we compare it with ucs traversal?”

会让传统引擎感到困惑,因为:

  • 句子中包含语法错误(例如多余的 “and”)。
  • “ucs” 等模糊术语无法被理解。

现代解决方案

我们现在将 大型语言模型(LLMs)(如 ChatGPT、Claude、Opus)与网页技术相结合。

  • LLM 在使用最新的 NLP 进展理解人类语言方面表现出色。
  • 但它们缺乏最新的事实知识。

通过将 LLM 与实时网页检索(RAG – 检索增强生成)集成,我们得到一种能够:

  1. 准确解释复杂、噪声较大的查询。
  2. 从网络上检索最新信息的搜索引擎。

搜索引擎的演进

代际主要特征
1 – 传统对已索引网页进行关键词匹配;返回前 N 条结果。
2 – AI 增强引入 RAG(检索增强生成);将检索与语言生成相结合。
3 – LLM 驱动(当前)完全整合 LLM 与实时网页数据;处理模糊、对话式以及最新的查询。

第3节:深度搜索

现在出现了迄今为止最新、最强大的方法:THE DEEP SEARCH
在这种方法中,代理不再遵循固定的逐步流程,而是被允许独立思考。代理自行决定搜索什么,并在理解用户的复杂查询后确定最佳内容进行交付。机器学习也被用于这项前沿技术。

个人感想

在阅读本文之前,我对搜索引擎的历史一无所知。通过本文,我学到了搜索引擎的工作原理以及它们在数十年间的演变过程。

参考论文

0 浏览
Back to Blog

相关文章

阅读更多 »

使用最大熵求解 Mastermind

概述 该思路是选择能够提供最多信息的猜测,并尽可能快速地减少可能的代码数量。使用此方法,代码…