1、pom.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>springbootai</groupId><artifactId>springbootai</artifactId><version>1.0-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.0</version></parent><dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><!-- Spring Boot Web Starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Spring AI OpenAI Starter --><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId></dependency><dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5</artifactId></dependency></dependencies></project>
2、? ? ? ? application.yml配置
spring:http:client:factory: http_componentsai:openai:api-key: #自己創建的密鑰base-url: https://api.siliconflow.cnchat:options:model: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
logging:level:root: debug
3、啟動類編寫
package com.spring.ai;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication(scanBasePackages = {"com.spring.controller"})
public class SpringAiApplication {public static void main(String[] args) {SpringApplication.run(SpringAiApplication.class, args);}}
4、controller 編寫
package com.spring.controller;import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.*;
@RestController
@CrossOrigin(origins = "*")public class SpringAiController {private ChatClient chatClient;public SpringAiController(ChatClient.Builder chatClientBuilder) {this.chatClient = chatClientBuilder.build();}@PostMapping ("/ai")public String test(String input) {return chatClient.prompt().user(input).call().content();}}
5、客戶端訪問html編寫。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){$("button").click(function(){var aiinpputidvalue=$("#aiinpputid").val()$("#showwait").show() $("#showtext").hide()$.post("http://localhost:8080/ai",{input:aiinpputidvalue,},function(data,status){$("#showwait").hide() $("#showtext").html(data)$("#showtext").show()//alert("數據: \n" + data + "\n狀態: " + status);});});});</script>
</head>
<body>
<input id="aiinpputid"><button>搜索</button>
<div id="showwait"style="display:none" >正在查詢請等待</div>
<div id="showtext"></div>
</body>
</html>
6、測試方法直接打開第五步html文件,
(1)文本框輸入自己想要練習的對話
?(2)點擊搜索即可