Skip to content

Commit 9121107

Browse files
committed
feat: support audio url
1 parent 980e121 commit 9121107

File tree

8 files changed

+32
-5
lines changed

8 files changed

+32
-5
lines changed

api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>top.bella</groupId>
88
<artifactId>openai-java</artifactId>
9-
<version>0.23.87</version>
9+
<version>0.23.88</version>
1010
</parent>
1111
<packaging>jar</packaging>
1212
<artifactId>openai-api</artifactId>

api/src/main/java/com/theokanning/openai/assistants/message/content/AudioURL.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package com.theokanning.openai.assistants.message.content;
22

33
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import lombok.AllArgsConstructor;
45
import lombok.Data;
6+
import lombok.NoArgsConstructor;
57

68
@Data
9+
@NoArgsConstructor
10+
@AllArgsConstructor
711
public class AudioURL {
812
String url;
913
@JsonProperty("audio_transcript")

api/src/main/java/com/theokanning/openai/completion/chat/ContentDeserializer.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.fasterxml.jackson.core.JsonToken;
55
import com.fasterxml.jackson.databind.DeserializationContext;
66
import com.fasterxml.jackson.databind.JsonDeserializer;
7+
import com.theokanning.openai.assistants.message.content.AudioURL;
78
import com.theokanning.openai.assistants.message.content.ImageFile;
89

910
import java.io.IOException;
@@ -51,6 +52,8 @@ MultiMediaContent parseContent(JsonParser jsonParser) throws IOException {
5152
content.setImageFile(parseImageFile(jsonParser));
5253
} else if ("input_audio".equals(fieldName)) {
5354
content.setInputAudio(parseInputAudio(jsonParser));
55+
} else if ("audio_url".equals(fieldName)) {
56+
content.setAudioUrl(parseAudioUrl(jsonParser));
5457
}
5558
}
5659
return content;
@@ -100,4 +103,19 @@ private InputAudio parseInputAudio(JsonParser jsonParser) throws IOException {
100103
}
101104
return new InputAudio(data, format);
102105
}
106+
107+
private AudioURL parseAudioUrl(JsonParser jsonParser) throws IOException {
108+
String url = null;
109+
String audioTranscript = null;
110+
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
111+
String fieldName = jsonParser.getCurrentName();
112+
jsonParser.nextToken();
113+
if ("url".equals(fieldName)) {
114+
url = jsonParser.getText();
115+
} else if ("audio_transcript".equals(fieldName)) {
116+
audioTranscript = jsonParser.getText();
117+
}
118+
}
119+
return new AudioURL(url, audioTranscript);
120+
}
103121
}

api/src/main/java/com/theokanning/openai/completion/chat/MultiMediaContent.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import com.theokanning.openai.assistants.message.content.AudioURL;
56
import com.theokanning.openai.assistants.message.content.ImageFile;
67
import lombok.AllArgsConstructor;
78
import lombok.Data;
@@ -43,6 +44,10 @@ public class MultiMediaContent {
4344
@JsonProperty("input_audio")
4445
private InputAudio inputAudio;
4546

47+
@JsonInclude(JsonInclude.Include.NON_NULL)
48+
@JsonProperty("audio_url")
49+
private AudioURL audioUrl;
50+
4651
public MultiMediaContent(String text) {
4752
this.type = "text";
4853
this.text = text;

client/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>top.bella</groupId>
88
<artifactId>openai-java</artifactId>
9-
<version>0.23.87</version>
9+
<version>0.23.88</version>
1010
</parent>
1111
<packaging>jar</packaging>
1212

example/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>io.github.ke</groupId>
88
<artifactId>example</artifactId>
9-
<version>0.23.87</version>
9+
<version>0.23.88</version>
1010
<name>example</name>
1111

1212
<properties>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>top.bella</groupId>
77
<artifactId>openai-java</artifactId>
8-
<version>0.23.87</version>
8+
<version>0.23.88</version>
99
<packaging>pom</packaging>
1010
<description>openai java 版本</description>
1111
<name>openai-java</name>

service/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>top.bella</groupId>
88
<artifactId>openai-java</artifactId>
9-
<version>0.23.87</version>
9+
<version>0.23.88</version>
1010
</parent>
1111
<packaging>jar</packaging>
1212

0 commit comments

Comments
 (0)