当前位置: 首页 > news >正文

自定义功能的网站网站1g空间多大

自定义功能的网站,网站1g空间多大,推进网站集约化建设的作用,制作一个网站要花多少钱文章目录Spring AI 整合OpenAI 聊天、做图创建项目导入项目至IDEA获取OpenAI相关配置配置步骤网站配置代码实现项目pom文件核心项目配置文件系统默认响应配置应用启动类Controller接口业务运行效果演示项目启动串行输出流式输出通用模型文字生成图片Spring AI 整合OpenAI 聊天、…

文章目录

  • Spring AI 整合OpenAI 聊天、做图
    • 创建项目
    • 导入项目至IDEA
    • 获取OpenAI相关配置
      • 配置步骤
      • 网站配置
    • 代码实现
      • 项目pom文件核心
      • 项目配置文件
      • 系统默认响应配置
      • 应用启动类
      • Controller接口业务
    • 运行效果演示
      • 项目启动
      • 串行输出
      • 流式输出
      • 通用模型
      • 文字生成图片


Spring AI 整合OpenAI 聊天、做图

创建项目

使用 https://start.spring.io/ 快速创建项目或者使用idea创建项目

项目版本和添加依赖
创建项目

依赖配置添加Spring Web和OpenAI
核心依赖

导入项目至IDEA

在IDEA中打开项目

在这里插入图片描述

获取OpenAI相关配置

配置步骤

这里使用https://api.xty.app
1、注册:https://api.xty.app/register?aff=PuZD
2、获取 ApiKey
3、整合Spring AI & 配置 OpenAI
4、测试

网站配置

网站首页
在这里插入图片描述
创建API令牌
在这里插入图片描述

代码实现

项目pom文件核心

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.hooyach</groupId><artifactId>spring_ai_demo</artifactId><version>0.0.1-SNAPSHOT</version><name>spring_ai_demo</name><description>spring_ai_demo</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version><spring-ai.version>1.0.0-M2</spring-ai.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.52</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.14</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><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><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

项目配置文件

application.yml

spring.application.name: spring_ai_demo
server:port: 8787
kele:
# 直连openai:key: ${OPAI_KEY}url: ${BASE_URL}
# 中转aicore:key: ${OPAI_KEY_MIDDLE}url: ${BASE_URL_MIDDLE}
spring:ai:openai:api-key: ${kele.aicore.key}base-url: ${kele.aicore.url}

系统默认响应配置

BuildMasterConfig.java

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** ClassName: BuildMasterConfig* Package: com.kele.spring_ai_demo.config* Description:*/
@Configuration
public class BuildMasterConfig {@BeanChatClient chatClient(ChatClient.Builder builder) {return builder.defaultSystem("你是一名建筑领域的大师").build();}
}

应用启动类

