Skip to content

Commit 3de96a9

Browse files
modify enhanceed mode customization
1 parent 1d7ce7f commit 3de96a9

File tree

6 files changed

+33
-35
lines changed

6 files changed

+33
-35
lines changed

sdk/cognitiveservices/azure-ai-speech-transcription/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Release History
22

3-
## 1.0.0-beta.1 (2025-12-12)
3+
## 1.0.0-beta.1 (2025-12-18)
44

55
### Features Added
66

sdk/cognitiveservices/azure-ai-speech-transcription/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,6 @@ byte[] audioData = Files.readAllBytes(Paths.get("path/to/audio.wav"));
204204
AudioFileDetails audioFileDetails = new AudioFileDetails(BinaryData.fromBytes(audioData));
205205

206206
EnhancedModeOptions enhancedMode = new EnhancedModeOptions()
207-
.setEnabled(true)
208207
.setTask("transcribe")
209208
.setPrompts(java.util.Arrays.asList("Output must be in lexical format."));
210209

sdk/cognitiveservices/azure-ai-speech-transcription/customization/src/main/java/SpeechTranscriptionCustomization.java

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ public void customize(LibraryCustomization customization, Logger logger) {
5959
logger.info("Customizing TranscriptionDiarizationOptions.toJson()");
6060
customizeDiarizationOptionsToJson(models);
6161

62-
// Customize EnhancedModeOptions to add setter for enabled property
63-
logger.info("Customizing EnhancedModeOptions to add setEnabled() method");
62+
// Customize EnhancedModeOptions constructor to auto-set enabled to true
63+
logger.info("Customizing EnhancedModeOptions constructor to auto-set enabled to true");
6464
customizeEnhancedModeOptions(models);
6565

6666
// Customize AudioFileDetails.getFilename() to auto-generate filename from contentType if not set
@@ -119,6 +119,34 @@ private void customizeDiarizationOptionsToJson(PackageCustomization packageCusto
119119
});
120120
}
121121

122+
/**
123+
* Customize EnhancedModeOptions constructor to automatically set enabled property to true.
124+
* This ensures enhanced mode is enabled when EnhancedModeOptions is instantiated.
125+
*
126+
* @param packageCustomization the package customization
127+
*/
128+
private void customizeEnhancedModeOptions(PackageCustomization packageCustomization) {
129+
packageCustomization.getClass("EnhancedModeOptions").customizeAst(ast -> {
130+
ast.getClassByName("EnhancedModeOptions").ifPresent(clazz -> {
131+
// Remove the @Generated no-arg constructor and replace with one that sets enabled = true
132+
clazz.getConstructors()
133+
.stream()
134+
.filter(c -> c.getParameters().isEmpty())
135+
.findFirst()
136+
.ifPresent(constructor -> {
137+
// Remove @Generated annotation to prevent overwriting
138+
constructor.getAnnotationByName("Generated").ifPresent(com.github.javaparser.ast.Node::remove);
139+
// Set the constructor body to initialize enabled = true
140+
constructor.setBody(parseBlock("{ this.enabled = true; }"));
141+
// Add JavaDoc
142+
constructor.setJavadocComment(
143+
new Javadoc(parseText(
144+
"Creates an instance of EnhancedModeOptions class with enabled set to true.")));
145+
});
146+
});
147+
});
148+
}
149+
122150
/**
123151
* Customize AudioFileDetails.getFilename() to auto-generate a filename from contentType if not explicitly set.
124152
* This allows developers to omit setFilename() and have the SDK automatically provide a sensible default.
@@ -147,30 +175,6 @@ private void customizeAudioFileDetailsGetFilename(PackageCustomization packageCu
147175
});
148176
}
149177

150-
/**
151-
* Customize the EnhancedModeOptions to add a setter for the enabled property.
152-
* The enabled property must be explicitly set by users to enable enhanced mode features.
153-
*
154-
* @param packageCustomization the package customization
155-
*/
156-
private void customizeEnhancedModeOptions(PackageCustomization packageCustomization) {
157-
packageCustomization.getClass("EnhancedModeOptions").customizeAst(ast -> {
158-
ast.getClassByName("EnhancedModeOptions").ifPresent(clazz -> {
159-
// Add setEnabled method following the fluent pattern
160-
com.github.javaparser.ast.body.MethodDeclaration setEnabledMethod
161-
= clazz.addMethod("setEnabled", Modifier.Keyword.PUBLIC);
162-
setEnabledMethod.addParameter("Boolean", "enabled");
163-
setEnabledMethod.setType("EnhancedModeOptions");
164-
setEnabledMethod.setBody(parseBlock("{ this.enabled = enabled; return this; }"));
165-
setEnabledMethod.setJavadocComment(
166-
new Javadoc(parseText(
167-
"Set the enabled property: Enable enhanced mode for transcription. Must be set to true to use enhanced mode features."))
168-
.addBlockTag("param", "enabled the enabled value to set.")
169-
.addBlockTag("return", "the EnhancedModeOptions object itself."));
170-
});
171-
});
172-
}
173-
174178
/**
175179
* Customize TranscriptionOptions to:
176180
* 1. Add AudioFileDetails field (final)

sdk/cognitiveservices/azure-ai-speech-transcription/src/main/java/com/azure/ai/speech/transcription/models/EnhancedModeOptions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ public final class EnhancedModeOptions implements JsonSerializable<EnhancedModeO
4444
private List<String> prompts;
4545

4646
/**
47-
* Creates an instance of EnhancedModeOptions class.
47+
* Creates an instance of EnhancedModeOptions class with enabled set to true.
4848
*/
49-
@Generated
5049
public EnhancedModeOptions() {
50+
this.enabled = true;
5151
}
5252

