openai/openai-java

Public

mirrored from https://github.com/openai/openai-javaAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v0.14.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

openai-azure-java-example/src/main/java/com.openai.azure.examples/AzureEntraIDExample.java

57lines · modeblame

a99e891eShawn Fang1 years ago1package com.openai.azure.examples;
2
3import com.azure.identity.AuthenticationUtil;
4import com.azure.identity.DefaultAzureCredentialBuilder;
5import com.openai.client.OpenAIClient;
6import com.openai.client.okhttp.OpenAIOkHttpClient;
7import com.openai.core.JsonValue;
8import com.openai.credential.BearerTokenCredential;
9import com.openai.models.ChatCompletion;
10import com.openai.models.ChatCompletionCreateParams;
11import com.openai.models.ChatCompletionMessageParam;
12import com.openai.models.ChatCompletionUserMessageParam;
13import java.util.List;
14
15/**
16* This example demonstrates how to use the Azure Entra ID to authenticate with the OpenAI API.
17*/
18public final class AzureEntraIDExample {
19
20private AzureEntraIDExample() {}
21
22public static void main(String[] args) {
23OpenAIOkHttpClient.Builder clientBuilder = OpenAIOkHttpClient.builder();
24
25/* Azure-specific code starts here */
26// You can either set 'endpoint' directly in the builder.
27// or set the env var "AZURE_OPENAI_ENDPOINT" and use fromEnv() method instead
28clientBuilder
29.baseUrl(System.getenv("AZURE_OPENAI_ENDPOINT"))
30.credential(BearerTokenCredential.create(
31AuthenticationUtil.getBearerTokenSupplier(
32new DefaultAzureCredentialBuilder().build(), "https://cognitiveservices.azure.com/.default")
33));
34/* Azure-specific code ends here */
35
36// All code from this line down is general-purpose OpenAI code
37OpenAIClient client = clientBuilder.build();
38
39ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
c7b3a7d1Tomer Aberbach1 years ago40.addMessage(
a99e891eShawn Fang1 years ago41ChatCompletionUserMessageParam.builder()
c7b3a7d1Tomer Aberbach1 years ago42.content("Who won the world series in 2020?")
43.build())
a99e891eShawn Fang1 years ago44.model("gpt-4o")
45.build();
46
47ChatCompletion chatCompletion = client.chat().completions().create(params);
48
49List<ChatCompletion.Choice> choices = chatCompletion.choices();
50for (ChatCompletion.Choice choice : choices) {
51System.out.println("Choice content: " + choice.message().content().get());
52}
53
54JsonValue filterResult = chatCompletion._additionalProperties().get("prompt_filter_results");
55System.out.println("Content filter results: " + filterResult);
56}
57}