aboutsummaryrefslogtreecommitdiffstats
path: root/model-integration/src/test/java/ai/vespa/llm/clients/OpenAITest.java
diff options
context:
space:
mode:
Diffstat (limited to 'model-integration/src/test/java/ai/vespa/llm/clients/OpenAITest.java')
-rw-r--r--model-integration/src/test/java/ai/vespa/llm/clients/OpenAITest.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/model-integration/src/test/java/ai/vespa/llm/clients/OpenAITest.java b/model-integration/src/test/java/ai/vespa/llm/clients/OpenAITest.java
new file mode 100644
index 00000000000..57339f6ad49
--- /dev/null
+++ b/model-integration/src/test/java/ai/vespa/llm/clients/OpenAITest.java
@@ -0,0 +1,35 @@
+// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package ai.vespa.llm.clients;
+
+import ai.vespa.llm.InferenceParameters;
+import ai.vespa.llm.completion.StringPrompt;
+import com.yahoo.container.jdisc.SecretStoreProvider;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+import java.util.Map;
+
+public class OpenAITest {
+
+ private static final String apiKey = "<your-api-key>";
+
+ @Test
+ @Disabled
+ public void testOpenAIGeneration() {
+ var config = new LlmClientConfig.Builder().build();
+ var openai = new OpenAI(config, new SecretStoreProvider().get());
+ var options = Map.of(
+ "maxTokens", "10"
+ );
+
+ var prompt = StringPrompt.from("why are ducks better than cats?");
+ var future = openai.completeAsync(prompt, new InferenceParameters(apiKey, options::get), completion -> {
+ System.out.print(completion.text());
+ }).exceptionally(exception -> {
+ System.out.println("Error: " + exception);
+ return null;
+ });
+ future.join();
+ }
+
+}