Spring Boot 整合 Spring AI 实现项目接入ChatGPT(OpenAl的调用,开发属于你自己Al,体验Al的乐趣)本文仅讲解文本转声音的实现,关于gpt的其他东西,参考接下来的文章

目录

前言

Spring Al与Springboot整合的步骤(本文仅讲解文本转声音的实现,关于gpt的其他东西,参考接下来的文章)

第一步:建项目:创建一个Spring Boot项目(JDK17起步); 

第二步:加依赖

2.1 加入spring-ai-openai-spring-boot-starter依赖;

2.2 继承父项目:

2.3 配置项目依赖下载的仓库:(因为spring ai在中心仓库还没有依赖,所以需要去网站下载)

 第三步:配文件(这个的api -key就是你自己的,如果没有私信我即可) 

第四步: 声音转文本功能写具体的代码实现 

4.1 因为所有的接口的父接口都继承与Model,可以看到处理声音转文本的用到的类是OpenAiAudioTranscriptionModel,因为这个springboot自动装配的功能,只需要注入即可

文本(中英文)转语音的实现方式(调用call方法,这个叫做同步API)

前言


随着人工智能技术的迅猛发展,越来越多的应用程序开始集成人工智能功能,从而提供更智能、更个性化的体验。诸如ChatGPT等开放性大型语言模型的出现,使得自然语言处理和对话系统的开发变得更加便捷和普及。这些技术已经在社交媒体、客户服务、教育等领域展示出巨大的潜力,对于提升用户体验和提高工作效率起到了关键作用。

Spring Al的官网:https://spring.io/

Spring AI提供的API支持跨人工智能提供商的 聊天,文本到图像,和嵌入模型等,同时支持同步和流API选项

开发springAl程序的前期准备准备工作

  1. 本机电脑要可以访问OpenAI网站 https://spring.io/
  2. 要有OpenAI的API Key;(注册账号或者购买,如果没有可以私信联系我)

Spring Al与Springboot整合的步骤(本文仅讲解文本转声音的实现,关于gpt的其他东西,参考接下来的文章)

第一步:建项目:创建一个Spring Boot项目(JDK17起步); 

第二步:加依赖

2.1 加入spring-ai-openai-spring-boot-starter依赖;

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>

2.2 继承父项目:

<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>

2.3 配置项目依赖下载的仓库:(因为spring ai在中心仓库还没有依赖,所以需要去网站下载)

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

 第三步:配文件(这个的api -key就是你自己的,如果没有私信我即可) 

spring:
  ai:
    openai:
      api-key:  (换成你的api-key)
      base-url: https://api.openai.com(分为代理地址和直连地址)
      

第四步: 声音转文本功能写具体的代码实现 

4.1 因为所有的接口的父接口都继承与Model,可以看到处理声音转文本的用到的类是
OpenAiAudioTranscriptionModel,因为这个springboot自动装配的功能,只需要注入即可

文本(中英文)转语音的实现方式(调用call方法,这个叫做同步API)

@RestController
public class TTSConreoller {

    @Resource
    private OpenAiAudioSpeechModel openAiAudioSpeechModel;


    @RequestMapping("/ai/tts")
    public Object tts(){
        String text ="在访谈中,当被问及热门剧集《我的阿勒泰》引发大众对悠闲生活方式的渴望,其对员工提倡一种怎样的观念时,董明珠说:“你可以打辞职报告,可以回去休闲,没有问题。我觉得是自己的选择。”这番话,随即便在网上掀起了讨论。";
        //这个就是把文本转为语音
        byte[] bytes = openAiAudioSpeechModel.call(text);
        //保存到一个位置上
        FileUtils.save2File("D:\\test.mp3",bytes);
        return "OK";
    }

这个是将字节数据,保存到文件中的一个工具类

package com.powernode.util;

import java.io.*;

/**
 *java字节字节数组,写入文件中
 */
public class FileUtils {

    public static boolean save2File(String fname, byte[] msg) {
        OutputStream fos = null;
        try{
            File file = new File(fname);
            File parent = file.getParentFile();
            boolean bool;
            if ((!parent.exists()) &&
                    (!parent.mkdirs())) {
                return false;
            }
            fos = new FileOutputStream(file);
            fos.write(msg);
            fos.flush();
            return true;
        }catch (FileNotFoundException e){
            return false;
        }catch (IOException e){
            e.printStackTrace();
            return false;
        }
        finally{
            if (fos != null) {
                try{
                    fos.close();
                }catch (IOException e) {}
            }
        }
    }
}

5.1 程序的运行结果

上述就是关于Spring Boot 整合 Spring AI 实现项目接入ChatGPT,本文仅介绍了关于文本转音频实现方式,接下来的文章介绍关于音频翻译。

如果需要源码的可以访问code-ai: 关于spring ai的各个练习

有任何问题可以私信我,以及欢迎大家加入下面的群聊来探讨。以及关于没有open ai的key 的也可以私信我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Agnoni

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值