当今时代AI大模型风靡世界,作为一个码农,应当紧跟时代潮流、顺应时代步伐,才不会被这个市场抛弃。接下来用尽量通俗的话来讲一下我对大模型开发中常见的一些名次的理解。任何一种实物,都应该从了解它是什么开始。
LLM
大模型,是所有AI技术的核心。
LLM是Large Language Model的缩写,中文含义是大语言模型,简称大模型。现在市场上主流的AI,如AI的鼻祖 OpenAI GPT 系列及后起之秀Anthropic Claude 系列、Google Gemini 系列等都是基于LLM实现的。
大模型本质上就是通过算法进行文字推理的过程。举个例子,手机输入法会自动背诵诸葛亮的《出师表》,其实大模型也是如此:大模型会根据前面的字推理出后面需要拼接的字并通过一个特殊的结束标识符返回答案。
Tokenizer
其实大模型推理的过程是一个复杂的矩阵运算的过程,它将一段文字进行切分,然后翻译成数字进行矩阵运算。既然是矩阵运算,那么一定得是通过数字进行的。
Tokenizer就是用来把文字与数字进行映射的工具。 将数字映射成数字的过程叫做编码 。 将数字映射成文字的过程叫做解码。
Token
是大模型处理数据的基本单位。
将一段文字进行切分得到多个元素,其中每个元素就叫做Token , 而将每个元素进行编码得到的数字叫做TokenId 。Token是大模型处理文本的最基本单位。
注:如果你了解过ES,Token和ES中的分词器,比如IK分词器切分出的词非常类似。
Context(上下文)
是大模型每次处理任务时候所接收的信息总和
为什么大模型能记住我们之前的聊天内容呢?答案是因为Context的存在。它和Java开发中的项目上下文是非常类似的,用来存储整个流程中需要的信息。
在大模型中Context就是大模型在处理任务时候接受到的信息总和。
Context Window(上下文窗口)
Context Window指的是Context能够容纳的最大的Token数量。
目前主流模型中Context Windows的大小一般在100万左右。一个Token大概是1.5个汉字,也就是说大概可容纳150万个汉字左右。
RAG
试想一下,假如有一个文本数量巨大的产品手册,难道我们要一下都扔给大模型吗?显然这样的成本是巨大的! 因此RAG提供了解决方案。
RAG可从大量文本中抽取与问题最为相关的几个片段交给模型。 这样就不会受Context Windows限制了.
Prompt(提示词)
用户或系统给大模型下达的具体指令或问题。
所谓Prompt就是大模型接受的具体问题或者指令,比如"帮我出一份旅游攻略"、"帮我出一份大模型学习的知识点"等等。一个好的提示词应该尽可能的具体明确,有个专门的领域叫做Prompt Engineering(提示词工程).Prompt又分为User Prompt和System Prompt。
User prompt:即用户提示词,用户自己输入的具体任务。
System Prompt:即系统提示词,是大模型后台配置的人设和做事规则。举个例子,如果是一个国内的大模型,你应该通过System Prompt告诉大模型,"你的发言应该遵守法律法规,谨言慎行"。 有了它的限制,大模型既能守住规矩 又能完成具体需求。
Tool
是大模型用来感知和影响外部环境的函数。
大模型有一个缺点,就是它不能感知外界环境的变化,比如问大模型"今天的天气怎么样?"。 模型是无法回答的,因为它不知道你当前的位置即当前时间。因此需要借助Tool查询天气情况。Tool可以理解为一个有输入和输出的函数。
需要注意的是模型本身不能调用Tool只负责筛选Tool,而实际调用Tool的是平台。
MCP
是给大模型统一了工具接入格式的标准协议。
MCP全称是Model Context Protool(模型上下文协议)。它是一个统一的工具接入标准。
MCP类似Java中的接口的作用,用来约定工具接入的方式,这样在开发工具的时候就不用为每个模型都写一套代码了。
Agent
是自主规划和调用工具,直至解决用户问题的程序。
Agent Skill
是给Agent看的说明文档。
它规定了agent做事的步骤和做事规则。