news 2026/5/1 6:27:47

55_Spring AI 干货笔记之 OpenAI 语音转录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
55_Spring AI 干货笔记之 OpenAI 语音转录

一、OpenAI 语音转录

Spring AI 支持 OpenAI 的语音转录模型。

二、前置条件

您需要创建一个 OpenAI API 密钥以访问 ChatGPT 模型。请在 OpenAI 注册页面 创建账户,并在 API 密钥页面 生成令牌。Spring AI 项目定义了一个名为 spring.ai.openai.api-key 的配置属性,您应将其设置为从 openai.com 获取的 API 密钥值。

三、自动配置

Spring AI 的自动配置及其 Starter 模块的构件名称发生了显著变化。更多信息请参阅升级说明。

Spring AI 为 OpenAI 语音转录客户端提供了 Spring Boot 自动配置。要启用它,请将以下依赖项添加到项目的 Maven pom.xml 文件中:

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

或者添加到您的 Gradle build.gradle 构建文件中。

dependencies{implementation'org.springframework.ai:spring-ai-starter-model-openai'}

请参考“依赖管理”部分,将 Spring AI BOM 添加到您的构建文件中。

3.1 转录属性

3.1.1 连接属性

前缀 spring.ai.openai 用作连接 OpenAI 的属性前缀。

对于属于多个组织的用户(或通过其旧版用户 API 密钥访问其项目的用户),可以选择指定用于 API 请求的组织和项目。这些 API 请求的使用量将计入指定组织和项目的用量。

3.1.2 配置属性

现在通过顶级属性 spring.ai.model.audio.transcription 来启用或禁用音频转录的自动配置。

  • 要启用:spring.ai.model.audio.transcription=openai (默认已启用)

  • 要禁用:spring.ai.model.audio.transcription=none (或任何非 openai 的值)

此项变更是为了支持配置多个模型。

前缀 spring.ai.openai.audio.transcription 用作属性前缀,用于配置 OpenAI 语音转录模型的重试机制。

您可以覆盖通用的 spring.ai.openai.base-url、spring.ai.openai.api-key、spring.ai.openai.organization-id 和 spring.ai.openai.project-id 属性。如果设置了 spring.ai.openai.audio.transcription.base-url、spring.ai.openai.audio.transcription.api-key、spring.ai.openai.audio.transcription.organization-id 和 spring.ai.openai.audio.transcription.project-id 属性,它们将优先于通用属性。这在您希望为不同模型和不同模型端点使用不同的 OpenAI 账户时非常有用。

所有以 spring.ai.openai.transcription.options 为前缀的属性都可以在运行时被覆盖。

四、运行时选项

OpenAiAudioTranscriptionOptions 类提供了进行转录时使用的选项。在启动时,会使用 spring.ai.openai.audio.transcription 指定的选项,但您可以在运行时覆盖这些选项。

例如:

OpenAiAudioApi.TranscriptResponseFormatresponseFormat=OpenAiAudioApi.TranscriptResponseFormat.VTT;OpenAiAudioTranscriptionOptionstranscriptionOptions=OpenAiAudioTranscriptionOptions.builder().language("en").prompt("Ask not this, but ask that").temperature(0f).responseFormat(this.responseFormat).build();AudioTranscriptionPrompttranscriptionRequest=newAudioTranscriptionPrompt(audioFile,this.transcriptionOptions);AudioTranscriptionResponseresponse=openAiTranscriptionModel.call(this.transcriptionRequest);

五、手动配置

将 spring-ai-openai 依赖项添加到项目的 Maven pom.xml 文件中:

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

或者添加到您的 Gradle build.gradle 构建文件中。

dependencies{implementation'org.springframework.ai:spring-ai-openai'}

请参考“依赖管理”部分,将 Spring AI BOM 添加到您的构建文件中。

接下来,创建一个 OpenAiAudioTranscriptionModel

