Hello各位兄弟姐妹大家好,我是黑马程序员的虎哥。
接下来会给大家带来一系列文章,科普一下AI大模型开发的知识。
如果觉得文章有帮助的话,希望大家点赞、转发支持一下!
前言
2022年11月30日,OpenAI公司发布了GPT3.5模型,同时对外开放了ChatGPT产品。人工智能突然进入了普通人的生活中,各种AI应用如雨后春笋般出现。
不过,大部分的AI应用都还处于探索阶段。
传统应用究竟该如何与AI结合?没有人有正确答案,所有的企业和开发者都在不断摸索,争做AI时代的引领者。
Java语言,作为服务端应用的开发的佼佼者。自然也是不甘落后。Java领域鼎鼎有名的Spring公司率先推出的SpringAI框架,正是Java对AI大模型开发的一种探索。
接下来我会用一系列的文章带着大家从Java程序员的角度,学习大模型开发的基本知识,走出AI大模型应用开发的第一步。
什么是大模型
大语言模型(Large Language Models,简称LLM )是自然语言处理(NLP)领域最突出的一项技术方案,它通过大规模的预训练来学习人类语言,具备处理和生成人类语言文本的能力。
相信大家对于现在市面上的大模型都不陌生,例如:
不过,大家一定要分清大模型和基于大模型的对话产品哦。 比如阿里巴巴的Qwen-Max是大模型,而通义千问是智能对话产品,通义灵码是智能编程助手,都是基于Qwen大模型。
大模型能做什么?
人类写的代码具备很强的逻辑处理能力、计算能力,但是确无法理解人类语言,因此无法直接与人交互。
AI大模型的强项则是自然语言处理,即理解、生成人类语言。这恰好是传统编程的弱项。
所以,我们可以用大模型做很多文字处理工作。例如:
1.格式化输出
大模型可以提取大段文字中的关键信息,并按照要求格式化输出。 比如你对AI说:
"帮我订一杯冰美式,3分糖,送到金燕龙办公楼黑马程序员,电话18616888888, 张先生收。" 提取出外卖商品名称、数量、口味、地址、电话信息,以JSON格式输出。
AI就会分析内容,输出以下格式:
{
"product": "冰美式咖啡",
"amount": 1,
"taste": "3分糖",
"receiver": "张先生",
"address": "金燕龙办公楼黑马程序员",
"phone": "18616888888",
}
接着,我们写的代码就可以读懂JSON数据,处理并自动下单了。
你看,大模型帮我们读懂人类意图,并将人类意图转为代码能看懂的格式,然后代码完成自己擅长的部分。这就是大模型与传统代码结合的妙处。
2.分类
大模型还可以读懂文字内容,并根据内容做分类。
例如,大模型可以将大量用户的评价进行分类:
- 正面评价
- 普通负面评价
- 严重负面评价
以往,这些工作靠传统代码分类很可能出现误判,很多都需要靠人工完成最后的分拣。但是AI却非常擅长这种工作,几乎不会出错。
3.其他
大模型的能力远不止于此,例如:
- 技术问答:大模型训练了大量技术数据,对于技术问题的回答往往比较专业
- 代码生成:AI辅助代码开发,大大提高开发效率
- 知识库:让大模型基于私有知识库回答问题
- 坐席质检:检查客服人员与用户的对话记录,判断是否存在不当言论
大模型如何工作?
通俗的来讲,大模型是根据上下文来猜测接下来输出什么词最合适(概率最高)。
所以,你会发现大模型输出内容的时候总是一个字一个字输出的。
由于大模型仅仅是通过概率计算来生成内容,因此大模型对于准确计算、逻辑推理其实是不擅长的。而且,大模型通过概率生成的结果并不一定是正确的,有的时候出出现一本正经的胡说八道的情况,我们称之为幻觉。
与之相反,传统的代码则更擅长计算、逻辑处理。
因此,大模型应用开发通常都是将大模型能力与传统代码能力相结合,取长补短,共同完成功能开发。
大模型应用开发技术架构
目前,大模型应用开发主要应用在以下领域:
而大模型开发的技术架构主要有4种:
- Prompt
- Agent + Function Calling
- RAG Embeddings
- Fine-tuning
1.Prompt
Prompt也叫提示词,是程序员与大模型交互的最主要方式。所以,也有人把Prompt称为AI时代的编程语言。
如果你把AI当成人来看,那么Prompt就是你给AI下达的命令。
不过,正因为要把AI当成人来看,所以Prompt的内容一定要与人对话一样,做到:
- 准确、无歧义
- 详细并且简练
- 不好说明的话尽量多举例
Prompt模式的交互流程如图:
纯Prompt开发模式就是纯粹利用大模型的推理能力来完成应用端无法实现或难以实现的功能。
主要的应用场景有:
- 文本摘要分析
- 舆情分析
- 坐席检查
2.Function Calling
Function Calling是Agent开发的必备技能。
其技术架构如图:
这一架构在多轮交互方面表现出色,AI 模型依据对话上下文,主动向用户提出问题来进一步明晰需求,随后通过调用函数执行像查询、预订之类的特定功能。例如,当你询问过年去哪玩时,它可能先反问你有多少预算,然后基于你提供的预算,去查询符合条件的旅游景点、酒店等信息,并帮你预订相关服务,整个过程十分智能且贴合实际需求。
3.RAG Embeddings
大模型的回答是基于概率和推理,不一定符合企业的个性化需求。
如果你希望大模型基于私有的知识库来回答问题,那么就可以使用RAG技术。其架构如图:
它巧妙地将 Embeddings 技术和向量数据库结合起来,先把文字转化为更易于相似度计算的编码(也就是向量),并存储在向量数据库中。当有需求时,利用向量搜索,根据输入向量快速找到最相似的向量,再结合检索结果生成更准确和相关的回答。像学生在学习过程中遇到难题时,它就能快速从知识库中检索相关学习资源,并提供相应解答,辅助学生更好地掌握知识。
4.Fine-tuning
Fine-tuning也就是模型微调,就是在基础大模型的基础上添加特定领域的深度训练,时期能够深入学习特定领域的技术和知识。
类似GPT-4o、通义千问大模型都是基础大模型,也叫预训练模型。主要训练的是对自然语言的处理能力,对于专业领域就不太擅长了,例如医疗诊断。
通过大量的医疗数据进行微调训练后,生成医疗专用大模型。就可以为医生提供精确的医疗诊断建议,成为医疗工作者的得力助手。
最后
好了,今天的分享就到这里了。今天虎哥主要给大家分享了以下内容:
- 什么是大模型
- 大模型的基本原理
- 大模型能做什么
- 大模型开发的技术架构
下一篇文章,虎哥将继续带着大家学习大模型应用开发技术,结合SpringAI,依次动手实践几种大模型应用开发的技术架构。
大家如果觉得有帮助的话,别忘了点赞、再看、转发支持一下哦。
我们不见不散!
福利时间
同学:
- 你是否还在为学习碰到问题找不到人询问而苦恼?
- 你是否还在发愁自己没有学习的目标和方向,不知道而如何规划大学时光?
- 你是否找不到合适的上手项目,缺乏项目经验?
黑马程序员最新推出的《黑马智学伴侣》服务,可以解决你的所有问题,伴你自学之路轻松无忧!
原价799元/年,现价只要399元/年!3天无理由退款,赶快来试试吧!