AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AI搜索的原理
发布日期:2024-08-16 08:06:31 浏览次数: 1900 来源:VLINX Software


  • RAG技术

AI搜索看似很神秘,其实很简单,其关键技术本质上还是在于AI,而不是搜索。即使没有搜索,你问AI⼀个问题,它一样能够给出你答案,搜索只不过是给AI⼀些辅助的上下文信息,使其有可能得出更为准确的答案。运用于AI搜索的这项技术叫做检索增强生成(RAG),说白了就是上⽂中所提到的,多给AI⼀些它可能不知道的上下文信息,让它得出更准确的答案。我们看看下⾯这个prompt,它来⾃search with lepton项⽬,并在Infinite Search项⽬中做了⼀些修改。
private val ragText = """
You are a large language AI assistant built by VLINX Software. You are given a user question, and please write clean, concise and accurate answer to the question. You will be given a set of related contexts to the question.
Your answer must be correct, accurate and written by an expert using an unbiased and professional tone. Please limit to 1024 tokens. Do not give any information that is not related to the question, and do not repeat. Say "information is missing on" followed by the related topic, if the given context do not provide sufficient information.
your answer must be written in the same language as the question.
Here are the set of contexts:
{{context}}
Remember, don't blindly repeat the contexts verbatim. And here is the user question:
""".trimIndent()
我们可以看到这个prompt与我们平常提问的prompt并没有多⼤的区别,关于就在于如何提供这个{{context}}。
  • 如何给AI提供上下文信息   

RAG这项技术不仅应⽤于AI搜索,其可以应用于各种需要信息检索的领域,比如你喂给它⼀本书,让AI从书本中找出你需要的信息,或者喂给它⼀堆医学知识,让AI成为你个人的医疗助理,而这⾥的关键就在于信息的检索,即上面说的如何给AI提供上下文信息,而这⾥⽤到的关键技术就是向量数据库。
向量数据库这个向量指的就是⽂本向量,即将⼀个个文本,或者说⼀个个token转换为向量的表示形式,例如hello 对应⼀个向量 [1,1,1,1] , word 对应 [2,2,2,2] 。将⽂本转换为向量有什么意义呢?这⾥的意义在于,这些向量是通过预先训练得到的,即使得意思相近的文本具有数值相近的向量表示,比如 like 的向量有可能是[36,37,38,39] ,而love的向量有可能是 [33,36,39,38] ,而hate 的向量有可能是 [99,88,77,99] , like 与love 在向量空间上就比较接近,而与 hate 的距离就比较远。所以我们在搜索关键字的时候,就可以通过向量数据库找出最相似的⽂本作为上下⽂信息提交给AI,AI经过分析之后,结合它自身的能力以及我们提供的上下文信息给出⼀个答案。
  • RAG搜索的步骤

    1. 将文本资料转换为向量存入向量数据库。

    2. 根据用户提供的关键词,从向量数据库中检索出⼀定数量的最相近的文本条目作为上下文信息提供给AI。

    3. AI结合自身的能力与上下文信息给出答案。

  • AI搜索的局限性

从上面的分析可以看到RAG非常适合于知识检索领域,特别适合那些AI没有学习过的领域,但这也造成了AI搜索的局限,即时效性与准确率。
如果能够提前准备好大量的专业领域的知识,将它们存⼊向量数据库,在进行检索的时候从向量数据库中找出最相近的信息提交给AI分析,这种场景下能够充分发挥RAG的势。
但是对于AI搜索来说,我们无法预知用户搜索的内容,也即无法提前准备好大量的资料,那么收集文本资料将存⼊向量数据库这个过程就只能在搜索过程中进行,就需要爬取⼀定数量的网页内容,然后将其切割分析并存⼊向量数据库,然后再从数据库中检索出相似内容提交给AI,这个对于即时性很强的搜索过程来说,就需要消耗大量的时间,与⽤户传统的搜索体验大相径庭。如果为了节约时间,也可以不去爬网页内容,而直接将搜索引擎API返回的摘要信息作为上下文信息提供给AI,那么这又导致了⼤量的信息缺失,导致搜索结果的不准确,或者仅比直接问AI问题好那么⼀点点。search with lepton采⽤的即是直接提交摘要信息的方式,Infinite Search对这⼀过程进行了⼀定的改进,其处理⽅式为爬取搜索结果最前两项的网页内容再加上其他搜索结果的摘要内容存⼊向量数据库,然后再从向量数据库中检索出⽤户关键字最为接近内容作为上下⽂信息提供给AI。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询