varopenAiAudioApi=newOpenAiAudioApi(System.getenv("OPENAI_API_KEY"));varopenAiAudioTranscriptionModel=newOpenAiAudioTranscriptionModel(this.openAiAudioApi);vartranscriptionOptions=OpenAiAudioTranscriptionOptions.builder().responseFormat(TranscriptResponseFormat.TEXT).temperature(0f).build();varaudioFile=newFileSystemResource("/path/to/your/resource/speech/jfk.flac");AudioTranscriptionPrompttranscriptionRequest=newAudioTranscriptionPrompt(this.audioFile,this.transcriptionOptions);AudioTranscriptionResponseresponse=openAiTranscriptionModel.call(this.transcriptionRequest);

六、示例代码

OpenAiTranscriptionModelIT.java 测试文件提供了一些如何使用该库的通用示例。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:11:39

大数据领域 Hive 的数据压缩技术解析

大数据领域 Hive 的数据压缩技术解析关键词&#xff1a;大数据、Hive、数据压缩技术、压缩算法、性能优化摘要&#xff1a;本文围绕大数据领域 Hive 的数据压缩技术展开深入解析。首先介绍了 Hive 数据压缩的背景和重要性&#xff0c;包括目的、适用读者以及文档结构。接着阐述…

作者头像 李华
网站建设 2026/4/30 23:45:57

YOLO与OpenPolicyAgent集成:统一策略控制中枢

YOLO与OpenPolicyAgent集成&#xff1a;统一策略控制中枢 在智能制造车间的一角&#xff0c;摄像头捕捉到一名未佩戴工牌的人员正靠近高危机械臂。系统瞬间启动——视觉模型识别出该个体为“未知身份”&#xff0c;这一信息被实时推送至策略引擎&#xff0c;后者立即触发安全协…

作者头像 李华
网站建设 2026/4/22 6:18:38

YOLOv5到YOLOv10迁移指南:GPU配置是否需要升级?

YOLOv5到YOLOv10迁移指南&#xff1a;GPU配置是否需要升级&#xff1f; 在工业质检、智能交通和自动驾驶等实时视觉系统中&#xff0c;目标检测模型的每一次迭代都可能带来产线效率的跃升。当YOLOv10以“无需NMS”“端到端推理”的姿态登场时&#xff0c;许多团队开始重新审视自…

作者头像 李华
网站建设 2026/4/18 13:05:04

YOLO目标检测与姿态估计融合:人体行为分析

YOLO目标检测与姿态估计融合&#xff1a;人体行为分析 在智慧安防、智能养老和工业监控等现实场景中&#xff0c;仅仅“看到人”已经远远不够。系统需要理解“人在做什么”——是正常行走&#xff0c;还是突然跌倒&#xff1f;是在巡逻区域徘徊&#xff0c;还是做出了危险动作&…

作者头像 李华
网站建设 2026/4/23 16:19:24

YOLO模型镜像通过ISO安全认证,企业可用

YOLO模型镜像通过ISO安全认证&#xff0c;企业可用 在智能制造工厂的质检线上&#xff0c;一台工业相机正以每秒30帧的速度拍摄电路板图像。这些画面被实时推送到边缘服务器&#xff0c;几毫秒后&#xff0c;系统便精准标记出焊点虚接、元件错位等缺陷&#xff0c;并自动触发剔…

作者头像 李华
网站建设 2026/4/27 9:14:03

YOLO在新能源光伏板裂纹检测中的智能诊断

YOLO在新能源光伏板裂纹检测中的智能诊断 在广袤的戈壁滩或山地丘陵间&#xff0c;成片的光伏阵列正默默将阳光转化为电能。然而&#xff0c;这些“蓝色森林”并非无坚不摧——长期暴露于风吹日晒之中&#xff0c;光伏组件极易因热胀冷缩、冰雹冲击或安装应力产生微小裂纹。起…

作者头像 李华