ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【大模型】介绍什么是 ES 库和 ES 检索

【大模型】介绍什么是 ES 库和 ES 检索 ES 库通常指 Elasticsearch 数据库它不是传统数据库如 MySQL而是专门用于搜索、检索和分析海量文本数据。ES 检索利用 Elasticsearch 的倒排索引和 BM25 等算法进行关键词全文检索。在 AI 知识库中ES 负责精准关键词搜索向量数据库负责语义搜索两者结合形成当前主流的混合检索Hybrid Search兼顾准确性和语义理解能力。为什么会有 ES假设有 1000 万篇文档。如果放在 MySQL 中SELECT * FROM article WHERE content LIKE %人工智能%问题非常慢、数据越多越慢、不支持智能搜索、排序能力差而 ES 就是专门解决这个问题的。ES 的本质可以把 ES 看成Elasticsearch ┌──────────────────┐ │ 文档库 │ ├──────────────────┤ │ 建立倒排索引(Index)│ ├──────────────────┤ │ 全文搜索 │ │ 模糊搜索 │ │ 排序 │ │ 聚合分析 │ └──────────────────┘它最核心的技术就是倒排索引Inverted Index什么是倒排索引例如有三篇文档Doc1 今天学习人工智能Doc2 今天学习PythonDoc3 人工智能发展很快普通数据库保存的是Doc1 - 今天 学习 人工智能Doc2 - 今天 学习 PythonDoc3 - 人工智能 发展 很快ES 会建立一个反向索引今天 ├── Doc1 └── Doc2 学习 ├── Doc1 └── Doc2 人工智能 ├── Doc1 └── Doc3 Python └── Doc2 发展 └── Doc3这样搜索人工智能ES 根本不用扫描所有文档直接找到 人工智能 ➡️ Doc1 Doc3速度非常快。ES 检索是什么就是在 Elasticsearch 中搜索数据。例如用户输入LangChain 怎么调用工具ES 会① 分词 LangChain 调用 工具↓② 去倒排索引找 LangChain ↓ Doc12 Doc56 Doc98↓③ 算相关度 BM25↓④ 返回最相关文档这整个过程就是 ES 检索。ES 能检索什么几乎任何文本PDF、Word、Markdown、网页、聊天记录、代码、日志(Log)、商品、新闻、论文、邮件例如公司知识库 ↓ 100万份PDF ↓ 全部导入ES ↓ 员工输入 年假怎么算 ↓ ES找到员工手册ES 与 AI 知识库是什么关系现在的大模型知识库通常有两种检索方式。AI知识库 │ ├──────────────┐ │ │ ES检索 向量检索 (BM25) (Embedding) │ │ └──────┬───────┘ 混合检索第一种ES关键词检索例如用户搜索 GPT-4 TurboES 找GPT 4 Turbo匹配包含这些词的文档。优点是很快、很准关键词完全一致、成熟稳定缺点是不会理解语义。例如汽车、机动车ES 默认认为不是一个词。第二种向量检索Vector Search把文字变成向量汽车 ↓ [0.21 0.53 0.88 ...]机动车↓ [0.22 0.54 0.86 ...]距离很近。因此汽车≈机动车。AI 能理解同义词、近义词、语义这就是 RAG 的核心。为什么很多 AI 公司还要用 ES因为 ES 有很多向量数据库不擅长的能力。例如用户问2024年的合同ES 可以精准过滤年份2024再比如文件类型PDF 部门法务 时间2025 作者张三这些条件筛选ES 做得非常成熟。大模型知识库里的 ES目前很多公司的架构是用户问题 │ ▼ Query Rewrite │ ┌──────────┴──────────┐ ▼ ▼ ES(BM25) Vector DB 关键词检索 语义检索 ▼ ▼ └──────────┬──────────┘ ▼ Hybrid Search ▼ Rerank(重排序) ▼ Top K ▼ LLM这就是目前主流的RAG检索增强生成架构。
返回列表