手把手教学--小程序接入AI大模型背景介绍 在过去的几年中,人工智能技术尤其是大规模预训练模型(俗称AI大模型)取得了显

背景介绍

在过去的几年中,人工智能技术尤其是大规模预训练模型(俗称AI大模型)取得了显著的进展。这些模型因其强大的学习能力和通用性,能够处理从自然语言处理到计算机视觉等多种任务,已被广泛应用于各个行业。

对于开发者而言,将AI大模型接入小程序能够显著提升应用的智能化水平,提高用户体验和业务价值,这次接入的是星火大模型

准备工作

1.注册星火账号

网址:www.xfyun.cn/

根据提示注册账号,领取免费试用流量 2.创建应用

网址:console.xfyun.cn/app/myapp

创建完后获取appid***(重要,后面要用appid)***

接入AI大模型的步骤

接口鉴权

                   // httpUrl: "https://spark-api.xf-yun.com/v3.5/chat"
	           // 鉴权
			getWebSocketUrl() {
				console.log(this.httpUrl)
				var httpUrlHost = (this.httpUrl).substring(8, 28);
				var httpUrlPath = (this.httpUrl).substring(28);
				console.log(httpUrlHost)
				console.log(httpUrlPath)
				switch (httpUrlPath) {
					case "/v1.1/chat":
						this.modelDomain = "general";
						break;
					case "/v2.1/chat":
						this.modelDomain = "generalv2";
						break;
					case "/v3.1/chat":
						this.modelDomain = "generalv3";
						break;
					case "/v3.5/chat":
						this.modelDomain = "generalv3.5";
						break;
				}
				console.log(this.modelDomain)


				return new Promise((resolve, reject) => {
					// https://spark-api.xf-yun.com/v1.1/chat  V1.5 domain general
					// https://spark-api.xf-yun.com/v2.1/chat  V2.0 domain generalv2
					var url = "wss://" + httpUrlHost + httpUrlPath;
					var host = "spark-api.xf-yun.com";
					var apiKeyName = "api_key";
					var date = new Date().toGMTString();
					var algorithm = "hmac-sha256";
					var headers = "host date request-line";
					var signatureOrigin = `host: ${host}\ndate: ${date}\nGET ${httpUrlPath} HTTP/1.1`;
					var signatureSha = CryptoJS.HmacSHA256(signatureOrigin, this.APISecret);
					var signature = CryptoJS.enc.Base64.stringify(signatureSha);
					var authorizationOrigin =
						`${apiKeyName}="${this.APIKey}", algorithm="${algorithm}", headers="${headers}", signature="${signature}"`;
					var authorization = base64.encode(authorizationOrigin);
					url = `${url}?authorization=${authorization}&date=${encodeURI(date)}&host=${host}`;

					// console.log(url)
					resolve(url); // 主要是返回地址
				});
			},


注:APIKey:填成您的实际 API 密钥; APISecret:填成您的实际 API 密钥密钥

API调用方法

