class dev.langchain4j.model.ollama.OllamaClient extends java.lang.Object
{
private static final com.google.gson.Gson GSON;
private final dev.langchain4j.model.ollama.OllamaApi ollamaApi;
public void <init>(java.lang.String, java.time.Duration)
{
com.google.gson.Gson v;
java.time.Duration v;
retrofit.converter.gson.GsonConverterFactory v;
dev.langchain4j.model.ollama.OllamaClient v;
java.lang.String v;
retrofit.Retrofit$Builder v, v, v, v;
retrofit.Retrofit v;
okhttp.OkHttpClient v;
java.lang.Object v;
okhttp.OkHttpClient$Builder v, v, v, v, v;
v := @this: dev.langchain4j.model.ollama.OllamaClient;
v := @parameter: java.lang.String;
v := @parameter: java.time.Duration;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new okhttp.OkHttpClient$Builder;
specialinvoke v.<okhttp.OkHttpClient$Builder: void <init>()>();
v = virtualinvoke v.<okhttp.OkHttpClient$Builder: okhttp.OkHttpClient$Builder callTimeout(java.time.Duration)>(v);
v = virtualinvoke v.<okhttp.OkHttpClient$Builder: okhttp.OkHttpClient$Builder connectTimeout(java.time.Duration)>(v);
v = virtualinvoke v.<okhttp.OkHttpClient$Builder: okhttp.OkHttpClient$Builder readTimeout(java.time.Duration)>(v);
v = virtualinvoke v.<okhttp.OkHttpClient$Builder: okhttp.OkHttpClient$Builder writeTimeout(java.time.Duration)>(v);
v = virtualinvoke v.<okhttp.OkHttpClient$Builder: okhttp.OkHttpClient build()>();
v = new retrofit.Retrofit$Builder;
specialinvoke v.<retrofit.Retrofit$Builder: void <init>()>();
v = virtualinvoke v.<retrofit.Retrofit$Builder: retrofit.Retrofit$Builder baseUrl(java.lang.String)>(v);
v = virtualinvoke v.<retrofit.Retrofit$Builder: retrofit.Retrofit$Builder client(okhttp.OkHttpClient)>(v);
v = <dev.langchain4j.model.ollama.OllamaClient: com.google.gson.Gson GSON>;
v = staticinvoke <retrofit.converter.gson.GsonConverterFactory: retrofit.converter.gson.GsonConverterFactory create(com.google.gson.Gson)>(v);
v = virtualinvoke v.<retrofit.Retrofit$Builder: retrofit.Retrofit$Builder addConverterFactory(retrofit.Converter$Factory)>(v);
v = virtualinvoke v.<retrofit.Retrofit$Builder: retrofit.Retrofit build()>();
v = virtualinvoke v.<retrofit.Retrofit: java.lang.Object create(java.lang.Class)>(class "Ldev/langchain4j/model/ollama/OllamaApi;");
v.<dev.langchain4j.model.ollama.OllamaClient: dev.langchain4j.model.ollama.OllamaApi ollamaApi> = v;
return;
}
public dev.langchain4j.model.ollama.CompletionResponse completion(dev.langchain4j.model.ollama.CompletionRequest)
{
dev.langchain4j.model.ollama.CompletionRequest v;
java.io.IOException v;
java.lang.RuntimeException v, v;
retrofit.Response v;
dev.langchain4j.model.ollama.OllamaApi v;
dev.langchain4j.model.ollama.OllamaClient v;
java.lang.Object v;
retrofit.Call v;
boolean v;
v := @this: dev.langchain4j.model.ollama.OllamaClient;
v := @parameter: dev.langchain4j.model.ollama.CompletionRequest;
label:
v = v.<dev.langchain4j.model.ollama.OllamaClient: dev.langchain4j.model.ollama.OllamaApi ollamaApi>;
v = interfaceinvoke v.<dev.langchain4j.model.ollama.OllamaApi: retrofit.Call completion(dev.langchain4j.model.ollama.CompletionRequest)>(v);
v = interfaceinvoke v.<retrofit.Call: retrofit.Response execute()>();
v = virtualinvoke v.<retrofit.Response: boolean isSuccessful()>();
if v == 0 goto label;
v = virtualinvoke v.<retrofit.Response: java.lang.Object body()>();
label:
return v;
label:
v = specialinvoke v.<dev.langchain4j.model.ollama.OllamaClient: java.lang.RuntimeException toException(retrofit.Response)>(v);
throw v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
public dev.langchain4j.model.ollama.ChatResponse chat(dev.langchain4j.model.ollama.ChatRequest)
{
java.io.IOException v;
dev.langchain4j.model.ollama.ChatRequest v;
java.lang.RuntimeException v, v;
retrofit.Response v;
dev.langchain4j.model.ollama.OllamaApi v;
dev.langchain4j.model.ollama.OllamaClient v;
java.lang.Object v;
retrofit.Call v;
boolean v;
v := @this: dev.langchain4j.model.ollama.OllamaClient;
v := @parameter: dev.langchain4j.model.ollama.ChatRequest;
label:
v = v.<dev.langchain4j.model.ollama.OllamaClient: dev.langchain4j.model.ollama.OllamaApi ollamaApi>;
v = interfaceinvoke v.<dev.langchain4j.model.ollama.OllamaApi: retrofit.Call chat(dev.langchain4j.model.ollama.ChatRequest)>(v);
v = interfaceinvoke v.<retrofit.Call: retrofit.Response execute()>();
v = virtualinvoke v.<retrofit.Response: boolean isSuccessful()>();
if v == 0 goto label;
v = virtualinvoke v.<retrofit.Response: java.lang.Object body()>();
label:
return v;
label:
v = specialinvoke v.<dev.langchain4j.model.ollama.OllamaClient: java.lang.RuntimeException toException(retrofit.Response)>(v);
throw v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
public void streamingCompletion(dev.langchain4j.model.ollama.CompletionRequest, dev.langchain4j.model.StreamingResponseHandler)
{
dev.langchain4j.model.StreamingResponseHandler v;
dev.langchain4j.model.ollama.CompletionRequest v;
dev.langchain4j.model.ollama.OllamaClient v;
dev.langchain4j.model.ollama.OllamaApi v;
retrofit.Call v;
dev.langchain4j.model.ollama.OllamaClient$1 v;
v := @this: dev.langchain4j.model.ollama.OllamaClient;
v := @parameter: dev.langchain4j.model.ollama.CompletionRequest;
v := @parameter: dev.langchain4j.model.StreamingResponseHandler;
v = v.<dev.langchain4j.model.ollama.OllamaClient: dev.langchain4j.model.ollama.OllamaApi ollamaApi>;
v = interfaceinvoke v.<dev.langchain4j.model.ollama.OllamaApi: retrofit.Call streamingCompletion(dev.langchain4j.model.ollama.CompletionRequest)>(v);
v = new dev.langchain4j.model.ollama.OllamaClient$1;
specialinvoke v.<dev.langchain4j.model.ollama.OllamaClient$1: void <init>(dev.langchain4j.model.ollama.OllamaClient,dev.langchain4j.model.StreamingResponseHandler)>(v, v);
interfaceinvoke v.<retrofit.Call: void enqueue(retrofit.Callback)>(v);
return;
}
public void streamingChat(dev.langchain4j.model.ollama.ChatRequest, dev.langchain4j.model.StreamingResponseHandler)
{
dev.langchain4j.model.StreamingResponseHandler v;
dev.langchain4j.model.ollama.OllamaClient v;
dev.langchain4j.model.ollama.OllamaClient$2 v;
dev.langchain4j.model.ollama.ChatRequest v;
dev.langchain4j.model.ollama.OllamaApi v;
retrofit.Call v;
v := @this: dev.langchain4j.model.ollama.OllamaClient;
v := @parameter: dev.langchain4j.model.ollama.ChatRequest;
v := @parameter: dev.langchain4j.model.StreamingResponseHandler;
v = v.<dev.langchain4j.model.ollama.OllamaClient: dev.langchain4j.model.ollama.OllamaApi ollamaApi>;
v = interfaceinvoke v.<dev.langchain4j.model.ollama.OllamaApi: retrofit.Call streamingChat(dev.langchain4j.model.ollama.ChatRequest)>(v);
v = new dev.langchain4j.model.ollama.OllamaClient$2;
specialinvoke v.<dev.langchain4j.model.ollama.OllamaClient$2: void <init>(dev.langchain4j.model.ollama.OllamaClient,dev.langchain4j.model.StreamingResponseHandler)>(v, v);
interfaceinvoke v.<retrofit.Call: void enqueue(retrofit.Callback)>(v);
return;
}
public dev.langchain4j.model.ollama.EmbeddingResponse embed(dev.langchain4j.model.ollama.EmbeddingRequest)
{
java.io.IOException v;
java.lang.RuntimeException v, v;
retrofit.Response v;
dev.langchain4j.model.ollama.OllamaApi v;
dev.langchain4j.model.ollama.EmbeddingRequest v;
dev.langchain4j.model.ollama.OllamaClient v;
java.lang.Object v;
retrofit.Call v;
boolean v;
v := @this: dev.langchain4j.model.ollama.OllamaClient;
v := @parameter: dev.langchain4j.model.ollama.EmbeddingRequest;
label:
v = v.<dev.langchain4j.model.ollama.OllamaClient: dev.langchain4j.model.ollama.OllamaApi ollamaApi>;
v = interfaceinvoke v.<dev.langchain4j.model.ollama.OllamaApi: retrofit.Call embedd(dev.langchain4j.model.ollama.EmbeddingRequest)>(v);
v = interfaceinvoke v.<retrofit.Call: retrofit.Response execute()>();
v = virtualinvoke v.<retrofit.Response: boolean isSuccessful()>();
if v == 0 goto label;
v = virtualinvoke v.<retrofit.Response: java.lang.Object body()>();
label:
return v;
label:
v = specialinvoke v.<dev.langchain4j.model.ollama.OllamaClient: java.lang.RuntimeException toException(retrofit.Response)>(v);
throw v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
public dev.langchain4j.model.ollama.ModelsListResponse listModels()
{
java.io.IOException v;
java.lang.RuntimeException v, v;
retrofit.Response v;
dev.langchain4j.model.ollama.OllamaApi v;
dev.langchain4j.model.ollama.OllamaClient v;
java.lang.Object v;
retrofit.Call v;
boolean v;
v := @this: dev.langchain4j.model.ollama.OllamaClient;
label:
v = v.<dev.langchain4j.model.ollama.OllamaClient: dev.langchain4j.model.ollama.OllamaApi ollamaApi>;
v = interfaceinvoke v.<dev.langchain4j.model.ollama.OllamaApi: retrofit.Call listModels()>();
v = interfaceinvoke v.<retrofit.Call: retrofit.Response execute()>();
v = virtualinvoke v.<retrofit.Response: boolean isSuccessful()>();
if v == 0 goto label;
v = virtualinvoke v.<retrofit.Response: java.lang.Object body()>();
label:
return v;
label:
v = specialinvoke v.<dev.langchain4j.model.ollama.OllamaClient: java.lang.RuntimeException toException(retrofit.Response)>(v);
throw v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
public dev.langchain4j.model.ollama.OllamaModelCard showInformation(dev.langchain4j.model.ollama.ShowModelInformationRequest)
{
java.io.IOException v;
java.lang.RuntimeException v, v;
retrofit.Response v;
dev.langchain4j.model.ollama.OllamaApi v;
dev.langchain4j.model.ollama.ShowModelInformationRequest v;
dev.langchain4j.model.ollama.OllamaClient v;
java.lang.Object v;
retrofit.Call v;
boolean v;
v := @this: dev.langchain4j.model.ollama.OllamaClient;
v := @parameter: dev.langchain4j.model.ollama.ShowModelInformationRequest;
label:
v = v.<dev.langchain4j.model.ollama.OllamaClient: dev.langchain4j.model.ollama.OllamaApi ollamaApi>;
v = interfaceinvoke v.<dev.langchain4j.model.ollama.OllamaApi: retrofit.Call showInformation(dev.langchain4j.model.ollama.ShowModelInformationRequest)>(v);
v = interfaceinvoke v.<retrofit.Call: retrofit.Response execute()>();
v = virtualinvoke v.<retrofit.Response: boolean isSuccessful()>();
if v == 0 goto label;
v = virtualinvoke v.<retrofit.Response: java.lang.Object body()>();
label:
return v;
label:
v = specialinvoke v.<dev.langchain4j.model.ollama.OllamaClient: java.lang.RuntimeException toException(retrofit.Response)>(v);
throw v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
private java.lang.RuntimeException toException(retrofit.Response) throws java.io.IOException
{
java.lang.Object[] v;
java.lang.RuntimeException v;
retrofit.Response v;
java.lang.Integer v;
int v;
dev.langchain4j.model.ollama.OllamaClient v;
java.lang.String v, v;
okhttp.ResponseBody v;
v := @this: dev.langchain4j.model.ollama.OllamaClient;
v := @parameter: retrofit.Response;
v = virtualinvoke v.<retrofit.Response: int code()>();
v = virtualinvoke v.<retrofit.Response: okhttp.ResponseBody errorBody()>();
v = virtualinvoke v.<okhttp.ResponseBody: java.lang.String string()>();
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("status code: %s; body: %s", v);
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
return v;
}
public static dev.langchain4j.model.ollama.OllamaClient$OllamaClientBuilder builder()
{
dev.langchain4j.model.ollama.OllamaClient$OllamaClientBuilder v;
v = new dev.langchain4j.model.ollama.OllamaClient$OllamaClientBuilder;
specialinvoke v.<dev.langchain4j.model.ollama.OllamaClient$OllamaClientBuilder: void <init>()>();
return v;
}
static void <clinit>()
{
com.google.gson.FieldNamingPolicy v;
com.google.gson.Gson v;
com.google.gson.GsonBuilder v, v;
v = new com.google.gson.GsonBuilder;
specialinvoke v.<com.google.gson.GsonBuilder: void <init>()>();
v = <com.google.gson.FieldNamingPolicy: com.google.gson.FieldNamingPolicy LOWER_CASE_WITH_UNDERSCORES>;
v = virtualinvoke v.<com.google.gson.GsonBuilder: com.google.gson.GsonBuilder setFieldNamingPolicy(com.google.gson.FieldNamingPolicy)>(v);
v = virtualinvoke v.<com.google.gson.GsonBuilder: com.google.gson.Gson create()>();
<dev.langchain4j.model.ollama.OllamaClient: com.google.gson.Gson GSON> = v;
return;
}
}