首页 > 其他分享 >Spring AI(绘图)

Spring AI(绘图)

时间:2024-07-16 14:42:29浏览次数:8  
标签:配置文件 application AI Spring imageResponse ai 绘图 msg ImagePrompt

接上篇:Spring AI(聊天程序)

application.yml新增配置

image模型版本、数量、高度等相关参数配置,若当前代码中和application配置文件中同时声明,则代码中的配置会覆盖application配置文件中的

      # ai绘图设置
      image:
        options:
          # 模型版本
          model: gpt-4-dalle
          # 图片质量
          quality: hd
          # 数量
          n: 2
          # 高度
          height: 1920
          # 宽度
          width: 1080

application.yml文件如下

spring:
  application:
    name: spring-ai
  ai:
    openai:
      # 访问open ai接口的api key
      api-key: sk-3sfER03LDLG3SDFsdlwe283JSdw023lkrmrHDND32fmREKFD
      # 访问open ai的接口地址
      base-url: https://openai.com/

      # ai聊天设置
      chat:
        options:
          # chatGpt模型版本,32k是参数量,若当前代码中和application配置文件中同时声明,则代码中的配置会覆盖application配置文件中的
          model: gpt-4-32k
          # 温度越高,回答的准确率会下降,温度越低,回答的准确率越好,若当前代码中和application配置文件中同时声明,则代码中的配置会覆盖application配置文件中的
          temperature: 0.3F

      # ai绘图设置
      image:
        options:
          # 模型版本
          model: gpt-4-dalle
          # 图片质量
          quality: hd
          # 数量
          n: 2
          # 高度
          height: 1920
          # 宽度
          width: 1080
View Code

1、AI绘图(调用一次接口)

/**
 * ai绘图
 * @author ithailin
 */
@RestController
@RequestMapping("/ai")
public class ImageController {
    private static final Logger logger = LoggerFactory.getLogger(ImageController.class);
    @Autowired
    private OpenAiImageModel openAiImageModel;

    /**
     * 调用openai的接口
     * public ImageResponse call(ImagePrompt imagePrompt){}
     * @param msg:我们提问的消息
     * @return
     */
    @RequestMapping("/image")
    public Object image(String msg){
        logger.info("msg:{}",msg );
        ImagePrompt imagePrompt = new ImagePrompt(msg);
        ImageResponse imageResponse = openAiImageModel.call(imagePrompt);
        String imageUrl = imageResponse.getResult().getOutput().getUrl();
        logger.info("imageUrl:{}",imageUrl);
        return imageResponse.getResult().getOutput().getUrl();
    }

    /**
     * 调用openai的接口
     * public ImageResponse call(ImagePrompt imagePrompt){}
     * @param msg:我们提问的消息
     * @return
     */
    @RequestMapping("/image2")
    public Object image2(String msg){
        logger.info("msg:{}",msg );

        OpenAiImageOptions imageOptions = OpenAiImageOptions.builder()
                //高清图像
                .withQuality("hd")
                //生成四张
                .withN(4)
                //高度
                .withHeight(1024)
                //宽度
                .withWidth(1024).build();

        ImagePrompt imagePrompt = new ImagePrompt(msg,imageOptions);
        ImageResponse imageResponse = openAiImageModel.call(imagePrompt);
        String imageUrl = imageResponse.getResult().getOutput().getUrl();
        logger.info("imageUrl:{}",imageUrl);
        return imageResponse.getResult().getOutput().getUrl();
    }
}
View Code

 

接下篇:

标签:配置文件,application,AI,Spring,imageResponse,ai,绘图,msg,ImagePrompt
From: https://www.cnblogs.com/jhdhl/p/18305175

相关文章

  • (02)Unity使用在线AI大模型(调用Python)
    目录一、概要二、改造Python代码三、制作Unity场景一、概要    查看本文需完成(01)Unity使用在线AI大模型(使用百度千帆服务)的阅读和实操,本文档接入指南的基础上使用Unity+C#调用百度千帆大模型,需要阅读者有一定的Unity开发基础。此功能本质上就是拿Python大模......
  • pthread_cond_wait
    介绍pthread_cond_wait是一个阻塞函数,它会将当前线程放入条件变量的等待队列中,并自动释放与之关联的互斥锁。当条件变量被其他线程用pthread_cond_signal或pthread_cond_broadcast唤醒后,pthread_cond_wait会自动重新获取互斥锁,然后再返回。这个机制可以避免死锁,并确保......
  • 基于Java+SpringBoot+Vue的创新创业教育中心项目申报管理系统的设计与开发(源码+lw+部
    文章目录前言项目背景介绍技术栈后端框架SpringBoot前端框架Vue数据库MySQL(MyStructuredQueryLanguage)具体实现截图详细视频演示系统测试系统测试目的系统功能测试系统测试结论代码参考数据库参考源码获取前言......
  • 新研究:AI测谎能力比人类更强 但需谨慎使用
    德国维尔茨堡大学当地时间12日公布的最新研究显示,在假新闻、政治家的可疑言论和被操纵的视频日益泛滥的时代,人工智能在测谎方面的表现比人类更佳。这项发表在《iScience》期刊上的研究,精心设计了一场实验:参与者被要求撰写周末计划,并巧妙设置半数人需撒谎以换取小额金钱奖励,......
  • Spring框架
    Spring框架中都用到了哪些设计模式?工厂模式:BeanFactory就是简单工厂模式的体现,用来创建对象的实例;单例模式:Bean默认为单例模式。代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术;模板方法:用来解决代码重复的问题。比如.RestTemplate,JmsTemplate,......
  • SpringMVC框架
    SpringMVC的主要组件?前端控制器DispatcherServlet(不需要程序员开发)作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet就减少了其它组件之间的耦合度。处理器映射器HandlerMapping(不需要程序员开发)作用:根据请求的URL来查找Handler处理器适配器HandlerAd......
  • AIGC降痕:论文降AI率的高效工具与方法
    在数字化时代,AI正以其卓越的能力重塑学术写作的面貌。AI论文工具的兴起,为研究者们提供了前所未有的便利,但同时也引发了关于学术诚信和原创性的热烈讨论。当AI辅助写作成为常态,如何确保论文的独创性和个人思想的体现,成为了一个亟待解决的问题。接下来我将为大家推荐一款AIGC降......
  • 【2024】springboot校服订购系统设计与实现
     博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大......
  • AI降痕工具揭秘:降低论文AI痕迹的有效策略
    随着人工智能技术的突飞猛进,AI生成内容(AIGC)已被广泛用于学术论文撰写中,提高效率同时也带来了原创性的挑战。面对日益严格的学术审查,一个突出的问题是:使用AI代写的论文能否通过内容检测?因此查重和查AIGC疑似度都至关重要!查重是基于文本相似度来检测论文是否存在重复或抄袭的问......
  • SpringAOP中的切点表达式Pointcut详解
    https://www.jb51.net/program/293999439.htm 一、概述SpringAOP只支持SpringBean的方法切入,所以切点表达式只会匹配Bean类中的方法。二、切点表达式配置1.内置配置定义切面通知时,在 @Before 或 @AfterReturning 等通知注解中指定表达式。12345......