首页 > 其他分享 >Spring Boot 对接文心一言,实现ai抠图实例

Spring Boot 对接文心一言,实现ai抠图实例

时间:2024-07-26 14:54:23浏览次数:15  
标签:restTemplate Spring image Boot 文心 aiService public AIService

上篇文章:Spring Boot 对接文心一言 讲述了在spring boot 项目中如何集成文心一言。现在我们来做个实例,实现AI抠图。

文心一言的抠图功能通常需要通过调用文心一言的API来实现。在Spring Boot项目中,你可以通过RestTemplate或者WebClient来发起HTTP请求调用文心一言的API。

实现文心一言抠图功能:

@Service
public class AIService {
 
    private final RestTemplate restTemplate;
     @Value("${wenxin.api-key}")
    private String apiKey;
    @Value("${wxyy.secret-key}")
    private String secretKey;
    @Value("${wenxin.api-url}")
    private String apiUrl;
 
    public AIService(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }
 
    public byte[] doImageStyling(byte[] imageData) throws IOException {
        HttpHeaders headers= new HttpHeaders();
        headers.set("Content-Type", "application/json");
        headers.set("Authorization", "Bearer " + apiKey);
        // 创建请求体,这里以MultipartFile为例
        MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
        body.add("image", new ByteArrayResource(imageData) {
            @Override
            public String getFilename() {
                return "image.jpg"; // 给文件命名
            }
        });
 
        // 发起POST请求到文心一言的API
        ResponseEntity<byte[]> response = restTemplate.exchange(
                apiUrl,
                HttpMethod.POST,
                new HttpEntity<>(body),
                byte[].class
        );
        // 返回处理后的图片数据
        return response.getBody();
    }
}

在Controller中调用AIService:

@RestController
public class ImageStylingController {
 
    private final AIService aiService;
 
    public ImageStylingController(AIService aiService) {
        this.aiService = aiService;
    }
 
    @PostMapping("/image/stylize")
    public ResponseEntity<byte[]> stylizeImage(@RequestParam("image") MultipartFile image) throws IOException {
        byte[] stylizedImage = aiService.doImageStyling(image.getBytes());
        return ResponseEntity.ok().body(stylizedImage);
    }
}

标签:restTemplate,Spring,image,Boot,文心,aiService,public,AIService
From: https://blog.csdn.net/qq_25987725/article/details/140713962

相关文章

  • 基于Springboot + vue + mysql 招生管理系统 设计实现
    目录......
  • 免费分享一套微信小程序投票评选系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本
    大家好,我是java1234_小锋老师,看到一个不错的微信小程序投票评选系统(SpringBoot后端+Vue管理端),分享下哈。项目视频演示【免费】微信小程序投票评选系统(SpringBoot后端+Vue管理端)Java毕业设计_哔哩哔哩_bilibili项目介绍社会发展日新月异,用计算机应用实现数据管理功能......
  • A099-springboot协同过滤鲜花商城推荐系统
    基于Springboot+vue+协同过滤+前后端分离+鲜花商城推荐系统(用户,多商户,管理员)【运行环境】IdeaJDK1.8MavenMySQLNginxVscode【技术栈】  SpringBoot,SSM,MYSQL,Vue,Layui,JQUERY,HTML,CSS,JAVASCRIPT,前后台分离,日历控件,协同过滤-基于用户过滤【项目功能......
  • A098-Springboot-vue-化妆品推荐系统
    后端(SpringBoot)实现步骤:项目初始化:使用SpringInitializr创建一个新的SpringBoot项目,包括必要的依赖如SpringWeb和SpringDataJPA。数据库设计:设计数据库模型,例如化妆品(品牌、类型、成分等)、用户信息(注册、登录信息)、推荐记录等。可以选择MySQL、PostgreSQL等关系型数......
  • A097-springboot+vue汽车保养
    后端(SpringBoot)SpringBoot应用程序:创建一个基于SpringBoot的后端应用程序,用于处理业务逻辑和数据持久化。RESTfulAPI设计:使用SpringMVC创建RESTfulAPI,用于处理来自前端的请求和响应。API应设计清晰,包括汽车信息的增删改查、保养记录管理、用户信息等功能。数据持......
  • 源码拆解SpringBoot的自动配置机制
    SpringBoot相比于Spring系列的前作,很大的一个亮点就是将配置进行了简化,引入了自动化配置,仅靠几个注解和yml文件就取代了之前XML的繁琐配置机制,这也是SpringBoot的独有特点,下面我们从源码角度,一点点拆开自动配置的机制是如何实现的。从@SpringBootApplication开始从SpringBoot......
  • Spring Cloud微服务项目公共类抽取
            在微服务架构中,代码的重用性和维护性是非常重要的。SpringCloud提供了丰富的工具和框架来帮助我们构建和管理微服务应用,但随着项目规模的扩大,我们会遇到大量的重复代码和相似的逻辑。在这种情况下,抽取公共类成为提高代码质量和开发效率的关键手段。本文将探......
  • 网站源码装饰公司pbootcms模板网页设计主题
    装饰公司的网站设计分享我很高兴向大家介绍我刚刚制作的装饰公司的网站设计。友好的站点界面,是打动访客的第一步。装饰公司网站的主题网站设计通常需要考虑多个方面,以确保网站能够有效地展示公司形象、吸引潜在客户并提升业务。以下是对装饰公司网站主题设计的详细介绍:一、......
  • 基于SpringBoot+Vue+uniapp的教学资料管理系统(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的旅游推荐系统(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......