From 2fbc058d27d3df65595ef7ce3affaeba6a81d67d Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Mon, 20 Nov 2023 23:04:06 +0800 Subject: [PATCH] chore: Audio Handle --- kicc-common/kicc-common-bom/pom.xml | 10 +- .../kicc-platform-biz/kicc-system-biz/pom.xml | 4 +- .../system/config/OpenAiConfigProperties.java | 3 + .../service/impl/ImContentServiceImpl.java | 112 ++++++++++-------- 4 files changed, 73 insertions(+), 56 deletions(-) diff --git a/kicc-common/kicc-common-bom/pom.xml b/kicc-common/kicc-common-bom/pom.xml index a8f9ab23..a76aa097 100644 --- a/kicc-common/kicc-common-bom/pom.xml +++ b/kicc-common/kicc-common-bom/pom.xml @@ -33,7 +33,7 @@ 4.22.0 2.2.9 0.17.0 - 1.5.9 + 3.0.1 @@ -270,11 +270,11 @@ service ${openai-gpt-java.api.version} - + - org.bytedeco - javacv-platform - ${javacv.version} + net.jthink + jaudiotagger + ${jaudiotagger.version} diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/pom.xml b/kicc-platform/kicc-platform-biz/kicc-system-biz/pom.xml index ae2aeb7d..8fa4eb8d 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/pom.xml +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/pom.xml @@ -93,8 +93,8 @@ service - org.bytedeco - javacv-platform + net.jthink + jaudiotagger diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/config/OpenAiConfigProperties.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/config/OpenAiConfigProperties.java index 2ed3b199..50f21401 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/config/OpenAiConfigProperties.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/config/OpenAiConfigProperties.java @@ -35,4 +35,7 @@ public class OpenAiConfigProperties { /** timeout time unit seconds */ private int timeout = 10; + /** OpenAI API Voice - ... */ + private String voice; + } diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/ImContentServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/ImContentServiceImpl.java index 3c8817d7..18208a78 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/ImContentServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/ImContentServiceImpl.java @@ -13,6 +13,7 @@ import com.cloud.kicc.common.security.util.SecurityUtils; import com.cloud.kicc.system.api.entity.ImContent; import com.cloud.kicc.system.api.entity.OssFile; import com.cloud.kicc.system.api.enums.ImMessageTypeEnum; +import com.cloud.kicc.system.config.OpenAiConfigProperties; import com.cloud.kicc.system.mapper.ImContentMapper; import com.cloud.kicc.system.service.FileService; import com.cloud.kicc.system.service.IImContentService; @@ -30,7 +31,8 @@ import com.theokanning.openai.service.OpenAiService; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import okhttp3.ResponseBody; -import org.bytedeco.javacv.FFmpegFrameGrabber; +import org.jaudiotagger.audio.AudioFile; +import org.jaudiotagger.audio.AudioFileIO; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -61,6 +63,8 @@ public class ImContentServiceImpl extends ServiceImpl> listHistoryMessage(Page page, ImContent imContent) { return baseMapper.listHistoryMessage(page, imContent); @@ -92,64 +96,74 @@ public class ImContentServiceImpl extends ServiceImpl result = Convert.toMap(String.class, Object.class, content); + // ai chat message build + receiveContent.setFiles(receiveOssOssFile.getId()); + super.save(receiveContent); + Map result = Convert.toMap(String.class, Object.class, receiveContent); result.putAll(Convert.toMap(String.class, Object.class, receiveOssOssFile)); return result; } else { - // 保存AI回复聊天记录 - ImContent content = askChatCompletion(imContent); - super.save(content); - return Convert.toMap(String.class, Object.class, content); + + // ai chat message build + ImContent receiveContent = askChatCompletion(imContent); + super.save(receiveContent); + return Convert.toMap(String.class, Object.class, receiveContent); } }