openai/openai-java

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
52b13ac34e28c56b13e04463e5c0995d9cfc0918

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

58lines · 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()
40.addMessage(ChatCompletionMessageParam.ofChatCompletionUserMessageParam(
41ChatCompletionUserMessageParam.builder()
42.role(ChatCompletionUserMessageParam.Role.USER)
43.content(ChatCompletionUserMessageParam.Content.ofTextContent("Who won the world series in 2020?"))
44.build()))
45.model("gpt-4o")
46.build();
47
48ChatCompletion chatCompletion = client.chat().completions().create(params);
49
50List<ChatCompletion.Choice> choices = chatCompletion.choices();
51for (ChatCompletion.Choice choice : choices) {
52System.out.println("Choice content: " + choice.message().content().get());
53}
54
55JsonValue filterResult = chatCompletion._additionalProperties().get("prompt_filter_results");
56System.out.println("Content filter results: " + filterResult);
57}
58}