class dev.langchain4j.model.azure.InternalAzureOpenAiHelper extends java.lang.Object
{
public static final java.lang.String DEFAULT_USER_AGENT;
private static final java.util.Map NO_PARAMETER_DATA;
void <init>()
{
dev.langchain4j.model.azure.InternalAzureOpenAiHelper v;
v := @this: dev.langchain4j.model.azure.InternalAzureOpenAiHelper;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static com.azure.ai.openai.OpenAIClient setupOpenAIClient(java.lang.String, java.lang.String, java.lang.String, java.time.Duration, java.lang.Integer, com.azure.core.http.ProxyOptions, boolean)
{
com.azure.ai.openai.OpenAIClient v;
com.azure.ai.openai.OpenAIClientBuilder v, v;
java.lang.Integer v;
com.azure.core.http.ProxyOptions v;
com.azure.core.credential.AzureKeyCredential v;
java.time.Duration v;
java.lang.String v, v, v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.time.Duration;
v := @parameter: java.lang.Integer;
v := @parameter: com.azure.core.http.ProxyOptions;
v := @parameter: boolean;
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: com.azure.ai.openai.OpenAIClientBuilder setupOpenAIClientBuilder(java.lang.String,java.lang.String,java.time.Duration,java.lang.Integer,com.azure.core.http.ProxyOptions,boolean)>(v, v, v, v, v, v);
v = new com.azure.core.credential.AzureKeyCredential;
specialinvoke v.<com.azure.core.credential.AzureKeyCredential: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder credential(com.azure.core.credential.KeyCredential)>(v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClient buildClient()>();
return v;
}
public static com.azure.ai.openai.OpenAIClient setupOpenAIClient(java.lang.String, java.lang.String, com.azure.core.credential.KeyCredential, java.time.Duration, java.lang.Integer, com.azure.core.http.ProxyOptions, boolean)
{
com.azure.ai.openai.OpenAIClient v;
com.azure.core.credential.KeyCredential v;
com.azure.ai.openai.OpenAIClientBuilder v, v;
java.lang.Integer v;
com.azure.core.http.ProxyOptions v;
java.time.Duration v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: com.azure.core.credential.KeyCredential;
v := @parameter: java.time.Duration;
v := @parameter: java.lang.Integer;
v := @parameter: com.azure.core.http.ProxyOptions;
v := @parameter: boolean;
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: com.azure.ai.openai.OpenAIClientBuilder setupOpenAIClientBuilder(java.lang.String,java.lang.String,java.time.Duration,java.lang.Integer,com.azure.core.http.ProxyOptions,boolean)>(v, v, v, v, v, v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder credential(com.azure.core.credential.KeyCredential)>(v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClient buildClient()>();
return v;
}
public static com.azure.ai.openai.OpenAIClient setupOpenAIClient(java.lang.String, java.lang.String, com.azure.core.credential.TokenCredential, java.time.Duration, java.lang.Integer, com.azure.core.http.ProxyOptions, boolean)
{
com.azure.ai.openai.OpenAIClient v;
com.azure.ai.openai.OpenAIClientBuilder v, v;
java.lang.Integer v;
com.azure.core.http.ProxyOptions v;
java.time.Duration v;
com.azure.core.credential.TokenCredential v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: com.azure.core.credential.TokenCredential;
v := @parameter: java.time.Duration;
v := @parameter: java.lang.Integer;
v := @parameter: com.azure.core.http.ProxyOptions;
v := @parameter: boolean;
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: com.azure.ai.openai.OpenAIClientBuilder setupOpenAIClientBuilder(java.lang.String,java.lang.String,java.time.Duration,java.lang.Integer,com.azure.core.http.ProxyOptions,boolean)>(v, v, v, v, v, v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder credential(com.azure.core.credential.TokenCredential)>(v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClient buildClient()>();
return v;
}
private static com.azure.ai.openai.OpenAIClientBuilder setupOpenAIClientBuilder(java.lang.String, java.lang.String, java.time.Duration, java.lang.Integer, com.azure.core.http.ProxyOptions, boolean)
{
com.azure.core.http.policy.ExponentialBackoffOptions v;
com.azure.core.http.netty.NettyAsyncHttpClientProvider v;
com.azure.core.http.policy.HttpLogOptions v;
com.azure.ai.openai.OpenAIClientBuilder v, v, v, v, v, v, v;
java.lang.Integer v, v;
com.azure.core.http.ProxyOptions v;
java.time.Duration v, v;
com.azure.core.util.Header v;
java.lang.String v, v, v;
com.azure.core.http.policy.HttpLogDetailLevel v;
boolean v;
com.azure.core.http.policy.RetryOptions v;
com.azure.ai.openai.OpenAIServiceVersion v;
com.azure.core.util.HttpClientOptions v;
java.util.List v;
com.azure.core.http.HttpClient v;
java.lang.Object v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.time.Duration;
v := @parameter: java.lang.Integer;
v := @parameter: com.azure.core.http.ProxyOptions;
v := @parameter: boolean;
v = staticinvoke <java.time.Duration: java.time.Duration ofSeconds(long)>(60L);
v = staticinvoke <dev.langchain4j.internal.Utils: java.lang.Object getOrDefault(java.lang.Object,java.lang.Object)>(v, v);
v = new com.azure.core.util.HttpClientOptions;
specialinvoke v.<com.azure.core.util.HttpClientOptions: void <init>()>();
virtualinvoke v.<com.azure.core.util.HttpClientOptions: com.azure.core.util.HttpClientOptions setConnectTimeout(java.time.Duration)>(v);
virtualinvoke v.<com.azure.core.util.HttpClientOptions: com.azure.core.util.HttpClientOptions setResponseTimeout(java.time.Duration)>(v);
virtualinvoke v.<com.azure.core.util.HttpClientOptions: com.azure.core.util.HttpClientOptions setReadTimeout(java.time.Duration)>(v);
virtualinvoke v.<com.azure.core.util.HttpClientOptions: com.azure.core.util.HttpClientOptions setWriteTimeout(java.time.Duration)>(v);
virtualinvoke v.<com.azure.core.util.HttpClientOptions: com.azure.core.util.HttpClientOptions setProxyOptions(com.azure.core.http.ProxyOptions)>(v);
v = new com.azure.core.util.Header;
specialinvoke v.<com.azure.core.util.Header: void <init>(java.lang.String,java.lang.String)>("User-Agent", "langchain4j-azure-openai");
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
virtualinvoke v.<com.azure.core.util.HttpClientOptions: com.azure.core.util.HttpClientOptions setHeaders(java.lang.Iterable)>(v);
v = new com.azure.core.http.netty.NettyAsyncHttpClientProvider;
specialinvoke v.<com.azure.core.http.netty.NettyAsyncHttpClientProvider: void <init>()>();
v = virtualinvoke v.<com.azure.core.http.netty.NettyAsyncHttpClientProvider: com.azure.core.http.HttpClient createInstance(com.azure.core.util.HttpClientOptions)>(v);
v = new com.azure.core.http.policy.HttpLogOptions;
specialinvoke v.<com.azure.core.http.policy.HttpLogOptions: void <init>()>();
if v == 0 goto label;
v = <com.azure.core.http.policy.HttpLogDetailLevel: com.azure.core.http.policy.HttpLogDetailLevel BODY_AND_HEADERS>;
virtualinvoke v.<com.azure.core.http.policy.HttpLogOptions: com.azure.core.http.policy.HttpLogOptions setLogLevel(com.azure.core.http.policy.HttpLogDetailLevel)>(v);
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(3);
v = staticinvoke <dev.langchain4j.internal.Utils: java.lang.Object getOrDefault(java.lang.Object,java.lang.Object)>(v, v);
v = new com.azure.core.http.policy.ExponentialBackoffOptions;
specialinvoke v.<com.azure.core.http.policy.ExponentialBackoffOptions: void <init>()>();
virtualinvoke v.<com.azure.core.http.policy.ExponentialBackoffOptions: com.azure.core.http.policy.ExponentialBackoffOptions setMaxRetries(java.lang.Integer)>(v);
v = new com.azure.core.http.policy.RetryOptions;
specialinvoke v.<com.azure.core.http.policy.RetryOptions: void <init>(com.azure.core.http.policy.ExponentialBackoffOptions)>(v);
v = new com.azure.ai.openai.OpenAIClientBuilder;
specialinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: void <init>()>();
v = staticinvoke <dev.langchain4j.internal.ValidationUtils: java.lang.String ensureNotBlank(java.lang.String,java.lang.String)>(v, "endpoint");
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder endpoint(java.lang.String)>(v);
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: com.azure.ai.openai.OpenAIServiceVersion getOpenAIServiceVersion(java.lang.String)>(v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder serviceVersion(com.azure.ai.openai.OpenAIServiceVersion)>(v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder httpClient(com.azure.core.http.HttpClient)>(v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder clientOptions(com.azure.core.util.ClientOptions)>(v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder httpLogOptions(com.azure.core.http.policy.HttpLogOptions)>(v);
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder retryOptions(com.azure.core.http.policy.RetryOptions)>(v);
return v;
}
private static com.azure.ai.openai.OpenAIClientBuilder authenticate(com.azure.core.credential.TokenCredential)
{
com.azure.core.credential.TokenCredential v;
com.azure.ai.openai.OpenAIClientBuilder v, v;
v := @parameter: com.azure.core.credential.TokenCredential;
v = new com.azure.ai.openai.OpenAIClientBuilder;
specialinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: void <init>()>();
v = virtualinvoke v.<com.azure.ai.openai.OpenAIClientBuilder: com.azure.ai.openai.OpenAIClientBuilder credential(com.azure.core.credential.TokenCredential)>(v);
return v;
}
public static com.azure.ai.openai.OpenAIServiceVersion getOpenAIServiceVersion(java.lang.String)
{
com.azure.ai.openai.OpenAIServiceVersion v, v;
com.azure.ai.openai.OpenAIServiceVersion[] v;
int v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <com.azure.ai.openai.OpenAIServiceVersion: com.azure.ai.openai.OpenAIServiceVersion[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<com.azure.ai.openai.OpenAIServiceVersion: java.lang.String getVersion()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = staticinvoke <com.azure.ai.openai.OpenAIServiceVersion: com.azure.ai.openai.OpenAIServiceVersion getLatest()>();
return v;
}
public static java.util.List toOpenAiMessages(java.util.List)
{
java.util.List v;
java.util.stream.Stream v, v;
java.lang.Object v;
java.util.stream.Collector v;
java.util.function.Function v;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper$toOpenAiMessage__4: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static com.azure.ai.openai.models.ChatRequestMessage toOpenAiMessage(dev.langchain4j.data.message.ChatMessage)
{
com.azure.ai.openai.models.ChatRequestSystemMessage v;
com.azure.ai.openai.models.FunctionCall v;
java.util.function.Function v;
java.lang.String v, v, v, v, v, v, v;
java.util.stream.Collector v;
boolean v, v, v, v, v;
dev.langchain4j.data.message.ChatMessageType v;
com.azure.ai.openai.models.ChatRequestUserMessage v, v, v;
java.lang.IllegalArgumentException v;
com.azure.ai.openai.models.ChatRequestFunctionMessage v;
dev.langchain4j.data.message.ChatMessage v;
com.azure.ai.openai.models.ChatRequestAssistantMessage v;
java.util.List v, v;
java.util.stream.Stream v, v;
java.lang.Object v, v, v;
v := @parameter: dev.langchain4j.data.message.ChatMessage;
v = v instanceof dev.langchain4j.data.message.AiMessage;
if v == 0 goto label;
v = new com.azure.ai.openai.models.ChatRequestAssistantMessage;
v = virtualinvoke v.<dev.langchain4j.data.message.AiMessage: java.lang.String text()>();
v = staticinvoke <dev.langchain4j.internal.Utils: java.lang.Object getOrDefault(java.lang.Object,java.lang.Object)>(v, "");
specialinvoke v.<com.azure.ai.openai.models.ChatRequestAssistantMessage: void <init>(java.lang.String)>(v);
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: com.azure.ai.openai.models.FunctionCall functionCallFrom(dev.langchain4j.data.message.ChatMessage)>(v);
virtualinvoke v.<com.azure.ai.openai.models.ChatRequestAssistantMessage: com.azure.ai.openai.models.ChatRequestAssistantMessage setFunctionCall(com.azure.ai.openai.models.FunctionCall)>(v);
return v;
label:
v = v instanceof dev.langchain4j.data.message.ToolExecutionResultMessage;
if v == 0 goto label;
v = new com.azure.ai.openai.models.ChatRequestFunctionMessage;
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: java.lang.String nameFrom(dev.langchain4j.data.message.ChatMessage)>(v);
v = virtualinvoke v.<dev.langchain4j.data.message.ToolExecutionResultMessage: java.lang.String text()>();
specialinvoke v.<com.azure.ai.openai.models.ChatRequestFunctionMessage: void <init>(java.lang.String,java.lang.String)>(v, v);
return v;
label:
v = v instanceof dev.langchain4j.data.message.SystemMessage;
if v == 0 goto label;
v = new com.azure.ai.openai.models.ChatRequestSystemMessage;
v = virtualinvoke v.<dev.langchain4j.data.message.SystemMessage: java.lang.String text()>();
specialinvoke v.<com.azure.ai.openai.models.ChatRequestSystemMessage: void <init>(java.lang.String)>(v);
return v;
label:
v = v instanceof dev.langchain4j.data.message.UserMessage;
if v == 0 goto label;
v = virtualinvoke v.<dev.langchain4j.data.message.UserMessage: boolean hasSingleText()>();
if v == 0 goto label;
v = new com.azure.ai.openai.models.ChatRequestUserMessage;
v = virtualinvoke v.<dev.langchain4j.data.message.UserMessage: java.util.List contents()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<dev.langchain4j.data.message.TextContent: java.lang.String text()>();
specialinvoke v.<com.azure.ai.openai.models.ChatRequestUserMessage: void <init>(java.lang.String)>(v);
v = v;
goto label;
label:
v = new com.azure.ai.openai.models.ChatRequestUserMessage;
v = virtualinvoke v.<dev.langchain4j.data.message.UserMessage: java.util.List contents()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper$lambda_toOpenAiMessage_0__5: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
specialinvoke v.<com.azure.ai.openai.models.ChatRequestUserMessage: void <init>(java.util.List)>(v);
v = v;
label:
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: java.lang.String nameFrom(dev.langchain4j.data.message.ChatMessage)>(v);
virtualinvoke v.<com.azure.ai.openai.models.ChatRequestUserMessage: com.azure.ai.openai.models.ChatRequestUserMessage setName(java.lang.String)>(v);
return v;
label:
v = new java.lang.IllegalArgumentException;
v = interfaceinvoke v.<dev.langchain4j.data.message.ChatMessage: dev.langchain4j.data.message.ChatMessageType type()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (dev.langchain4j.data.message.ChatMessageType)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unsupported message type: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
private static java.lang.String nameFrom(dev.langchain4j.data.message.ChatMessage)
{
java.lang.String v, v;
boolean v, v;
dev.langchain4j.data.message.ChatMessage v;
v := @parameter: dev.langchain4j.data.message.ChatMessage;
v = v instanceof dev.langchain4j.data.message.UserMessage;
if v == 0 goto label;
v = virtualinvoke v.<dev.langchain4j.data.message.UserMessage: java.lang.String name()>();
return v;
label:
v = v instanceof dev.langchain4j.data.message.ToolExecutionResultMessage;
if v == 0 goto label;
v = virtualinvoke v.<dev.langchain4j.data.message.ToolExecutionResultMessage: java.lang.String toolName()>();
return v;
label:
return null;
}
private static com.azure.ai.openai.models.FunctionCall functionCallFrom(dev.langchain4j.data.message.ChatMessage)
{
com.azure.ai.openai.models.FunctionCall v;
dev.langchain4j.data.message.ChatMessage v;
java.util.List v;
java.lang.Object v;
java.lang.String v, v;
boolean v, v;
v := @parameter: dev.langchain4j.data.message.ChatMessage;
v = v instanceof dev.langchain4j.data.message.AiMessage;
if v == 0 goto label;
v = virtualinvoke v.<dev.langchain4j.data.message.AiMessage: boolean hasToolExecutionRequests()>();
if v == 0 goto label;
v = virtualinvoke v.<dev.langchain4j.data.message.AiMessage: java.util.List toolExecutionRequests()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = new com.azure.ai.openai.models.FunctionCall;
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolExecutionRequest: java.lang.String name()>();
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolExecutionRequest: java.lang.String arguments()>();
specialinvoke v.<com.azure.ai.openai.models.FunctionCall: void <init>(java.lang.String,java.lang.String)>(v, v);
return v;
label:
return null;
}
public static java.util.List toFunctions(java.util.Collection)
{
java.util.stream.Stream v, v;
java.util.Collection v;
java.lang.Object v;
java.util.stream.Collector v;
java.util.function.Function v;
v := @parameter: java.util.Collection;
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper$toFunction__6: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static com.azure.ai.openai.models.FunctionDefinition toFunction(dev.langchain4j.agent.tool.ToolSpecification)
{
dev.langchain4j.agent.tool.ToolSpecification v;
com.azure.ai.openai.models.FunctionDefinition v;
dev.langchain4j.agent.tool.ToolParameters v;
java.lang.String v, v;
com.azure.core.util.BinaryData v;
v := @parameter: dev.langchain4j.agent.tool.ToolSpecification;
v = new com.azure.ai.openai.models.FunctionDefinition;
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolSpecification: java.lang.String name()>();
specialinvoke v.<com.azure.ai.openai.models.FunctionDefinition: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolSpecification: java.lang.String description()>();
virtualinvoke v.<com.azure.ai.openai.models.FunctionDefinition: com.azure.ai.openai.models.FunctionDefinition setDescription(java.lang.String)>(v);
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolSpecification: dev.langchain4j.agent.tool.ToolParameters parameters()>();
v = staticinvoke <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: com.azure.core.util.BinaryData toOpenAiParameters(dev.langchain4j.agent.tool.ToolParameters)>(v);
virtualinvoke v.<com.azure.ai.openai.models.FunctionDefinition: com.azure.ai.openai.models.FunctionDefinition setParameters(com.azure.core.util.BinaryData)>(v);
return v;
}
private static com.azure.core.util.BinaryData toOpenAiParameters(dev.langchain4j.agent.tool.ToolParameters)
{
dev.langchain4j.model.azure.InternalAzureOpenAiHelper$Parameters v;
java.util.List v;
java.util.Map v, v;
dev.langchain4j.agent.tool.ToolParameters v;
com.azure.core.util.BinaryData v, v;
v := @parameter: dev.langchain4j.agent.tool.ToolParameters;
v = new dev.langchain4j.model.azure.InternalAzureOpenAiHelper$Parameters;
specialinvoke v.<dev.langchain4j.model.azure.InternalAzureOpenAiHelper$Parameters: void <init>()>();
if v != null goto label;
v = <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: java.util.Map NO_PARAMETER_DATA>;
v = staticinvoke <com.azure.core.util.BinaryData: com.azure.core.util.BinaryData fromObject(java.lang.Object)>(v);
return v;
label:
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolParameters: java.util.Map properties()>();
virtualinvoke v.<dev.langchain4j.model.azure.InternalAzureOpenAiHelper$Parameters: void setProperties(java.util.Map)>(v);
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolParameters: java.util.List required()>();
virtualinvoke v.<dev.langchain4j.model.azure.InternalAzureOpenAiHelper$Parameters: void setRequired(java.util.List)>(v);
v = staticinvoke <com.azure.core.util.BinaryData: com.azure.core.util.BinaryData fromObject(java.lang.Object)>(v);
return v;
}
public static dev.langchain4j.data.message.AiMessage aiMessageFrom(com.azure.ai.openai.models.ChatResponseMessage)
{
dev.langchain4j.agent.tool.ToolExecutionRequest v;
dev.langchain4j.data.message.AiMessage v, v;
dev.langchain4j.agent.tool.ToolExecutionRequest$Builder v, v, v;
com.azure.ai.openai.models.FunctionCall v;
dev.langchain4j.agent.tool.ToolExecutionRequest[] v;
java.lang.String v, v, v, v;
com.azure.ai.openai.models.ChatResponseMessage v;
v := @parameter: com.azure.ai.openai.models.ChatResponseMessage;
v = virtualinvoke v.<com.azure.ai.openai.models.ChatResponseMessage: java.lang.String getContent()>();
if v == null goto label;
v = virtualinvoke v.<com.azure.ai.openai.models.ChatResponseMessage: java.lang.String getContent()>();
v = staticinvoke <dev.langchain4j.data.message.AiMessage: dev.langchain4j.data.message.AiMessage aiMessage(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<com.azure.ai.openai.models.ChatResponseMessage: com.azure.ai.openai.models.FunctionCall getFunctionCall()>();
v = staticinvoke <dev.langchain4j.agent.tool.ToolExecutionRequest: dev.langchain4j.agent.tool.ToolExecutionRequest$Builder builder()>();
v = virtualinvoke v.<com.azure.ai.openai.models.FunctionCall: java.lang.String getName()>();
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolExecutionRequest$Builder: dev.langchain4j.agent.tool.ToolExecutionRequest$Builder name(java.lang.String)>(v);
v = virtualinvoke v.<com.azure.ai.openai.models.FunctionCall: java.lang.String getArguments()>();
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolExecutionRequest$Builder: dev.langchain4j.agent.tool.ToolExecutionRequest$Builder arguments(java.lang.String)>(v);
v = virtualinvoke v.<dev.langchain4j.agent.tool.ToolExecutionRequest$Builder: dev.langchain4j.agent.tool.ToolExecutionRequest build()>();
v = newarray (dev.langchain4j.agent.tool.ToolExecutionRequest)[1];
v[0] = v;
v = staticinvoke <dev.langchain4j.data.message.AiMessage: dev.langchain4j.data.message.AiMessage aiMessage(dev.langchain4j.agent.tool.ToolExecutionRequest[])>(v);
return v;
}
public static dev.langchain4j.data.image.Image imageFrom(com.azure.ai.openai.models.ImageGenerationData)
{
com.azure.ai.openai.models.ImageGenerationData v;
java.net.URISyntaxException v;
dev.langchain4j.data.image.Image v;
java.lang.RuntimeException v;
dev.langchain4j.data.image.Image$Builder v, v;
java.lang.String v, v, v;
java.net.URI v;
v := @parameter: com.azure.ai.openai.models.ImageGenerationData;
v = staticinvoke <dev.langchain4j.data.image.Image: dev.langchain4j.data.image.Image$Builder builder()>();
v = virtualinvoke v.<com.azure.ai.openai.models.ImageGenerationData: java.lang.String getRevisedPrompt()>();
v = virtualinvoke v.<dev.langchain4j.data.image.Image$Builder: dev.langchain4j.data.image.Image$Builder revisedPrompt(java.lang.String)>(v);
v = virtualinvoke v.<com.azure.ai.openai.models.ImageGenerationData: java.lang.String getUrl()>();
v = virtualinvoke v.<com.azure.ai.openai.models.ImageGenerationData: java.lang.String getBase64Data()>();
if v == null goto label;
label:
v = new java.net.URI;
specialinvoke v.<java.net.URI: void <init>(java.lang.String)>(v);
virtualinvoke v.<dev.langchain4j.data.image.Image$Builder: dev.langchain4j.data.image.Image$Builder url(java.net.URI)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
if v == null goto label;
virtualinvoke v.<dev.langchain4j.data.image.Image$Builder: dev.langchain4j.data.image.Image$Builder base64Data(java.lang.String)>(v);
label:
v = virtualinvoke v.<dev.langchain4j.data.image.Image$Builder: dev.langchain4j.data.image.Image build()>();
return v;
catch java.net.URISyntaxException from label to label with label;
}
public static dev.langchain4j.model.output.TokenUsage tokenUsageFrom(com.azure.ai.openai.models.CompletionsUsage)
{
dev.langchain4j.model.output.TokenUsage v;
com.azure.ai.openai.models.CompletionsUsage v;
java.lang.Integer v, v, v;
int v, v, v;
v := @parameter: com.azure.ai.openai.models.CompletionsUsage;
if v != null goto label;
return null;
label:
v = new dev.langchain4j.model.output.TokenUsage;
v = virtualinvoke v.<com.azure.ai.openai.models.CompletionsUsage: int getPromptTokens()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = virtualinvoke v.<com.azure.ai.openai.models.CompletionsUsage: int getCompletionTokens()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = virtualinvoke v.<com.azure.ai.openai.models.CompletionsUsage: int getTotalTokens()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
specialinvoke v.<dev.langchain4j.model.output.TokenUsage: void <init>(java.lang.Integer,java.lang.Integer,java.lang.Integer)>(v, v, v);
return v;
}
public static dev.langchain4j.model.output.FinishReason finishReasonFrom(com.azure.ai.openai.models.CompletionsFinishReason)
{
dev.langchain4j.model.output.FinishReason v, v, v, v;
com.azure.ai.openai.models.CompletionsFinishReason v, v, v, v, v;
v := @parameter: com.azure.ai.openai.models.CompletionsFinishReason;
if v != null goto label;
return null;
label:
v = <com.azure.ai.openai.models.CompletionsFinishReason: com.azure.ai.openai.models.CompletionsFinishReason STOPPED>;
if v != v goto label;
v = <dev.langchain4j.model.output.FinishReason: dev.langchain4j.model.output.FinishReason STOP>;
return v;
label:
v = <com.azure.ai.openai.models.CompletionsFinishReason: com.azure.ai.openai.models.CompletionsFinishReason TOKEN_LIMIT_REACHED>;
if v != v goto label;
v = <dev.langchain4j.model.output.FinishReason: dev.langchain4j.model.output.FinishReason LENGTH>;
return v;
label:
v = <com.azure.ai.openai.models.CompletionsFinishReason: com.azure.ai.openai.models.CompletionsFinishReason CONTENT_FILTERED>;
if v != v goto label;
v = <dev.langchain4j.model.output.FinishReason: dev.langchain4j.model.output.FinishReason CONTENT_FILTER>;
return v;
label:
v = <com.azure.ai.openai.models.CompletionsFinishReason: com.azure.ai.openai.models.CompletionsFinishReason FUNCTION_CALL>;
if v != v goto label;
v = <dev.langchain4j.model.output.FinishReason: dev.langchain4j.model.output.FinishReason TOOL_EXECUTION>;
return v;
label:
return null;
}
static void <clinit>()
{
java.util.Map v, v;
java.util.HashMap v, v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
<dev.langchain4j.model.azure.InternalAzureOpenAiHelper: java.util.Map NO_PARAMETER_DATA> = v;
v = <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: java.util.Map NO_PARAMETER_DATA>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("type", "object");
v = <dev.langchain4j.model.azure.InternalAzureOpenAiHelper: java.util.Map NO_PARAMETER_DATA>;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("properties", v);
return;
}
}