最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring-ai-alibaba文本轉(zhuǎn)語音的實(shí)例

 更新時(shí)間:2025年11月07日 08:38:20   作者:star_1112  
在使用Spring-ai-alibaba進(jìn)行文本轉(zhuǎn)語音項(xiàng)目時(shí),遇到DashScopeException錯(cuò)誤,原因是響應(yīng)中的字段未被識(shí)別,通過在項(xiàng)目中創(chuàng)建目錄類,復(fù)制DashScopeAudioTranscriptionApi類并在指定位置增加字段,解決了該問題

spring-ai-alibaba文本轉(zhuǎn)語音

項(xiàng)目環(huán)境信息

如下:

  • jdk  java21
  • spring-ai-alibaba   版本為1.0.0.2
  • spring-ai  版本為 1.0.0
  • spring-boot  版本為    3.5.7

// 傳參為你的文件資源

private String getText(Resource resource) {
    AudioTranscriptionPrompt prompt = new AudioTranscriptionPrompt(resource, DashScopeAudioTranscriptionOptions
            .builder()
            .withModel(paraformer-v2)  //調(diào)用的模型為
            .build());
    AudioTranscriptionResponse call = dashScopeAudioTranscriptionModel.call(prompt);
    AudioTranscription result = call.getResult();
    String text = result.getOutput();
    return text;
}

報(bào)錯(cuò)信息

如下:

com.alibaba.cloud.ai.dashscope.common.DashScopeException: get transcription outcome failed
    at com.alibaba.cloud.ai.dashscope.api.DashScopeAudioTranscriptionApi.getOutcome(DashScopeAudioTranscriptionApi.java:138)
    at com.alibaba.cloud.ai.dashscope.audio.DashScopeAudioTranscriptionModel.toResponse(DashScopeAudioTranscriptionModel.java:224)
    at com.alibaba.cloud.ai.dashscope.audio.DashScopeAudioTranscriptionModel.call(DashScopeAudioTranscriptionModel.java:123)
    at com.pennon.agent.service.impl.VoiceProcessServiceImpl.getText(VoiceProcessServiceImpl.java:101)
    at com.pennon.agent.service.impl.VoiceProcessServiceImpl.voiceToTextByOssUrl(VoiceProcessServiceImpl.java:89)
    at com.pennon.agent.service.impl.ChatServiceImpl.getAudioTextAnswer(ChatServiceImpl.java:58)
    at com.pennon.agent.websockethandler.AiAudioWebSocketHandler.handleTextMessage(AiAudioWebSocketHandler.java:37)
    at org.springframework.web.socket.handler.AbstractWebSocketHandler.handleMessage(AbstractWebSocketHandler.java:43)
    at org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleMessage(WebSocketHandlerDecorator.java:75)
    at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleMessage(LoggingWebSocketHandlerDecorator.java:56)
    at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleMessage(ExceptionWebSocketHandlerDecorator.java:58)
    at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:113)
    at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:84)
    at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:81)
    at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:392)
    at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:130)
    at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:486)
    at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:286)
    at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:129)
    at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85)
    at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:184)
    at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:164)
    at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:152)
    at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "sentence_id" (class com.alibaba.cloud.ai.dashscope.api.DashScopeAudioTranscriptionApi$Outcome$Transcript$Sentence), not marked as ignorable (4 known properties: "end_time", "begin_time", "text", "words"])
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 4880] (through reference chain: com.alibaba.cloud.ai.dashscope.api.DashScopeAudioTranscriptionApi$Outcome["transcripts"]->java.util.ArrayList[0]->com.alibaba.cloud.ai.dashscope.api.DashScopeAudioTranscriptionApi$Outcome$Transcript["sentences"]->java.util.ArrayList[0]->com.alibaba.cloud.ai.dashscope.api.DashScopeAudioTranscriptionApi$Outcome$Transcript$Sentence["sentence_id"])
    at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
    at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1180)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2244)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1823)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperties(BeanDeserializerBase.java:1773)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:463)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1499)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:340)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeNoNullChecks(CollectionDeserializer.java:501)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:358)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:29)
    at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:543)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:587)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:440)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1499)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:340)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeNoNullChecks(CollectionDeserializer.java:501)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:358)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:29)
    at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:543)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:587)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:440)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1499)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:340)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
    at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4971)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3924)
    at com.alibaba.cloud.ai.dashscope.api.DashScopeAudioTranscriptionApi.getOutcome(DashScopeAudioTranscriptionApi.java:133)
    ... 31 more

解決方案

在項(xiàng)目中創(chuàng)建目錄類

如下:

把spring-ai-alibaba包中的DashScopeAudioTranscriptionApi類復(fù)制過來,在218行位置增加字段即可解決。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

西充县| 界首市| 阿克苏市| 铜梁县| 嘉善县| 连江县| 梁山县| 大连市| 华蓥市| 镇坪县| 冷水江市| 原阳县| 龙陵县| 方正县| 姚安县| 五原县| 泰宁县| 大新县| 通海县| 宣威市| 和静县| 广灵县| 卢龙县| 东台市| 泰顺县| 枞阳县| 廉江市| 青铜峡市| 中山市| 简阳市| 中牟县| 齐齐哈尔市| 南丰县| 库尔勒市| 长治县| 廉江市| 平潭县| 岫岩| 乌兰浩特市| 孙吴县| 平塘县|