Skip to content

Commit 54917fd

Browse files
authored
Make OpenAI API URLs configurable via env variables (#162)
1 parent e9f7d02 commit 54917fd

File tree

3 files changed

+16
-5
lines changed

3 files changed

+16
-5
lines changed

stdlib/stdlib-openai/src/main/java/com/datasqrl/flinkrunner/stdlib/openai/OpenAiCompletions.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,16 @@
1616
package com.datasqrl.flinkrunner.stdlib.openai;
1717

1818
import static com.datasqrl.flinkrunner.stdlib.openai.OpenAiConstants.API_KEY;
19-
import static com.datasqrl.flinkrunner.stdlib.openai.OpenAiConstants.COMPLETIONS_API;
19+
import static com.datasqrl.flinkrunner.stdlib.openai.OpenAiConstants.COMPLETIONS_API_URL;
20+
import static com.datasqrl.flinkrunner.stdlib.openai.OpenAiConstants.DEFAULT_COMPLETIONS_API;
2021

2122
import java.io.IOException;
2223
import java.net.URI;
2324
import java.net.http.HttpClient;
2425
import java.net.http.HttpRequest;
2526
import java.net.http.HttpResponse;
2627
import java.nio.charset.StandardCharsets;
28+
import java.util.Optional;
2729
import lombok.Builder;
2830
import lombok.Getter;
2931
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonProcessingException;
@@ -61,7 +63,10 @@ public String callCompletions(CompletionsRequest request)
6163
// Build the HTTP request
6264
final HttpRequest httpRequest =
6365
HttpRequest.newBuilder()
64-
.uri(URI.create(COMPLETIONS_API))
66+
.uri(
67+
URI.create(
68+
Optional.ofNullable(System.getenv(COMPLETIONS_API_URL))
69+
.orElse(DEFAULT_COMPLETIONS_API)))
6570
.header("Authorization", "Bearer " + System.getenv(API_KEY))
6671
.header("Content-Type", "application/json")
6772
.POST(

stdlib/stdlib-openai/src/main/java/com/datasqrl/flinkrunner/stdlib/openai/OpenAiConstants.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
public final class OpenAiConstants {
2323

2424
public static final String API_KEY = "OPENAI_API_KEY";
25-
public static final String EMBEDDING_API = "https://api.openai.com/v1/embeddings";
26-
public static final String COMPLETIONS_API = "https://api.openai.com/v1/chat/completions";
25+
public static final String EMBEDDING_API_URL = "OPENAI_EMBEDDING_API_URL";
26+
public static final String COMPLETIONS_API_URL = "OPENAI_COMPLETIONS_API_URL";
27+
public static final String DEFAULT_EMBEDDING_API = "https://api.openai.com/v1/embeddings";
28+
public static final String DEFAULT_COMPLETIONS_API = "https://api.openai.com/v1/chat/completions";
2729
}

stdlib/stdlib-openai/src/main/java/com/datasqrl/flinkrunner/stdlib/openai/OpenAiEmbeddings.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.net.http.HttpRequest;
2525
import java.net.http.HttpResponse;
2626
import java.nio.charset.StandardCharsets;
27+
import java.util.Optional;
2728
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
2829
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
2930
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.node.ArrayNode;
@@ -67,7 +68,10 @@ public FlinkVectorType vectorEmbed(String text, String modelName, int tokenLimit
6768
// Build the HTTP request
6869
HttpRequest request =
6970
HttpRequest.newBuilder()
70-
.uri(URI.create(EMBEDDING_API))
71+
.uri(
72+
URI.create(
73+
Optional.ofNullable(System.getenv(EMBEDDING_API_URL))
74+
.orElse(DEFAULT_EMBEDDING_API)))
7175
.header("Authorization", "Bearer " + System.getenv(API_KEY))
7276
.header("Content-Type", "application/json")
7377
.POST(

0 commit comments

Comments
 (0)