public class dev.langchain4j.model.cohere.CohereScoringModel extends java.lang.Object implements dev.langchain4j.model.scoring.ScoringModel
{
private static final java.lang.String DEFAULT_BASE_URL;
private final dev.langchain4j.model.cohere.CohereClient client;
private final java.lang.String modelName;
public void <init>(java.lang.String, java.lang.String, java.lang.String, java.time.Duration, java.lang.Boolean, java.lang.Boolean)
{
dev.langchain4j.model.cohere.CohereScoringModel v;
java.time.Duration v, v;
java.lang.Boolean v, v, v, v;
java.lang.String v, v, v, v;
dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder v, v, v, v, v, v;
dev.langchain4j.model.cohere.CohereClient v;
java.lang.Object v, v, v, v;
v := @this: dev.langchain4j.model.cohere.CohereScoringModel;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.time.Duration;
v := @parameter: java.lang.Boolean;
v := @parameter: java.lang.Boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <dev.langchain4j.model.cohere.CohereClient: dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder builder()>();
v = staticinvoke <dev.langchain4j.internal.Utils: java.lang.Object getOrDefault(java.lang.Object,java.lang.Object)>(v, "https://api.cohere.ai/v1/");
v = virtualinvoke v.<dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder: dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder baseUrl(java.lang.String)>(v);
v = staticinvoke <dev.langchain4j.internal.ValidationUtils: java.lang.String ensureNotBlank(java.lang.String,java.lang.String)>(v, "apiKey");
v = virtualinvoke v.<dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder: dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder apiKey(java.lang.String)>(v);
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 = virtualinvoke v.<dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder: dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder timeout(java.time.Duration)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = staticinvoke <dev.langchain4j.internal.Utils: java.lang.Object getOrDefault(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder: dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder logRequests(java.lang.Boolean)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = staticinvoke <dev.langchain4j.internal.Utils: java.lang.Object getOrDefault(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder: dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder logResponses(java.lang.Boolean)>(v);
v = virtualinvoke v.<dev.langchain4j.model.cohere.CohereClient$CohereClientBuilder: dev.langchain4j.model.cohere.CohereClient build()>();
v.<dev.langchain4j.model.cohere.CohereScoringModel: dev.langchain4j.model.cohere.CohereClient client> = v;
v.<dev.langchain4j.model.cohere.CohereScoringModel: java.lang.String modelName> = v;
return;
}
public static dev.langchain4j.model.cohere.CohereScoringModel withApiKey(java.lang.String)
{
java.lang.String v;
dev.langchain4j.model.cohere.CohereScoringModel v;
dev.langchain4j.model.cohere.CohereScoringModel$CohereScoringModelBuilder v, v;
v := @parameter: java.lang.String;
v = staticinvoke <dev.langchain4j.model.cohere.CohereScoringModel: dev.langchain4j.model.cohere.CohereScoringModel$CohereScoringModelBuilder builder()>();
v = virtualinvoke v.<dev.langchain4j.model.cohere.CohereScoringModel$CohereScoringModelBuilder: dev.langchain4j.model.cohere.CohereScoringModel$CohereScoringModelBuilder apiKey(java.lang.String)>(v);
v = virtualinvoke v.<dev.langchain4j.model.cohere.CohereScoringModel$CohereScoringModelBuilder: dev.langchain4j.model.cohere.CohereScoringModel build()>();
return v;
}
public dev.langchain4j.model.output.Response scoreAll(java.util.List, java.lang.String)
{
dev.langchain4j.model.output.TokenUsage v;
dev.langchain4j.model.cohere.CohereScoringModel v;
java.lang.Integer v;
java.util.function.Function v, v;
dev.langchain4j.model.cohere.RerankRequest$RerankRequestBuilder v, v, v, v;
dev.langchain4j.model.cohere.RerankRequest v;
java.lang.String v, v;
java.util.stream.Collector v, v;
dev.langchain4j.model.cohere.Meta v;
java.util.function.ToIntFunction v;
dev.langchain4j.model.output.Response v;
java.util.List v, v;
java.util.stream.Stream v, v, v, v, v;
dev.langchain4j.model.cohere.CohereClient v;
java.lang.Object v, v;
dev.langchain4j.model.cohere.RerankResponse v;
java.util.Comparator v;
dev.langchain4j.model.cohere.BilledUnits v;
v := @this: dev.langchain4j.model.cohere.CohereScoringModel;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v = staticinvoke <dev.langchain4j.model.cohere.RerankRequest: dev.langchain4j.model.cohere.RerankRequest$RerankRequestBuilder builder()>();
v = v.<dev.langchain4j.model.cohere.CohereScoringModel: java.lang.String modelName>;
v = virtualinvoke v.<dev.langchain4j.model.cohere.RerankRequest$RerankRequestBuilder: dev.langchain4j.model.cohere.RerankRequest$RerankRequestBuilder model(java.lang.String)>(v);
v = virtualinvoke v.<dev.langchain4j.model.cohere.RerankRequest$RerankRequestBuilder: dev.langchain4j.model.cohere.RerankRequest$RerankRequestBuilder query(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.model.cohere.CohereScoringModel$text__2: 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);
v = virtualinvoke v.<dev.langchain4j.model.cohere.RerankRequest$RerankRequestBuilder: dev.langchain4j.model.cohere.RerankRequest$RerankRequestBuilder documents(java.util.List)>(v);
v = virtualinvoke v.<dev.langchain4j.model.cohere.RerankRequest$RerankRequestBuilder: dev.langchain4j.model.cohere.RerankRequest build()>();
v = v.<dev.langchain4j.model.cohere.CohereScoringModel: dev.langchain4j.model.cohere.CohereClient client>;
v = virtualinvoke v.<dev.langchain4j.model.cohere.CohereClient: dev.langchain4j.model.cohere.RerankResponse rerank(dev.langchain4j.model.cohere.RerankRequest)>(v);
v = virtualinvoke v.<dev.langchain4j.model.cohere.RerankResponse: java.util.List getResults()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.model.cohere.CohereScoringModel$getIndex__3: java.util.function.ToIntFunction bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparingInt(java.util.function.ToIntFunction)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream sorted(java.util.Comparator)>(v);
v = staticinvoke <dev.langchain4j.model.cohere.CohereScoringModel$getRelevanceScore__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);
v = new dev.langchain4j.model.output.TokenUsage;
v = virtualinvoke v.<dev.langchain4j.model.cohere.RerankResponse: dev.langchain4j.model.cohere.Meta getMeta()>();
v = virtualinvoke v.<dev.langchain4j.model.cohere.Meta: dev.langchain4j.model.cohere.BilledUnits getBilledUnits()>();
v = virtualinvoke v.<dev.langchain4j.model.cohere.BilledUnits: java.lang.Integer getSearchUnits()>();
specialinvoke v.<dev.langchain4j.model.output.TokenUsage: void <init>(java.lang.Integer)>(v);
v = staticinvoke <dev.langchain4j.model.output.Response: dev.langchain4j.model.output.Response 'from'(java.lang.Object,dev.langchain4j.model.output.TokenUsage)>(v, v);
return v;
}
public static dev.langchain4j.model.cohere.CohereScoringModel$CohereScoringModelBuilder builder()
{
dev.langchain4j.model.cohere.CohereScoringModel$CohereScoringModelBuilder v;
v = new dev.langchain4j.model.cohere.CohereScoringModel$CohereScoringModelBuilder;
specialinvoke v.<dev.langchain4j.model.cohere.CohereScoringModel$CohereScoringModelBuilder: void <init>()>();
return v;
}
}