async sendToSpark() {

				let myUrl = await this.getWebSocketUrl();
				this.tempRes = "";
				this.sparkResult = "";
				let realThis = this;
				this.socketTask = uni.connectSocket({
					//url: encodeURI(encodeURI(myUrl).replace(/\+/g, '%2B')),
					url: myUrl,
					method: 'GET',
					success: res => {
						console.log(res, "ws成功连接...", myUrl)
						realThis.wsLiveFlag = true;
					}
				})
				realThis.socketTask.onError((res) => {
					console.log("连接发生错误,请检查appid是否填写", res)
				})
				realThis.socketTask.onOpen((res) => {
					this.historyTextList.push({
						"role": "user",
						"content": "梦见" + this.TEXT + "意味着什么"
					})
					console.info("wss的onOpen成功执行...", res)
					// 第一帧..........................................
					console.log('open成功...')
					let params = {
						"header": {
							"app_id": this.APPID,
							"uid": "aef9f963-7"
						},
						"parameter": {
							"chat": {
								"domain": this.modelDomain,
								"temperature": 0.5,
								"max_tokens": 1024
							}
						},
						"payload": {
							"message": {
								"text": this.historyTextList
							}
						}
					};
					console.log("请求的params:" + JSON.stringify(params))
					// this.sparkResult = this.sparkResult + "\r\n梦境:" + this.TEXT + "\r\n"
					this.sparkResult = this.sparkResult + "梦境解析:"
					console.log("发送第一帧...", params)
					realThis.socketTask.send({ // 发送消息,,都用uni的官方版本
						data: JSON.stringify(params),
						success() {
							console.log('第一帧发送成功')
						}
					});
				});

				// 接受到消息时
				realThis.socketTask.onMessage((res) => {
					console.log('收到API返回的内容:', res.data);
					let obj = JSON.parse(res.data)
					// console.log("我打印的"+obj.payload);
					let dataArray = obj.payload.choices.text;
					for (let i = 0; i < dataArray.length; i++) {
						realThis.sparkResult = realThis.sparkResult + dataArray[i].content
						realThis.tempRes = realThis.tempRes + dataArray[i].content
					}
					// realThis.sparkResult =realThis.sparkResult+ 
					let temp = JSON.parse(res.data)
					// console.log("0726",temp.header.code)
					if (temp.header.code !== 0) {
						console.log(`${temp.header.code}:${temp.message}`);
						realThis.socketTask.close({
							success(res) {
								console.log('关闭成功', res)
								realThis.wsLiveFlag = false;
							},
							fail(err) {
								console.log('关闭失败', err)
							}
						})
					}
					if (temp.header.code === 0) {
						if (res.data && temp.header.status === 2) {
							realThis.sparkResult = realThis.sparkResult +
								"\r\n**********************************************"
							this.historyTextList.push({
								"role": "assistant",
								"content": this.tempRes
							})
							/* let dataArray= obj.payload.choices.text;
							for(let i=0;i<dataArray.length;i++){
								realThis.sparkResult =realThis.sparkResult+ dataArray[i].content
							} */
							setTimeout(() => {
								realThis.socketTask.close({
									success(res) {
										console.log('关闭成功', res)
									},
									fail(err) {
										// console.log('关闭失败', err)
									}
								})
							}, 1000)
						}
					}
				})
			},
		

注:APPID填你实际的id

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

在这里插入图片描述
在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)

在这里插入图片描述
👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
### 如何将AI集成到系统中 #### 使用的框架 为了将AI功能集成到现有的系统中,可以考虑使用专门为Java开发者设计的 **Spring AI** 框架及其扩展版本 **Spring AI Alibaba**[^3]。这些框架通过提供高层次的抽象和预定义的依赖管理机制,极大地简化了AI模块的引入流程。 在实际操作过程中,如果项目基于Maven构建,则可以在`pom.xml`文件中添加所需的AI模块依赖项来启用特定的人工智能能力。例如,要支持OpenAI的服务交互,可按如下方式配置: ```xml <dependencies> <!-- 添加 OpenAI 支持 --> <dependency> <groupId>org.springframework.experimental.ai</groupId> <artifactId>spring-ai-openai</artifactId> </dependency> </dependencies> ``` 上述代码片段展示了如何利用Spring生态系统的灵活性快速接入外部AI服务[^2]。 --- #### 集成API的方式 当讨论到具体的API集成方法时,需理解API作为不同软件组件之间沟通桥梁的重要性。在一个无服务器(Serverless)计算环境中,RESTful API扮演着至关重要的角色——它们允许前端应用或其他微服务无缝调用后端部署好的机器学习模型预测逻辑[^1]。 创建一个典型的RESTful API通常涉及以下个方面: 1. 定义清晰的数据传输格式(如JSON或XML),以便于客户端解析返回的结果; 2. 设计合理的HTTP请求路径结构,比如 `/predict/{model_name}` 表示针对某种具体算法执行推理任务; 3. 实现错误处理机制以应对潜在异常情况的发生。 下面是一个简单的Spring Boot控制器例子,演示怎样暴露这样的接口供外界消费: ```java @RestController @RequestMapping("/api/v1/predict") public class PredictionController { @GetMapping("/{modelName}") public ResponseEntity<String> predict(@PathVariable String modelName, @RequestParam Map<String,String> params){ // 调用对应的AI模型并获取结果... String result = callModelService(modelName,params); return new ResponseEntity<>(result, HttpStatus.OK); } } ``` 此段代码说明了如何借助Spring MVC特性轻松搭建起可供远程访问的智能化业务单元。 --- #### 服务层面的选择 除了主流云端供应商所提供的托管型解决方案外,像DeepSeek这样专注于高性能大语言模型研发的企业也推出了便于个人及小型团队使用的本地化安装包集合[^4]。这意味着即使不具备强大的硬件设施或者不愿意完全依赖第三方平台的情况下,仍然能够享受到前沿技术带来的便利之处。 综上所述,在现代软件工程实践中,无论是选用成熟的开源工具链还是自行定制开发路线图,合理规划好各个层次间的协作关系都是成功实施AI战略的关键所在。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值