AI 搜索的底层逻辑主要是“检索增强生成(RAG)”,具体包括以下步骤:
在检索过程中,还涉及以下原理:
最后,全新的上下文被传递给大语言模型,大语言模型根据提供的信息生成准确和连贯的答案。影响 AI 搜索的关键因素包括挂载的上下文信息密度和基座模型的智能程度。在响应速度方面,Retrieve 要求联网检索信息的速度快,Generation 要求大模型生成内容的速度快,同时为提高准确度可能存在耗时的重排和获取内容详情步骤。
我选择做什么产品,一般有三个原则:1.是我很感兴趣的方向2.产品有价值,能带来成就感3.在我的能力范围内早在去年11月,就有朋友建议我研究一下AI搜索赛道的产品。当时我的第一想法是,搜索引擎应该是一类有很高技术壁垒的产品,不在我的能力范围,所以一直不敢尝试,也没花时间去研究。直到今年年初,有媒体报道:“贾扬清500行代码写了一个AI搜索引擎”,当时觉得很神奇,写一个AI搜索引擎这么简单吗?花了点时间研究了一下贾扬清老师开源的Lepton Search源码,Python写的,后台逻辑400多行。又看了一个叫float32的AI搜索引擎源码,Go写的,核心逻辑也就几百行。看完两个项目代码之后,开始“技术祛魅”,号称能颠覆谷歌/百度统治的新一代AI搜索引擎,好像也“不过如此”。底层技术概括起来就一个词,叫做“RAG”,也就是所谓的“检索增强生成”。1.检索(Retrieve):拿用户query调搜索引擎API,拿到搜素()结果;2.增强(Augmented):设置提示词,把检索结果作为挂载上下文;3.生成(Generation):大模型回答问题,标注引用来源;弄清楚AI搜索的底层逻辑之后,我决定在这个领域开始新的尝试。我给要做的AI搜索引擎产品取名“ThinkAny”,名字直译于我之前创立的一家公司“任想科技”。
[title]工具:我做了一个AI搜索引擎[heading1]ThinkAny是如何冷启动的[heading2]ThinkAny的产品特性20240619154427ThinkAny虽然第一个版本实现的比较简单,但在创立之初,就一直聚焦在三个核心问题。也就是我认为的,AI搜索的三个要义:准/快/稳。准确度是AI搜索的第一要义。用户之所以会选择使用AI搜索引擎,是因为传统搜索引擎不能第一时间给到用户想要的答案,往往需要点进去阅读几个链接的内容之后,才能得到足够多的信息。而AI搜索引擎,解决的第一个问题就是搜索效率问题,用AI代替人工,阅读检索内容,总结归纳后给到用户一个直接的答案。而这个答案,一定要有足够高的准确度。这是建立用户信任的基础,如果准确度不达标,用户使用AI搜索的理由就不成立。影响AI搜索的两个关键因素:挂载的上下文信息密度+基座模型的智能程度。ThinkAny在基座模型的选择上,集成了gpt-4-turbo / claude-3-opus等大参数模型,有非常高的智能程度。在上下文信息密度的问题上,采取了并行读取多个链接内容,暴力传输全部内容的策略。ThinkAny也缓存了历史对话,支持对搜索结果进行追问(连续对话)。AI搜索的响应速度要足够快AI搜索的底层原理是RAG,涉及到Retrieve和Generation两个步骤。Retrieve要求联网检索信息的速度足够快,Generation要求大模型生成内容的速度足够快。除了这两个步骤之外,为了提高搜索结果的准确度,需要对检索结果进行重排(Reranking),需要获取检索到的内容详情(Read Content),这两个步骤往往是耗时的。
[title]【AI+知识库】商业化问答场景,让AI回复更准确,一篇专为所有“小白”讲透RAG的实例教程(上篇)[heading3]2、检索原理1.信息筛选与确认:2.首先,系统会对检索器提供的信息进行评估,筛选出最相关和最可信的内容。这通常涉及到对信息的来源、时效性和相关性进行验证。3.消除冗余:4.在多个文档或数据源中,可能会有重复的信息。系统需要识别和去除这些冗余内容,以防在生成回答时出现重复或相互矛盾的信息。5.关系映射:6.系统将分析不同信息片段之间的逻辑和事实关系,如因果、对比、顺序等。这有助于构建一个结构化的知识框架,使得信息在语义上更加连贯。7.上下文构建:8.将筛选和结构化的信息组织成一个连贯的上下文环境。这通常包括对信息进行排序、归类和整合,使其形成一个统一的叙述或解答框架。9.语义融合:10.在必要时,系统可能会进行语义融合,即合并意义相近但表达不同的信息片段,以减少语义上的重复并增强信息的表达力。11.预备生成阶段:12.最后,整合好的上下文信息被编码成适合生成器处理的格式,如将文本转化为适合输入到生成模型的向量形式。④、大模型生成回答1、生成器:最终全新的上下文被一起传递给大语言模型。随后,大语言模型(LLM)根据提供的信息来回答问题。因为这个上下文包括了检索到的信息,因此大语言模型相当于同时拿到了问题和参考答案,通过LLM的全文理解,最后生成一个准确和连贯的答案。