什么是大模型
大模型,是指具有大模型参数和复杂计算结构的机器学习模型,这些模型通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数,其设计目的在于提高模型的表达能力和预测性能,以应对更加复杂的任务和数据;
大模型,简单来说,就是一个特别聪明,特别能干的‘大脑’,这个‘大脑’由很多个小小的‘神经元’组成,每个‘神经元’都能处理一部分信息,当这些‘神经元’一起工作时,大模型就能理解并回答各种问题,或者完成各种复杂的任务,就像你又一个超级聪明的助手,它能帮你写邮件,写PPT,回答你的各种问题等等,它就像是一个上知天文,下知地理,无所不知的人。
如何训练大模型
要训练一个大模型不容易,需要给它提供很多学习材料,就像我们小时候读书学习一样,而且为了让这个‘大脑’更聪明,还需要很多高级的计算机设备来帮助它学习。
训练大模型:
1.高性能的CPU和GPU,多核心和高主频的CPU以及支持CUDA的GPU加速训练过程;
2.大容量存储设备,训练大模型需要存储大量的数据集,模型参数和中间结果;
3.高速网络连接,通过网络连接将训练任务分配到多个计算节点上,
4.深度学习框架,如TensorFlow,PyTorch等,这些框架提供了构建和训练模型的工具和库;
5.分布式训练框架,为了加速大模型的训练,可以使用分布式训练框架,如Horovod,Ray等;
6.编程语言和工具,Python是深度学习领域最常用的编程语言,还有(如Git)来管理代码和版本迭代;
7.训练大模型非常耗电,高性能计算机和GPU进行长时间的工作,需要消耗大量的电力;
Sping AI
Sping AI是一个AI工程领域的应用程序框架;
它的目标是将Spring生态系统的设计原则应用于人工智能领域,比如Spring生态系统的可移植性和模块化设计,并推广使用POJO来构建人工智能领域应用程序;
Spring AI并不是要构建一个自己的AI大模型,而是让你对接各种AI大模型;
开发Spring AI程序的前期准备
1.本机电脑要可以访问OpenAI网站https://openai.com/
2,要有OpenAI的API Key;(注册账号或者购买)
API-Key:sk-3sfER03LDLG3SDFsdlwe2283JSdw023lkrmrHDND32fmREKFD 淘宝购买一个 搜索 open ai api key
开发Spring AI应用程序
Spring AI应用程序也是基于Spring Boot进行开发
1,建项目,创建一个Spring Boor项目
2,加依赖,加入spring-ai-openai-spring-boot-starter依赖;
ai依赖:
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency>
开发Spring AI应用程序
pom.xml配置
1.继承父项目:
<dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>${spring-ai.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
<properties><java.version>17</java.version><spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version></properties>
2.配置项目依赖下载的仓库
<!-- 配置本项目的仓库 因为maven中心仓库还没有更新spring ai的jar包 --><repositories><!-- 快照版本的仓库--><repository><id>spring-snapshot</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository></repositories>
3.配文件 application.yml
spring:
application:
name: spring-ai-01-chat
ai:
openai:
api-key: sk-3sfER03LDLG3SDFsdlwe2283JSdw023lkrmrHDND32fmREKFD
base-url: https://api.openai.com
chat:
options:
#model: gpt-4-32k
temperature: 0.3F
聊天API
4.写代码
注入OpenAiChatClient
/**
* spring - ai 自动装配的,可以直接注入使用
*/@ResourceprivateOpenAiChatClient openAiChatClient;
调用call方法
openAiChatClient.call(msg);
5.去运行
packagecom.example.controller;importjakarta.annotation.Resource;importorg.springframework.ai.chat.ChatResponse;importorg.springframework.ai.chat.prompt.Prompt;importorg.springframework.ai.openai.OpenAiChatClient;importorg.springframework.ai.openai.OpenAiChatOptions;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;importreactor.core.publisher.Flux;@RestControllerpublicclassChatController{
/**
* spring - ai 自动装配的,可以直接注入使用
*/@ResourceprivateOpenAiChatClient openAiChatClient;/**
* 调用OpenAI的接口
* @param msg 我们提的问题
* @return
*/@RequestMapping(value ="/ai/chat")publicStringchat(@RequestParam(value ="msg")String msg){
System.out.println(msg);String called = openAiChatClient.call(msg);return called;}/**
* 调用OpenAI的接口
* @param msg 我们提的问题
* @return
*/@RequestMapping(value ="/ai/chat2")publicObjectchat2(@RequestParam(value ="msg")String msg){
System.out.println(msg);
版权归原作者 时光浅止 所有, 如有侵权,请联系我们删除。