5353
/**

sdk/cognitiveservices/azure-ai-speech-transcription/src/samples/java/com/azure/ai/speech/transcription/EnhancedModeSample.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ private static TranscriptionResult transcribeWithFullEnhancedMode(
122122
// Configure comprehensive LLM-enhanced mode settings
123123
// Always include lexical format prompt for best results
124124
EnhancedModeOptions enhancedMode = new EnhancedModeOptions()
125-
.setEnabled(true)
126125
.setTask("transcribe")
127126
.setPrompts(Arrays.asList(
128127
"Output must be in lexical format."

sdk/cognitiveservices/azure-ai-speech-transcription/src/samples/java/com/azure/ai/speech/transcription/ReadmeSamples.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,6 @@ public void enhancedModeBasic() throws Exception {
241241

242242
// Enable enhanced mode for improved transcription quality with lexical format
243243
EnhancedModeOptions enhancedMode = new EnhancedModeOptions()
244-
.setEnabled(true)
245244
.setPrompts(java.util.Arrays.asList(
246245
"Output must be in lexical format."
247246
));
@@ -271,7 +270,6 @@ public void enhancedModeWithPrompts() throws Exception {
271270
// Use prompts to guide transcription with domain-specific terminology
272271
// Always include lexical format prompt for best results
273272
EnhancedModeOptions enhancedMode = new EnhancedModeOptions()
274-
.setEnabled(true)
275273
.setPrompts(java.util.Arrays.asList(
276274
"Output must be in lexical format.",
277275
"Medical consultation discussing hypertension and diabetes",
@@ -303,7 +301,6 @@ public void enhancedModeWithTranslation() throws Exception {
303301

304302
// Configure enhanced mode to transcribe Spanish audio and translate to English
305303
EnhancedModeOptions enhancedMode = new EnhancedModeOptions()
306-
.setEnabled(true)
307304
.setTargetLanguage("en-US"); // Translate to English
308305

309306
TranscriptionOptions options = new TranscriptionOptions(audioFileDetails)
@@ -379,7 +376,6 @@ public void transcribeEnhancedMode() throws Exception {
379376
AudioFileDetails audioFileDetails = new AudioFileDetails(BinaryData.fromBytes(audioData));
380377

381378
EnhancedModeOptions enhancedMode = new EnhancedModeOptions()
382-
.setEnabled(true)
383379
.setTask("transcribe")
384380
.setPrompts(java.util.Arrays.asList("Output must be in lexical format."));
385381

0 commit comments

Comments
 (0)