Skip to content

Commit a816472

Browse files
authored
Merge pull request #88 from AssemblyAI/niels/fix-lemur-timeout
Fix LeMUR timeout
2 parents a0eb1ec + 122ae2b commit a816472

File tree

3 files changed

+30
-27
lines changed

3 files changed

+30
-27
lines changed

sample-app/src/main/java/sample/App.java

+17-9
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,25 @@
1515

1616
public final class App {
1717

18-
public static void main(String... args) throws IOException {
18+
public static void main(String... args) throws IOException, InterruptedException {
1919
AssemblyAI client = AssemblyAI.builder()
2020
.apiKey(System.getenv("ASSEMBLYAI_API_KEY"))
2121
.build();
2222

2323
Transcript transcript = client.transcripts().transcribe(
24-
"https://storage.googleapis.com/client-docs-samples/nbc.mp3",
24+
"https://storage.googleapis.com/aai-docs-samples/nbc.mp3",
2525
TranscriptOptionalParams.builder()
2626
.sentimentAnalysis(true)
2727
.build()
2828
);
2929

30+
if(transcript.getStatus() == TranscriptStatus.ERROR)
31+
{
32+
System.out.println("Transcript error: " + transcript.getError().get());
33+
System.exit(1);
34+
return;
35+
}
36+
3037
for(SentimentAnalysisResult result: transcript.getSentimentAnalysisResults().get())
3138
{
3239
System.out.println("Text: " + result.getText());
@@ -52,6 +59,14 @@ public static void main(String... args) throws IOException {
5259
.build());
5360
System.out.println("Search transcript. " + search);
5461

62+
63+
LemurTaskResponse response = client.lemur().task(LemurTaskParams.builder()
64+
.prompt("Summarize this transcript.")
65+
.transcriptIds(List.of(transcript.getId()))
66+
.build());
67+
68+
System.out.println("Summary: " + response.getResponse());
69+
5570
transcript = client.transcripts().delete(transcript.getId());
5671
System.out.println("Delete transcript. " + transcript);
5772

@@ -70,13 +85,6 @@ public static void main(String... args) throws IOException {
7085
TranscriptList transcripts = client.transcripts().list();
7186
System.out.println("List transcript. " + transcripts);
7287

73-
LemurTaskResponse response = client.lemur().task(LemurTaskParams.builder()
74-
.prompt("Summarize this transcript.")
75-
.transcriptIds(List.of(transcript.getId()))
76-
.build());
77-
78-
System.out.println("Summary: " + response.getResponse());
79-
8088
RealtimeTranscriber realtimeTranscriber = RealtimeTranscriber.builder()
8189
.apiKey(System.getenv("ASSEMBLYAI_API_KEY"))
8290
.onSessionBegins(System.out::println)

src/main/java/com/assemblyai/api/AssemblyAIBuilder.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public AssemblyAI build() {
3939
this.clientOptionsBuilder.addHeader("Authorization", this.apiKey);
4040
clientOptionsBuilder.environment(this.environment);
4141
this.lemurClientOptionsBuilder.addHeader("Authorization", this.apiKey);
42-
lemurClientOptionsBuilder.environment(this.environment);
42+
lemurClientOptionsBuilder.environment(this.environment).disableTimeouts();
4343
return new AssemblyAI(clientOptionsBuilder.build(), lemurClientOptionsBuilder.build());
4444
}
4545
}

src/main/java/com/assemblyai/api/core/ClientOptions.java

+12-17
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@
77
import java.util.Map;
88
import java.util.concurrent.TimeUnit;
99
import java.util.function.Supplier;
10+
1011
import okhttp3.OkHttpClient;
1112

1213
public final class ClientOptions {
13-
private boolean disableTimeouts;
14-
1514
private final Environment environment;
1615

1716
private final Map<String, String> headers;
@@ -24,8 +23,7 @@ private ClientOptions(
2423
Environment environment,
2524
Map<String, String> headers,
2625
Map<String, Supplier<String>> headerSuppliers,
27-
OkHttpClient httpClient,
28-
boolean disableTimeouts) {
26+
OkHttpClient httpClient) {
2927
this.environment = environment;
3028
this.headers = new HashMap<>();
3129
this.headers.putAll(headers);
@@ -38,7 +36,6 @@ private ClientOptions(
3836
"JAVA"));
3937
this.headerSuppliers = headerSuppliers;
4038
this.httpClient = httpClient;
41-
this.disableTimeouts = disableTimeouts;
4239
}
4340

4441
public Environment environment() {
@@ -61,14 +58,6 @@ public OkHttpClient httpClient() {
6158
}
6259

6360
public OkHttpClient httpClientWithTimeout(RequestOptions requestOptions) {
64-
if (this.disableTimeouts) {
65-
return this.httpClient
66-
.newBuilder()
67-
.callTimeout(0, TimeUnit.SECONDS)
68-
.readTimeout(0, TimeUnit.SECONDS)
69-
.build();
70-
}
71-
7261
if (requestOptions == null) {
7362
return this.httpClient;
7463
}
@@ -123,10 +112,16 @@ public Builder disableTimeouts() {
123112
}
124113

125114
public ClientOptions build() {
126-
OkHttpClient okhttpClient = new OkHttpClient.Builder()
127-
.addInterceptor(new RetryInterceptor(3))
128-
.build();
129-
return new ClientOptions(environment, headers, headerSuppliers, okhttpClient, this.disableTimeouts);
115+
OkHttpClient.Builder okhttpClientBuilder = new OkHttpClient.Builder()
116+
.addInterceptor(new RetryInterceptor(3));
117+
if (this.disableTimeouts) {
118+
okhttpClientBuilder
119+
.callTimeout(0, TimeUnit.SECONDS)
120+
.connectTimeout(0, TimeUnit.SECONDS)
121+
.writeTimeout(0, TimeUnit.SECONDS)
122+
.readTimeout(0, TimeUnit.SECONDS);
123+
}
124+
return new ClientOptions(environment, headers, headerSuppliers, okhttpClientBuilder.build());
130125
}
131126
}
132127
}

0 commit comments

Comments
 (0)