Add audio module: meeting minutes with Spring AI speech-to-text, structured output and text-to-speech
OpenAiAudioTranscriptionModel -> ChatClient.entity(Minutes.class) -> OpenAiAudioSpeechModel, WAV chunking at a silence under the 25 MB upload limit, SDK retry behaviour, the 4096-character speech limit and a cost model. Audio endpoints are a local mock and the chat model a stub; no real model was called. Spring Boot 4.1.2, Spring AI 2.0.2, Java 25. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01CifR2BE7PBvRy5hT8TS9oz
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# entity(Minutes.class) against a STUB ChatModel
|
||||
|
||||
messages sent to the model:
|
||||
[SYSTEM] 222 chars
|
||||
[USER] 2799 chars
|
||||
|
||||
tail of the USER message (the format instructions Spring AI appended):
|
||||
Your response should be in JSON format.
|
||||
Do not include any explanations, only provide a RFC8259 compliant JSON response following this format without deviation.
|
||||
Do not include markdown code blocks in your response.
|
||||
Remove the ```json markdown from the output.
|
||||
Here is the JSON Schema instance your output must adhere to:
|
||||
```{
|
||||
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
||||
"type" : "object",
|
||||
"properties" : {
|
||||
"actionItems" : {
|
||||
"type" : "array",
|
||||
"items" : {
|
||||
"type" : "object",
|
||||
"properties" : {
|
||||
"due" : {
|
||||
"type" : "string"
|
||||
},
|
||||
"owner" : {
|
||||
"type" : "string"
|
||||
},
|
||||
"task" : {
|
||||
"type" : "string"
|
||||
}
|
||||
},
|
||||
"required" : [ "due", "owner", "task" ],
|
||||
"additionalProperties" : false
|
||||
}
|
||||
},
|
||||
"decisions" : {
|
||||
"type" : "array",
|
||||
"items" : {
|
||||
"type" : "string"
|
||||
}
|
||||
},
|
||||
"title" : {
|
||||
"type" : "string"
|
||||
}
|
||||
},
|
||||
"required" : [ "actionItems", "decisions", "title" ],
|
||||
"additionalProperties" : false
|
||||
}```
|
||||
|
||||
|
||||
parsed: Falcon weekly sync
|
||||
decisions : 2
|
||||
action item : Rahul | Fix the login timeout bug | due: before the release on the fourteenth of November
|
||||
action item : Priya | Send the revised budget to finance | due: Friday
|
||||
action item : Sana | Open tickets for both export endpoint issues | due: today
|
||||
|
||||
spoken form:
|
||||
Falcon weekly sync. 2 decisions. Ship version 2.4 on the fourteenth of November. The data pipeline migrates to the new cluster next sprint. 3 action items. Rahul: Fix the login timeout bug, due before the release on the fourteenth of November. Priya: Send the revised budget to finance, due Friday. Sana: Open tickets for both export endpoint issues, due today.
|
||||
Reference in New Issue
Block a user