SpringAiDemoApplication.java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class  SpringAiDemoApplication {public static void main(String[] args) {String proxy = "127.0.0.1";String port = "7891";System.setProperty("proxyType", "4");System.setProperty("proxyPort", port);System.setProperty("proxyHost", proxy);System.setProperty("proxySet", "true");// 设置 HTTP 代理
//        System.setProperty("http.proxyHost", "127.0.0.1");  // 代理服务器地址
//        System.setProperty("http.proxyPort", "7891");       // 代理服务器端口SpringApplication.run(SpringAiDemoApplication.class, args);System.out.println("""⣿⣿⣿⠟⠛⠛⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢋⣩⣉⢻⣿⣿⣿⠀⣿⣶⣕⣈⠹⠿⠿⠿⠿⠟⠛⣛⢋⣰⠣⣿⣿⠀⣿⣿⣿⣿⡀⣿⣿⣿⣧⢻⣿⣶⣷⣿⣿⣿⣿⣿⣿⠿⠶⡝⠀⣿⣿⣿⣿⣷⠘⣿⣿⣿⢏⣿⣿⣋⣀⣈⣻⣿⣿⣷⣤⣤⣿⡐⢿⣿⣿⣿⣿⣆⢩⣝⣫⣾⣿⣿⣿⣿⡟⠿⠿⠦⠀⠸⠿⣻⣿⡄⢻⣿⣿⣿⣿⣿⡄⢻⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⠇⣼⣿⣿⣿⣿⣿⣿⡄⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣰⣿⣿⣿⣿⣿⣿⠇⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢀⣿⣿⣿⣿⣿⣿⠏⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⠟⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⠋⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⣿⣿⣿⠋⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸===========启动成功===========""");}}

Controller接口业务

AiController.java


import jakarta.annotation.Resource;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.image.ImagePrompt;
import org.springframework.ai.image.ImageResponse;
import org.springframework.ai.openai.OpenAiChatOptions;
import org.springframework.ai.openai.OpenAiImageModel;
import org.springframework.ai.openai.OpenAiImageOptions;
import org.springframework.ai.openai.api.OpenAiImageApi;
import org.springframework.beans.factory.support.ManagedList;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import reactor.core.publisher.Flux;import java.net.http.HttpClient;/*** ClassName: AiController* Package: com.kele.spring_ai_demo.controller* Description:*/
@RestController
@RequestMapping("/ai")
public class AiController {@ResourceChatClient chatClient;@ResourceChatModel chatModel;@ResourceOpenAiImageModel openaiImageModel;public AiController(ChatClient.Builder chatClientBuilder) {this.chatClient = chatClientBuilder.build();}/*** 串行输出* @param msg* @return*/@GetMapping("/chat")public String chat(@RequestParam(value = "msg", defaultValue = "你好呀") String msg) {System.out.println("开始调用第三方接口");System.out.println("msg=" + msg);try {String content = chatClient.prompt().user(msg)//一次性全部返回 同步.call().content();System.out.println("API 响应: " + content);  // 打印 API 的原始响应return content;} catch (Exception e) {e.printStackTrace();return "Error occurred: " + e.getMessage();}}/*** 流式输出* @param msg* @return*/@GetMapping(value = "/stream",produces = "text/html;charset=UTF-8")public Flux<String> stream(@RequestParam(value = "msg", defaultValue = "你好呀") String msg) {System.out.println("开始调用第三方接口,用流的方式");System.out.println("msg=" + msg);return  chatClient.prompt().user(msg)//流式返回 异步.stream().content();}/*** 通用模型* @return*/@GetMapping(value = "/model/call",produces = "text/html;charset=UTF-8")public String modelCall(@RequestParam(value = "msg", defaultValue = "你好呀") String msg) {System.out.println("开始调用第三方接口");//使用默认的模型ChatResponse response = chatModel.call(new Prompt(msg,OpenAiChatOptions.builder().withModel("gpt-4").withTemperature(0.8F).build()));return response.getResult().getOutput().getContent();}@GetMapping(value = "/img")public String img(@RequestParam(value = "msg", defaultValue = "画一只小猫咪") String msg) {System.out.println("开始文字生成图片");ImageResponse response = openaiImageModel.call(new ImagePrompt(msg,OpenAiImageOptions.builder().withQuality("hd").withN(1).withHeight(1024).withWidth(1024).build()));return response.getResult().getOutput().getUrl();}@GetMapping("/test")public String test() {return "hello ai";}}

运行效果演示

项目启动

项目启动成功输出hello ai
在这里插入图片描述

串行输出

接口日志打印
在这里插入图片描述
接口访问效果
在这里插入图片描述

流式输出

接口访问效果

这里是一个个字往出来蹦那种
在这里插入图片描述

通用模型

接口访问效果
在这里插入图片描述

文字生成图片

接口访问效果
在这里插入图片描述

省略这里接口403了 查看日志**余额不足了(图像预消费配额失败,用户配额:0.093310美元,需求配额:0.160000美元)**故此找了一张下面找了一张类似的
在这里插入图片描述

http://www.dtcms.com/a/416619.html

相关文章:

  • 惠州网站搭建班徽logo设计图片
  • 哪个网站可兼职做logo邵东做网站
  • 皖icp合肥网站建设滁州商业网站建设
  • 网站备案成功后怎么北京装修公司排名推荐
  • 网站公司图片甘肃住房建设厅的网站首页
  • 深圳商城网站公司服装网站建设教程
  • 查询网站旗下域名iphone怎么开通互联网
  • Python列表
  • 郑州网站设计收费低外贸pi是什么意思
  • 要建一个网站怎么做4500双休一天8小时
  • 半贝叶斯方法:理论基础、算法实现与应用全景
  • 织梦小说网站个人做网站的时代已经过去
  • 澄海网站建设wordpress 时尚网
  • 长沙网站网站建设建设设计网站公司
  • 企业网站设计的特点网站推广引流软件
  • 政务网站建设的方向工装装修
  • 网站服务器机房如何编辑微信小程序
  • 网站建设高端培训班江阴哪里有做网站的
  • 网站建设公司怎么开wordpress搜索页增强
  • 【代码讲解】Rerun 实时数据采集并显示 + 手柄控制 6 轴机械臂运动
  • 设计企业门户网站新手做网站流程
  • h5网站页面网页制作工具可分为
  • 微网站建设哪家便宜设计之家官网首页
  • 油猴,悬浮评论区窗口模版
  • 东莞网站建设求职棋牌软件开发定制软件
  • 做网站应该注意什么外贸推广服务公司
  • 网站建设机构培训wordpress高亮
  • 宣传工作网站建设作用网站备案名称的影响
  • 网站制作前需要进行规划设计wordpress主题修改教程
  • 微网站建设资讯wordpress 禁止升级