目录

📚 前言

📑Spring AI简介

   💬 项目配置

📚 系统功能的具体实现

 💬 编写Controller控件


📚 前言

📑博客主页:@丘比特惩罚陆

💖欢迎关注:点赞收藏⭐留言✒
💬系列专栏:Java 后端
🎮 加入社区: 丘比特惩罚陆
🥇人生格言:选对方向,每走一步都是进步!
✒️欢迎大佬指正,一起学习!一起加油!

👏 希望大家能小手一动,帮忙点个赞!


📑Spring AI简介

  什么是Spring AI呢,Spring AI并不是一个标准术语或现有的技术框架。"Spring"通常指的是Spring Framework,这是一个广泛使用的Java开发框架,专为构建企业级应用程序提供轻量级的依赖注入和管理工具。然而,说到Spring和AI的结合,可能是指Spring Boot与人工智能技术的集成,比如使用Spring for Machine Learning (S4ML)或Spring Cloud Stream与AI微服务相结合。

在实际中,开发者可能会用Spring Boot作为基础,构建包含机器学习模型、自然语言处理(NLP)或者其他AI组件的应用。但这并不是Spring官方项目的一部分,而是开发者利用Spring生态进行扩展和集成AI功能的例子。

  简单而言,Spring AI 是AI工程师所使用的一种应用性框架,通过提供出来的API和API key来进行开发应用,所用在于使用AI应用来简化开发工序流程。

  本文使用的是免费的API key进行文章的叙述(免费的API有生成限制,每天生成内容为100条为限制,使用的是ChatGPT 3.5免费非商用的API key进行讲解讲述,付费的自行获取,该文章只用于讲解Springboot项目如何使用SpringAI。)

📑 准备工作

    家政服务管理平台的主要功能的结构:

  1. 一个OpenAI的key秘钥;
  2. 一个可以使用的OpenAi的API地址;
  3. 一个java Springboot的jdk (本项目使用的为17版本);
  4. 一个开发软件 IDEA(本项目使用的是2023年的IDEA);

一般OpenAI 的key 秘钥和API地址都是要准备好的,很多人都是卡在这一步,所以我给大家提供了一个可以使用免费共享的API key,地址如下:

GitCode - 全球开发者的开源社区,开源代码托管平台

首先先是按部就班的先是设置好自己的登录信息:

进来之后就可以看到这个界面:

提供了GPT4在内的免费的可以申请的Key,还有其他的付费的五个模型,包括GPT4o,这里就不一一赘述;


📑项目搭建

第一步,我们先试用IDEA 大家一个Springboot项目,一定要使用JDK17的,其他版本的经过测试会出现版本报错的错误;建议大家还是使用17版本以上的JDK;

第二步:选择初始的依赖项

第三部:配置pom.xml的依赖;

  <repositories>
    <repository>
      <id>spring-snapshots</id>
      <name>Spring Snapshots</name>
      <url>https://repo.spring.io/snapshot</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>
    <dependency>
        <groupId>org.springframework.experimental.ai</groupId>
        <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
        <version>0.7.0-SNAPSHOT</version>
    </dependency>

完整的配置地方如下:

         

然后刷新Maven按照,将依赖包下载下来;

   💬 项目配置

打开我们的application配置,一般是新建的项目生成的是properties,我这边生成的也是properties,所以配置如下:

spring.application.name=lss-springAi

server.address=0.0.0.0
server.port=8889
server.error.whitelabel.enabled=false

spring.ai.openai.api-key= sk-KjOdJswQ2PrvrcsUGbNpcliB7FWVznupYap2X1tfGfSW0lqH
spring.ai.openai.base-url=https://api.chatanywhere.com.cn

其中的 spring.ai.openai.api-key:获取就是我们之前说的地址:点击:“申请内测免费Key”,进来就是一个这样的界面:

spring.ai.openai.base-url:就是在这个网址的下面,我们选择一个免费的国内中转就行;

📚 系统功能的具体实现

 💬 编写Controller控件

先是第一步先是新建一个controller层,然后新建一个自己可以命名的SpringAIController,如下:

源码内容如下:

package com.lushengshi.lssspringai.controller;

import org.springframework.ai.client.AiClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api/lss")
public class SpringAiController {

        private final AiClient aiClient;

        public SpringAiController(AiClient aiClient) {
            this.aiClient = aiClient;
        }

        @GetMapping("/chat")
        public String chat(
                @RequestParam(value = "input",defaultValue = "Hello") String message
        ){
            return aiClient.generate(message);
        }

    }

接着我们在启动类当中进行一下配置,因为我们使用的是免费的key和API地址,所以我们启动的时候需要配置一下端口和代理:

代码如下:

package com.lushengshi.lssspringai;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class LssSpringAiApplication {

    public static void main(String[] args) {
        System.setProperty("https://api.chatanywhere.tech","127.0.0.1");
        System.setProperty("http.proxyPort","8889");
        System.setProperty("https://api.chatanywhere.tech","127.0.0.1");
        System.setProperty("https.proxyPort","8889");
        SpringApplication.run(LssSpringAiApplication.class, args);
    }

}

这就配置完成了,然后我们就启动项目,然后到浏览器;输入地址:localhost:8889/api/lss/chat?input=xxxx,我测试成功了,然后因为在配置的时候我配置了跨域,所以在另一台计算机上,我使用服务器的地址来测试接口:

也是可以的。好了,今天的文章就到此为止,大家有什么疑问可评论区进行讨论!再此感谢PG Thinker 这位博主的提供的思路!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