第 69 期 - AIGC 对文档搜索方案的影响及未来展望
摘要
本文阐述了文档搜索的重要性,介绍传统搜索方案的原理、局限,讲述 AIGC 技术在文档搜索中的应用、相关架构、基础设施、上层应用,分析 AIGC 搜索的局限,指出未来搜索形态将是传统搜索与 AIGC 搜索的结合。
一、文档搜索的重要性
文档搜索对文档站点来说是非常重要的功能,它能帮助用户在众多文档里迅速找到所需内容。
二、传统搜索方案
(一)代表方案
传统的全文检索领域有一些经典的搜索方案,例如轻量高性能的 MeiliSearch、基于 Lucene 的 Elasticsearch 和用 JS 实现的 FlexSearch 等。
(二)工作原理
1. 索引阶段
- 分词:利用 IK Analyzer、jieba 等分词器对文档内容分词得到词条。
- 文档分析:对词条进行去除停用词、同义词替换、大小写转换等操作。
- 建立倒排索引:建立词条和文档的关系,如给出文档示例和倒排索引示例。
2. 查询阶段
- 分词和分析:对用户输入关键词进行分词和文档分析操作。
- 文档召回:根据关键词从倒排索引找包含关键词的文档。
- 文档排序:用 BM25、TF - IDF 等相关性算法对召回文档排序。
- 结果返回:将排序后的结果返回给请求端。
(三)传统搜索的局限
当出现语义相同但词条不同的情况时,传统搜索方案会导致搜索结果不准确,如给出三句语义相似但词条不同的句子示例。
三、AIGC 技术在文档搜索中的应用
(一)AIGC 解决语义理解问题
AI 大语言模型经大量训练后有语义理解能力,能根据上下文语义推理,如 DeepLearning.AI 的 Prompt Engineering 课程中的例子。
(二)基于 AI 的文档搜索架构
1. 面临的问题
以 Modern.js 框架文档为例,若一次性将所有文档作为 AI 模型的输入,会面临计算量大、算力消耗巨大以及输入长度受限等问题,同时 Open AI 官方的 Open API 无法做到完整上下文保存,“微调”性价比极低。
2. 解决方案
采用 Embedding + Prompt Tuning 的方式。
- Embedding:将文档内容分块转换为低维向量存储,可存储在内存、文件或向量数据库(如 PostgreSQL 配合 pgvector 插件),搜索时通过向量相似度过滤相关文档。
- Prompt Tuning:不需要大量训练集数据,重点在完善 Prompt 内容以达到更好输出效果。
3. 整体架构
- 索引阶段:处理不同类型数据源,拆分为内容块转换为 Embedding 存储到向量数据库。
- 查询阶段:验证问题安全性,对问题内容 Embedding 得到向量表示,通过向量数据库搜索相关文档,将文档内容和问题内容作为 Prompt 输入,通过 Prompt Tuning 得到最终结果。
四、AIGC 搜索的基础设施
(一)Supabase
- 是开源后端服务,定位为 Firebase alternative,基于 PostgreSQL,提供 pgvector 插件支持向量存储和相似度搜索,可在其中存储 Embedding 并通过 SQL 语句搜索相似文档,其官网搜索页面接入了 AI 问答和 AI 生成 SQL 功能,还为 AIGC 应用提供基础服务。
(二)langchain
- 出现原因:解决直接使用 Open AI 官方 API 存在的无法保存上下文、不能联网、无法处理不同格式文档等问题。
- 概念:如果 Open AI 是 AI 的底层框架,langchain 就是元框架。在知识库问答领域有 Index 和 Chain 两个核心概念,分别对应建立索引和 Prompt Tuning 过程。
- 组件:
- Document Loader:从不同数据源加载文档,如 JSON Loader 示例代码。
- Text Splitter:将文档拆分为 chunk,如 MarkdownTextSplitter 示例代码。
- Vector Stores:存储 Embedding,如 Supabase 存储示例代码。
- Retrievers:从不同 Vector Stores 检索相似文档,如 Supabase 检索示例代码。
- 在搜索阶段提供 LLM Chain 封装方便 Prompt Tuning,如 RetrievalQAChain 和 ConversationalRetrievalQAChain。
五、上层 AI 应用
(一)Markprompt
- 基于 Supabase 的 AI 搜索应用,核心功能可用,提供用户登录、项目管理、文档上传、AI 问答效果预览、前端组件接入的完整解决方案,可通过 React 组件接入。
(二)CopilotHub
- 基于知识库的 AI 问答应用,支持自定义知识库数据,但目前完成度不高,存在上传文件类型不灵活、仅能在平台内使用、Gallery 概念下知识库应用水平参差不齐等问题。
(三)Mendable
- 旨在提供完整 AI 问答解决方案,但目前处于 Alpha 阶段,功能不稳定,之前测试连 Markdown 文件上传都做不到,官网文档不完善,亮点是支持多种数据源。
六、AIGC 搜索的局限
- 计算量大:将文档转换为 Embedding、进行向量相似度搜索和 LLM 模型计算消耗大量计算资源,算力成本高。
- 等待时间久:与传统搜索的毫秒级响应速度相比,AIGC 搜索需要数秒才能得到完整结果。
- 关键词搜索场景:对于简单关键词搜索场景,AIGC 搜索成本高,传统搜索更合适。
七、未来搜索形态
未来的搜索形态应该是传统搜索和 AIGC 搜索的结合,根据用户的不同情况和搜索内容需求选择不同的搜索方案。
扩展阅读
Made by 捣鼓键盘的小麦 / © 2025 Front Talk 版权所有