作者:陈勇
看到网上有人说DeepSeek没吹的那么神,用起来还不如豆包、Kimi之类,这其实是混淆了大语言模型与应用。由于DeepSeek的网站和APP也叫同名,所以更容易混淆。大语言模型要放在应用框架内,才能正常运行,通常用的是RAG框架,还会涉及到向量数据库,本文就来讲解一下这些基础概念。
大语言模型(Large Language Model,英文缩写为LLM,以下均用缩写)本身是不能直接工作的,可以将它理解成核心处理模块,为了让它工作,还需要给它安上一些组件:
LLM的组件
当然也可以省去后两者,将查询(query)直接交给LLM处理。我们输入的查询包括问题或指令,都是自然语言的形式,可以是大白话,但为了让LLM更好地运行,这就需要在提示词(prompt)上做文章。可以人工进行转化,也可以借助专门的工具。
安上组件后,才算是围绕着LLM建立起应用,LLM才能正常工作。
稍微展开说一下资料库。首先,LLM在生成时采用的数据有时间节点,比如截止到2024年12月31日,因此在这之后的数据就没有了。其次,LLM一般都是通用大模型,缺少专项的资料。基于这两点,就需要准备检索资料库,与LLM搭配使用。
LLM应用框架
见上图,应用框架分成左右两部分,左边是查询及生成,右边是资料库准备(数据获取)。在搭建好应用框架后,就要开始建资料库,将txt、pdf、doc等格式的资料存储到数据库中,就做好了数据库准备。实际应用时,检索路由会根据输入的提示词进行判断,如果需要的话就会接入资料库,要么从数据库中检索数据,要么从网上检索数据,再将结果输入LLM,运行后得到结果。
有了上面的简化说明,接下来就可以了解RAG技术了。RAG的全称是Retrieval-Augmented Generation,意思是增强的检索生成。RAG有什么用呢?简单说就是用来优化LLM的提示词,以便LLM输出的结果更高效、更精准。
RAG应用
RAG可不只是简单地对输入的问题(或指令)进行处理,而是靠三个利器:
LLM所使用的资料库是一个向量数据库,它的配套工具是嵌入模型。我们日常使用的文本、图像等文档属于高维数据,很难直接进行检索,为了便于检索,就要将他们转换成低维度的向量数据,这个过程称为嵌入(embedding),就是通过嵌入模型进行的转换。
向量数据库
向量数据嵌入不是实时的,而是要提前生成向量数据库,将txt、doc、pdf等格式的文档传入,通过嵌入模型转换成向量数据,再存储到向量数据库并形成索引,这就是我们所说的本底资料库。应用的时候,我们输入的查询经过嵌入模型转换成向量数据,然后到向量数据库中进行检索,找到查询向量和相关向量,形成上下文(context)。再将上下文结合提示词输入给LLM,运行后就得到了最终结果。
了解了RAG,我们就清楚了LLM应用的结果是否靠谱,不只取决于LLM本身,还跟RAG的向量数据库和检索有关,并且不同LLM对于提示词的处理也会有所区别。就拿DeepSeek来说,现在很多平台争相接入,但各平台的性能和产出质量有很大差别,就是因为硬件和RAG上的差别。
下篇文章将讲解LLM是怎么生成的、DeepSeek究竟有哪些过人之处。
更新时间:2025-05-16
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-=date("Y",time());?> All Rights Reserved. Powered By 61893.com 闽ICP备11008920号
闽公网安备35020302035593号