diff options
author | Lester Solbakken <lester.solbakken@gmail.com> | 2024-04-02 09:23:54 +0200 |
---|---|---|
committer | Lester Solbakken <lester.solbakken@gmail.com> | 2024-04-02 09:23:54 +0200 |
commit | 98ccab8d442bc3b13de47746bbd265a08b319add (patch) | |
tree | 6d0120815163943b1d6428585c1fc52efd9dc21d | |
parent | bc79caf0b639bc451c4630d49f6d9ac2a53dcc39 (diff) |
Move LLM classes in vespajlib from ai.vespa.llm to ai.vespa.languagemodels
25 files changed, 136 insertions, 132 deletions
diff --git a/container-search/abi-spec.json b/container-search/abi-spec.json index 257dd364000..b33509d5bd8 100644 --- a/container-search/abi-spec.json +++ b/container-search/abi-spec.json @@ -9152,7 +9152,7 @@ "ai.vespa.llm.clients.ConfigurableLanguageModel" : { "superClass" : "java.lang.Object", "interfaces" : [ - "ai.vespa.llm.LanguageModel" + "ai.vespa.languagemodels.LanguageModel" ], "attributes" : [ "public", @@ -9161,10 +9161,10 @@ "methods" : [ "public void <init>()", "public void <init>(ai.vespa.llm.LlmClientConfig, com.yahoo.container.jdisc.secretstore.SecretStore)", - "protected java.lang.String getApiKey(ai.vespa.llm.InferenceParameters)", - "protected void setApiKey(ai.vespa.llm.InferenceParameters)", + "protected java.lang.String getApiKey(ai.vespa.languagemodels.InferenceParameters)", + "protected void setApiKey(ai.vespa.languagemodels.InferenceParameters)", "protected java.lang.String getEndpoint()", - "protected void setEndpoint(ai.vespa.llm.InferenceParameters)" + "protected void setEndpoint(ai.vespa.languagemodels.InferenceParameters)" ], "fields" : [ ] }, @@ -9176,8 +9176,8 @@ ], "methods" : [ "public void <init>(ai.vespa.llm.LlmClientConfig, com.yahoo.container.jdisc.secretstore.SecretStore)", - "public java.util.List complete(ai.vespa.llm.completion.Prompt, ai.vespa.llm.InferenceParameters)", - "public java.util.concurrent.CompletableFuture completeAsync(ai.vespa.llm.completion.Prompt, ai.vespa.llm.InferenceParameters, java.util.function.Consumer)" + "public java.util.List complete(ai.vespa.languagemodels.completion.Prompt, ai.vespa.languagemodels.InferenceParameters)", + "public java.util.concurrent.CompletableFuture completeAsync(ai.vespa.languagemodels.completion.Prompt, ai.vespa.languagemodels.InferenceParameters, java.util.function.Consumer)" ], "fields" : [ ] }, @@ -9185,10 +9185,19 @@ "superClass" : "com.yahoo.search.Searcher", "interfaces" : [ ], "attributes" : [ - "public", - "abstract" + "public" + ], + "methods" : [ + "public void <init>(ai.vespa.llm.LlmSearcherConfig, com.yahoo.component.provider.ComponentRegistry)", + "public com.yahoo.search.Result search(com.yahoo.search.Query, com.yahoo.search.searchchain.Execution)", + "protected com.yahoo.search.Result complete(com.yahoo.search.Query, ai.vespa.languagemodels.completion.Prompt)", + "public java.lang.String getPrompt(com.yahoo.search.Query)", + "public java.lang.String getPropertyPrefix()", + "public java.lang.String lookupProperty(java.lang.String, com.yahoo.search.Query)", + "public java.lang.Boolean lookupPropertyBool(java.lang.String, com.yahoo.search.Query, boolean)", + "public java.lang.String lookupPropertyWithOrWithoutPrefix(java.lang.String, java.util.function.Function)", + "public java.lang.String getApiKeyHeader(com.yahoo.search.Query)" ], - "methods" : [ ], "fields" : [ ] }, "ai.vespa.llm.search.RAGSearcher" : { @@ -9200,7 +9209,7 @@ "methods" : [ "public void <init>(ai.vespa.llm.LlmSearcherConfig, com.yahoo.component.provider.ComponentRegistry)", "public com.yahoo.search.Result search(com.yahoo.search.Query, com.yahoo.search.searchchain.Execution)", - "protected ai.vespa.llm.completion.Prompt buildPrompt(com.yahoo.search.Query, com.yahoo.search.Result)" + "protected ai.vespa.languagemodels.completion.Prompt buildPrompt(com.yahoo.search.Query, com.yahoo.search.Result)" ], "fields" : [ ] } diff --git a/container-search/src/main/java/ai/vespa/llm/clients/ConfigurableLanguageModel.java b/container-search/src/main/java/ai/vespa/llm/clients/ConfigurableLanguageModel.java index 662d73d4e01..f3bb29552d6 100644 --- a/container-search/src/main/java/ai/vespa/llm/clients/ConfigurableLanguageModel.java +++ b/container-search/src/main/java/ai/vespa/llm/clients/ConfigurableLanguageModel.java @@ -1,8 +1,8 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.llm.clients; -import ai.vespa.llm.InferenceParameters; -import ai.vespa.llm.LanguageModel; +import ai.vespa.languagemodels.InferenceParameters; +import ai.vespa.languagemodels.LanguageModel; import ai.vespa.llm.LlmClientConfig; import com.yahoo.api.annotations.Beta; import com.yahoo.component.annotation.Inject; @@ -19,7 +19,7 @@ import java.util.logging.Logger; @Beta public abstract class ConfigurableLanguageModel implements LanguageModel { - private static Logger log = Logger.getLogger(ai.vespa.llm.clients.ConfigurableLanguageModel.class.getName()); + private static Logger log = Logger.getLogger(ConfigurableLanguageModel.class.getName()); private final String apiKey; private final String endpoint; @@ -68,7 +68,9 @@ public abstract class ConfigurableLanguageModel implements LanguageModel { } protected void setEndpoint(InferenceParameters params) { - params.setEndpoint(endpoint); + if (endpoint != null && ! endpoint.isEmpty()) { + params.setEndpoint(endpoint); + } } } diff --git a/container-search/src/main/java/ai/vespa/llm/clients/OpenAI.java b/container-search/src/main/java/ai/vespa/llm/clients/OpenAI.java index f6092f51948..bc99aa51097 100644 --- a/container-search/src/main/java/ai/vespa/llm/clients/OpenAI.java +++ b/container-search/src/main/java/ai/vespa/llm/clients/OpenAI.java @@ -1,11 +1,11 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.llm.clients; -import ai.vespa.llm.InferenceParameters; +import ai.vespa.languagemodels.InferenceParameters; import ai.vespa.llm.LlmClientConfig; -import ai.vespa.llm.client.openai.OpenAiClient; -import ai.vespa.llm.completion.Completion; -import ai.vespa.llm.completion.Prompt; +import ai.vespa.languagemodels.client.openai.OpenAiClient; +import ai.vespa.languagemodels.completion.Completion; +import ai.vespa.languagemodels.completion.Prompt; import com.yahoo.api.annotations.Beta; import com.yahoo.component.annotation.Inject; import com.yahoo.container.jdisc.secretstore.SecretStore; diff --git a/container-search/src/main/java/ai/vespa/llm/search/LLMSearcher.java b/container-search/src/main/java/ai/vespa/llm/search/LLMSearcher.java index 6ff40401a8f..040393083b8 100755 --- a/container-search/src/main/java/ai/vespa/llm/search/LLMSearcher.java +++ b/container-search/src/main/java/ai/vespa/llm/search/LLMSearcher.java @@ -1,12 +1,13 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.llm.search; -import ai.vespa.llm.InferenceParameters; -import ai.vespa.llm.LanguageModel; -import ai.vespa.llm.LanguageModelException; +import ai.vespa.languagemodels.InferenceParameters; +import ai.vespa.languagemodels.LanguageModel; +import ai.vespa.languagemodels.LanguageModelException; import ai.vespa.llm.LlmSearcherConfig; -import ai.vespa.llm.completion.Completion; -import ai.vespa.llm.completion.Prompt; +import ai.vespa.languagemodels.completion.Completion; +import ai.vespa.languagemodels.completion.Prompt; +import ai.vespa.languagemodels.completion.StringPrompt; import com.yahoo.api.annotations.Beta; import com.yahoo.component.ComponentId; import com.yahoo.component.annotation.Inject; @@ -17,6 +18,7 @@ import com.yahoo.search.Searcher; import com.yahoo.search.result.ErrorMessage; import com.yahoo.search.result.EventStream; import com.yahoo.search.result.HitGroup; +import com.yahoo.search.searchchain.Execution; import java.util.List; import java.util.function.Function; @@ -29,7 +31,7 @@ import java.util.stream.Collectors; * @author lesters */ @Beta -public abstract class LLMSearcher extends Searcher { +public class LLMSearcher extends Searcher { private static Logger log = Logger.getLogger(LLMSearcher.class.getName()); @@ -43,13 +45,18 @@ public abstract class LLMSearcher extends Searcher { private final String languageModelId; @Inject - LLMSearcher(LlmSearcherConfig config, ComponentRegistry<LanguageModel> languageModels) { + public LLMSearcher(LlmSearcherConfig config, ComponentRegistry<LanguageModel> languageModels) { this.stream = config.stream(); this.languageModelId = config.providerId(); this.languageModel = findLanguageModel(languageModelId, languageModels); this.propertyPrefix = config.propertyPrefix(); } + @Override + public Result search(Query query, Execution execution) { + return complete(query, StringPrompt.from(getPrompt(query))); + } + private LanguageModel findLanguageModel(String providerId, ComponentRegistry<LanguageModel> languageModels) throws IllegalArgumentException { @@ -74,7 +81,7 @@ public abstract class LLMSearcher extends Searcher { return languageModel; } - Result complete(Query query, Prompt prompt) { + protected Result complete(Query query, Prompt prompt) { var options = new InferenceParameters(getApiKeyHeader(query), s -> lookupProperty(s, query)); var stream = lookupPropertyBool(STREAM_PROPERTY, query, this.stream); // query value overwrites config return stream ? completeAsync(query, prompt, options) : completeSync(query, prompt, options); @@ -122,7 +129,7 @@ public abstract class LLMSearcher extends Searcher { return new Result(query, hitGroup); } - String getPrompt(Query query) { + public String getPrompt(Query query) { // Look for prompt with or without prefix String prompt = lookupPropertyWithOrWithoutPrefix(PROMPT_PROPERTY, p -> query.properties().getString(p)); if (prompt != null) @@ -138,28 +145,28 @@ public abstract class LLMSearcher extends Searcher { "'" + propertyPrefix + "." + PROMPT_PROPERTY + "', '" + PROMPT_PROPERTY + "' or '@query'."); } - String getPropertyPrefix() { + public String getPropertyPrefix() { return this.propertyPrefix; } - String lookupProperty(String property, Query query) { + public String lookupProperty(String property, Query query) { String propertyWithPrefix = this.propertyPrefix + "." + property; return query.properties().getString(propertyWithPrefix, null); } - Boolean lookupPropertyBool(String property, Query query, boolean defaultValue) { + public Boolean lookupPropertyBool(String property, Query query, boolean defaultValue) { String propertyWithPrefix = this.propertyPrefix + "." + property; return query.properties().getBoolean(propertyWithPrefix, defaultValue); } - String lookupPropertyWithOrWithoutPrefix(String property, Function<String, String> lookup) { + public String lookupPropertyWithOrWithoutPrefix(String property, Function<String, String> lookup) { String value = lookup.apply(getPropertyPrefix() + "." + property); if (value != null) return value; return lookup.apply(property); } - String getApiKeyHeader(Query query) { + public String getApiKeyHeader(Query query) { return lookupPropertyWithOrWithoutPrefix(API_KEY_HEADER, p -> query.getHttpRequest().getHeader(p)); } diff --git a/container-search/src/main/java/ai/vespa/llm/search/RAGSearcher.java b/container-search/src/main/java/ai/vespa/llm/search/RAGSearcher.java index b8e33778ced..ac3cdb04749 100755 --- a/container-search/src/main/java/ai/vespa/llm/search/RAGSearcher.java +++ b/container-search/src/main/java/ai/vespa/llm/search/RAGSearcher.java @@ -1,10 +1,10 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.llm.search; -import ai.vespa.llm.LanguageModel; +import ai.vespa.languagemodels.LanguageModel; import ai.vespa.llm.LlmSearcherConfig; -import ai.vespa.llm.completion.Prompt; -import ai.vespa.llm.completion.StringPrompt; +import ai.vespa.languagemodels.completion.Prompt; +import ai.vespa.languagemodels.completion.StringPrompt; import com.yahoo.api.annotations.Beta; import com.yahoo.component.annotation.Inject; import com.yahoo.component.provider.ComponentRegistry; diff --git a/container-search/src/test/java/ai/vespa/llm/clients/ConfigurableLanguageModelTest.java b/container-search/src/test/java/ai/vespa/llm/clients/ConfigurableLanguageModelTest.java index 1f2a12322a1..ed786a0f372 100644 --- a/container-search/src/test/java/ai/vespa/llm/clients/ConfigurableLanguageModelTest.java +++ b/container-search/src/test/java/ai/vespa/llm/clients/ConfigurableLanguageModelTest.java @@ -1,11 +1,11 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.llm.clients; -import ai.vespa.llm.InferenceParameters; +import ai.vespa.languagemodels.InferenceParameters; import ai.vespa.llm.LlmClientConfig; -import ai.vespa.llm.completion.Completion; -import ai.vespa.llm.completion.Prompt; -import ai.vespa.llm.completion.StringPrompt; +import ai.vespa.languagemodels.completion.Completion; +import ai.vespa.languagemodels.completion.Prompt; +import ai.vespa.languagemodels.completion.StringPrompt; import com.yahoo.container.di.componentgraph.Provider; import com.yahoo.container.jdisc.SecretStoreProvider; import com.yahoo.container.jdisc.secretstore.SecretStore; diff --git a/container-search/src/test/java/ai/vespa/llm/clients/MockLLMClient.java b/container-search/src/test/java/ai/vespa/llm/clients/MockLLMClient.java index cfb6a43984f..45a36bd1b6f 100644 --- a/container-search/src/test/java/ai/vespa/llm/clients/MockLLMClient.java +++ b/container-search/src/test/java/ai/vespa/llm/clients/MockLLMClient.java @@ -1,10 +1,10 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.llm.clients; -import ai.vespa.llm.InferenceParameters; +import ai.vespa.languagemodels.InferenceParameters; import ai.vespa.llm.LlmClientConfig; -import ai.vespa.llm.completion.Completion; -import ai.vespa.llm.completion.Prompt; +import ai.vespa.languagemodels.completion.Completion; +import ai.vespa.languagemodels.completion.Prompt; import com.yahoo.container.jdisc.secretstore.SecretStore; import java.util.List; diff --git a/container-search/src/test/java/ai/vespa/llm/clients/OpenAITest.java b/container-search/src/test/java/ai/vespa/llm/clients/OpenAITest.java index 1111a9824f5..363833cd0c1 100644 --- a/container-search/src/test/java/ai/vespa/llm/clients/OpenAITest.java +++ b/container-search/src/test/java/ai/vespa/llm/clients/OpenAITest.java @@ -1,9 +1,9 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.llm.clients; -import ai.vespa.llm.InferenceParameters; +import ai.vespa.languagemodels.InferenceParameters; import ai.vespa.llm.LlmClientConfig; -import ai.vespa.llm.completion.StringPrompt; +import ai.vespa.languagemodels.completion.StringPrompt; import com.yahoo.container.jdisc.SecretStoreProvider; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; diff --git a/container-search/src/test/java/ai/vespa/llm/search/LLMSearcherTest.java b/container-search/src/test/java/ai/vespa/llm/search/LLMSearcherTest.java index d4f1dbc00a4..0b4d334e4be 100755 --- a/container-search/src/test/java/ai/vespa/llm/search/LLMSearcherTest.java +++ b/container-search/src/test/java/ai/vespa/llm/search/LLMSearcherTest.java @@ -1,14 +1,13 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.llm.search; -import ai.vespa.llm.InferenceParameters; -import ai.vespa.llm.LanguageModel; +import ai.vespa.languagemodels.InferenceParameters; +import ai.vespa.languagemodels.LanguageModel; import ai.vespa.llm.LlmClientConfig; import ai.vespa.llm.LlmSearcherConfig; import ai.vespa.llm.clients.ConfigurableLanguageModelTest; import ai.vespa.llm.clients.MockLLMClient; -import ai.vespa.llm.completion.Prompt; -import ai.vespa.llm.completion.StringPrompt; +import ai.vespa.languagemodels.completion.Prompt; import com.yahoo.component.ComponentId; import com.yahoo.component.chain.Chain; import com.yahoo.component.provider.ComponentRegistry; @@ -229,26 +228,14 @@ public class LLMSearcherTest { ComponentRegistry<LanguageModel> models = new ComponentRegistry<>(); llms.forEach((key, value) -> models.register(ComponentId.fromString(key), value)); models.freeze(); - return new LLMSearcherImpl(config, models); + return new LLMSearcher(config, models); } private static Searcher createLLMSearcher(LlmSearcherConfig config, Map<String, LanguageModel> llms) { ComponentRegistry<LanguageModel> models = new ComponentRegistry<>(); llms.forEach((key, value) -> models.register(ComponentId.fromString(key), value)); models.freeze(); - return new LLMSearcherImpl(config, models); - } - - public static class LLMSearcherImpl extends LLMSearcher { - - public LLMSearcherImpl(LlmSearcherConfig config, ComponentRegistry<LanguageModel> languageModels) { - super(config, languageModels); - } - - @Override - public Result search(Query query, Execution execution) { - return complete(query, StringPrompt.from(getPrompt(query))); - } + return new LLMSearcher(config, models); } } diff --git a/container-search/src/test/java/ai/vespa/llm/search/RAGSearcherTest.java b/container-search/src/test/java/ai/vespa/llm/search/RAGSearcherTest.java index ccf9a4a6401..41d999794cb 100755 --- a/container-search/src/test/java/ai/vespa/llm/search/RAGSearcherTest.java +++ b/container-search/src/test/java/ai/vespa/llm/search/RAGSearcherTest.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.llm.search; -import ai.vespa.llm.LanguageModel; +import ai.vespa.languagemodels.LanguageModel; import ai.vespa.llm.LlmSearcherConfig; import com.yahoo.component.ComponentId; import com.yahoo.component.chain.Chain; diff --git a/vespajlib/abi-spec.json b/vespajlib/abi-spec.json index 45e88ac2e94..c92d41edfd9 100644 --- a/vespajlib/abi-spec.json +++ b/vespajlib/abi-spec.json @@ -4077,7 +4077,7 @@ ], "fields" : [ ] }, - "ai.vespa.llm.InferenceParameters" : { + "ai.vespa.languagemodels.InferenceParameters" : { "superClass" : "java.lang.Object", "interfaces" : [ ], "attributes" : [ @@ -4097,7 +4097,7 @@ ], "fields" : [ ] }, - "ai.vespa.llm.LanguageModel" : { + "ai.vespa.languagemodels.LanguageModel" : { "superClass" : "java.lang.Object", "interfaces" : [ ], "attributes" : [ @@ -4106,12 +4106,12 @@ "abstract" ], "methods" : [ - "public abstract java.util.List complete(ai.vespa.llm.completion.Prompt, ai.vespa.llm.InferenceParameters)", - "public abstract java.util.concurrent.CompletableFuture completeAsync(ai.vespa.llm.completion.Prompt, ai.vespa.llm.InferenceParameters, java.util.function.Consumer)" + "public abstract java.util.List complete(ai.vespa.languagemodels.completion.Prompt, ai.vespa.languagemodels.InferenceParameters)", + "public abstract java.util.concurrent.CompletableFuture completeAsync(ai.vespa.languagemodels.completion.Prompt, ai.vespa.languagemodels.InferenceParameters, java.util.function.Consumer)" ], "fields" : [ ] }, - "ai.vespa.llm.LanguageModelException" : { + "ai.vespa.languagemodels.LanguageModelException" : { "superClass" : "java.lang.RuntimeException", "interfaces" : [ ], "attributes" : [ @@ -4123,22 +4123,22 @@ ], "fields" : [ ] }, - "ai.vespa.llm.client.openai.OpenAiClient" : { + "ai.vespa.languagemodels.client.openai.OpenAiClient" : { "superClass" : "java.lang.Object", "interfaces" : [ - "ai.vespa.llm.LanguageModel" + "ai.vespa.languagemodels.LanguageModel" ], "attributes" : [ "public" ], "methods" : [ "public void <init>()", - "public java.util.List complete(ai.vespa.llm.completion.Prompt, ai.vespa.llm.InferenceParameters)", - "public java.util.concurrent.CompletableFuture completeAsync(ai.vespa.llm.completion.Prompt, ai.vespa.llm.InferenceParameters, java.util.function.Consumer)" + "public java.util.List complete(ai.vespa.languagemodels.completion.Prompt, ai.vespa.languagemodels.InferenceParameters)", + "public java.util.concurrent.CompletableFuture completeAsync(ai.vespa.languagemodels.completion.Prompt, ai.vespa.languagemodels.InferenceParameters, java.util.function.Consumer)" ], "fields" : [ ] }, - "ai.vespa.llm.completion.Completion$FinishReason" : { + "ai.vespa.languagemodels.completion.Completion$FinishReason" : { "superClass" : "java.lang.Enum", "interfaces" : [ ], "attributes" : [ @@ -4147,17 +4147,17 @@ "enum" ], "methods" : [ - "public static ai.vespa.llm.completion.Completion$FinishReason[] values()", - "public static ai.vespa.llm.completion.Completion$FinishReason valueOf(java.lang.String)" + "public static ai.vespa.languagemodels.completion.Completion$FinishReason[] values()", + "public static ai.vespa.languagemodels.completion.Completion$FinishReason valueOf(java.lang.String)" ], "fields" : [ - "public static final enum ai.vespa.llm.completion.Completion$FinishReason length", - "public static final enum ai.vespa.llm.completion.Completion$FinishReason stop", - "public static final enum ai.vespa.llm.completion.Completion$FinishReason none", - "public static final enum ai.vespa.llm.completion.Completion$FinishReason error" + "public static final enum ai.vespa.languagemodels.completion.Completion$FinishReason length", + "public static final enum ai.vespa.languagemodels.completion.Completion$FinishReason stop", + "public static final enum ai.vespa.languagemodels.completion.Completion$FinishReason none", + "public static final enum ai.vespa.languagemodels.completion.Completion$FinishReason error" ] }, - "ai.vespa.llm.completion.Completion" : { + "ai.vespa.languagemodels.completion.Completion" : { "superClass" : "java.lang.Record", "interfaces" : [ ], "attributes" : [ @@ -4166,18 +4166,18 @@ "record" ], "methods" : [ - "public void <init>(java.lang.String, ai.vespa.llm.completion.Completion$FinishReason)", + "public void <init>(java.lang.String, ai.vespa.languagemodels.completion.Completion$FinishReason)", "public java.lang.String text()", - "public ai.vespa.llm.completion.Completion$FinishReason finishReason()", - "public static ai.vespa.llm.completion.Completion from(java.lang.String)", - "public static ai.vespa.llm.completion.Completion from(java.lang.String, ai.vespa.llm.completion.Completion$FinishReason)", + "public ai.vespa.languagemodels.completion.Completion$FinishReason finishReason()", + "public static ai.vespa.languagemodels.completion.Completion from(java.lang.String)", + "public static ai.vespa.languagemodels.completion.Completion from(java.lang.String, ai.vespa.languagemodels.completion.Completion$FinishReason)", "public final java.lang.String toString()", "public final int hashCode()", "public final boolean equals(java.lang.Object)" ], "fields" : [ ] }, - "ai.vespa.llm.completion.Prompt" : { + "ai.vespa.languagemodels.completion.Prompt" : { "superClass" : "java.lang.Object", "interfaces" : [ ], "attributes" : [ @@ -4187,53 +4187,53 @@ "methods" : [ "public void <init>()", "public abstract java.lang.String asString()", - "public ai.vespa.llm.completion.Prompt append(ai.vespa.llm.completion.Completion)", - "public abstract ai.vespa.llm.completion.Prompt append(java.lang.String)" + "public ai.vespa.languagemodels.completion.Prompt append(ai.vespa.languagemodels.completion.Completion)", + "public abstract ai.vespa.languagemodels.completion.Prompt append(java.lang.String)" ], "fields" : [ ] }, - "ai.vespa.llm.completion.StringPrompt" : { - "superClass" : "ai.vespa.llm.completion.Prompt", + "ai.vespa.languagemodels.completion.StringPrompt" : { + "superClass" : "ai.vespa.languagemodels.completion.Prompt", "interfaces" : [ ], "attributes" : [ "public" ], "methods" : [ "public java.lang.String asString()", - "public ai.vespa.llm.completion.StringPrompt append(java.lang.String)", - "public ai.vespa.llm.completion.StringPrompt append(ai.vespa.llm.completion.Completion)", + "public ai.vespa.languagemodels.completion.StringPrompt append(java.lang.String)", + "public ai.vespa.languagemodels.completion.StringPrompt append(ai.vespa.languagemodels.completion.Completion)", "public java.lang.String toString()", - "public static ai.vespa.llm.completion.StringPrompt from(java.lang.String)", - "public bridge synthetic ai.vespa.llm.completion.Prompt append(java.lang.String)", - "public bridge synthetic ai.vespa.llm.completion.Prompt append(ai.vespa.llm.completion.Completion)" + "public static ai.vespa.languagemodels.completion.StringPrompt from(java.lang.String)", + "public bridge synthetic ai.vespa.languagemodels.completion.Prompt append(java.lang.String)", + "public bridge synthetic ai.vespa.languagemodels.completion.Prompt append(ai.vespa.languagemodels.completion.Completion)" ], "fields" : [ ] }, - "ai.vespa.llm.test.MockLanguageModel$Builder" : { + "ai.vespa.languagemodels.test.MockLanguageModel$Builder" : { "superClass" : "java.lang.Object", "interfaces" : [ ], "attributes" : [ "public" ], "methods" : [ - "public ai.vespa.llm.test.MockLanguageModel$Builder completer(java.util.function.Function)", + "public ai.vespa.languagemodels.test.MockLanguageModel$Builder completer(java.util.function.Function)", "public void <init>()", - "public ai.vespa.llm.test.MockLanguageModel build()" + "public ai.vespa.languagemodels.test.MockLanguageModel build()" ], "fields" : [ ] }, - "ai.vespa.llm.test.MockLanguageModel" : { + "ai.vespa.languagemodels.test.MockLanguageModel" : { "superClass" : "java.lang.Object", "interfaces" : [ - "ai.vespa.llm.LanguageModel" + "ai.vespa.languagemodels.LanguageModel" ], "attributes" : [ "public" ], "methods" : [ - "public void <init>(ai.vespa.llm.test.MockLanguageModel$Builder)", - "public java.util.List complete(ai.vespa.llm.completion.Prompt, ai.vespa.llm.InferenceParameters)", - "public java.util.concurrent.CompletableFuture completeAsync(ai.vespa.llm.completion.Prompt, ai.vespa.llm.InferenceParameters, java.util.function.Consumer)" + "public void <init>(ai.vespa.languagemodels.test.MockLanguageModel$Builder)", + "public java.util.List complete(ai.vespa.languagemodels.completion.Prompt, ai.vespa.languagemodels.InferenceParameters)", + "public java.util.concurrent.CompletableFuture completeAsync(ai.vespa.languagemodels.completion.Prompt, ai.vespa.languagemodels.InferenceParameters, java.util.function.Consumer)" ], "fields" : [ ] } diff --git a/vespajlib/src/main/java/ai/vespa/llm/InferenceParameters.java b/vespajlib/src/main/java/ai/vespa/languagemodels/InferenceParameters.java index a942e5090e5..dd86db039dc 100755 --- a/vespajlib/src/main/java/ai/vespa/llm/InferenceParameters.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/InferenceParameters.java @@ -1,5 +1,5 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm; +package ai.vespa.languagemodels; import com.yahoo.api.annotations.Beta; diff --git a/vespajlib/src/main/java/ai/vespa/llm/LanguageModel.java b/vespajlib/src/main/java/ai/vespa/languagemodels/LanguageModel.java index 059f25fadb4..115a6e21bd6 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/LanguageModel.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/LanguageModel.java @@ -1,8 +1,8 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm; +package ai.vespa.languagemodels; -import ai.vespa.llm.completion.Completion; -import ai.vespa.llm.completion.Prompt; +import ai.vespa.languagemodels.completion.Completion; +import ai.vespa.languagemodels.completion.Prompt; import com.yahoo.api.annotations.Beta; import java.util.List; diff --git a/vespajlib/src/main/java/ai/vespa/llm/LanguageModelException.java b/vespajlib/src/main/java/ai/vespa/languagemodels/LanguageModelException.java index b5dbf615c08..f7ae7472d13 100755 --- a/vespajlib/src/main/java/ai/vespa/llm/LanguageModelException.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/LanguageModelException.java @@ -1,5 +1,5 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm; +package ai.vespa.languagemodels; import com.yahoo.api.annotations.Beta; diff --git a/vespajlib/src/main/java/ai/vespa/llm/client/openai/OpenAiClient.java b/vespajlib/src/main/java/ai/vespa/languagemodels/client/openai/OpenAiClient.java index 75308a84faa..c83fa4799c8 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/client/openai/OpenAiClient.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/client/openai/OpenAiClient.java @@ -1,11 +1,11 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm.client.openai; +package ai.vespa.languagemodels.client.openai; -import ai.vespa.llm.LanguageModelException; -import ai.vespa.llm.InferenceParameters; -import ai.vespa.llm.completion.Completion; -import ai.vespa.llm.LanguageModel; -import ai.vespa.llm.completion.Prompt; +import ai.vespa.languagemodels.LanguageModelException; +import ai.vespa.languagemodels.InferenceParameters; +import ai.vespa.languagemodels.completion.Completion; +import ai.vespa.languagemodels.LanguageModel; +import ai.vespa.languagemodels.completion.Prompt; import com.yahoo.api.annotations.Beta; import com.yahoo.slime.ArrayTraverser; import com.yahoo.slime.Inspector; diff --git a/vespajlib/src/main/java/ai/vespa/llm/client/openai/package-info.java b/vespajlib/src/main/java/ai/vespa/languagemodels/client/openai/package-info.java index 2593d919499..d3f6d9042d8 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/client/openai/package-info.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/client/openai/package-info.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. @ExportPackage @PublicApi -package ai.vespa.llm.client.openai; +package ai.vespa.languagemodels.client.openai; import com.yahoo.api.annotations.PublicApi; import com.yahoo.osgi.annotation.ExportPackage; diff --git a/vespajlib/src/main/java/ai/vespa/llm/completion/Completion.java b/vespajlib/src/main/java/ai/vespa/languagemodels/completion/Completion.java index 91d0ad9bd02..68b6dc47bfd 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/completion/Completion.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/completion/Completion.java @@ -1,5 +1,5 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm.completion; +package ai.vespa.languagemodels.completion; import com.yahoo.api.annotations.Beta; diff --git a/vespajlib/src/main/java/ai/vespa/llm/completion/Prompt.java b/vespajlib/src/main/java/ai/vespa/languagemodels/completion/Prompt.java index 44dfb8499a8..f10a1768b8c 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/completion/Prompt.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/completion/Prompt.java @@ -1,5 +1,5 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm.completion; +package ai.vespa.languagemodels.completion; import com.yahoo.api.annotations.Beta; diff --git a/vespajlib/src/main/java/ai/vespa/llm/completion/StringPrompt.java b/vespajlib/src/main/java/ai/vespa/languagemodels/completion/StringPrompt.java index 9e702c79a7a..d4bb387cd6c 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/completion/StringPrompt.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/completion/StringPrompt.java @@ -1,5 +1,5 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm.completion; +package ai.vespa.languagemodels.completion; import com.yahoo.api.annotations.Beta; diff --git a/vespajlib/src/main/java/ai/vespa/llm/completion/package-info.java b/vespajlib/src/main/java/ai/vespa/languagemodels/completion/package-info.java index 57c2b3f3364..fbae8d3a0e9 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/completion/package-info.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/completion/package-info.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. @ExportPackage @PublicApi -package ai.vespa.llm.completion; +package ai.vespa.languagemodels.completion; import com.yahoo.api.annotations.PublicApi; import com.yahoo.osgi.annotation.ExportPackage; diff --git a/vespajlib/src/main/java/ai/vespa/llm/package-info.java b/vespajlib/src/main/java/ai/vespa/languagemodels/package-info.java index 8640f652ad4..9ec6a7773e5 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/package-info.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/package-info.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. @ExportPackage @PublicApi -package ai.vespa.llm; +package ai.vespa.languagemodels; import com.yahoo.api.annotations.PublicApi; import com.yahoo.osgi.annotation.ExportPackage; diff --git a/vespajlib/src/main/java/ai/vespa/llm/test/MockLanguageModel.java b/vespajlib/src/main/java/ai/vespa/languagemodels/test/MockLanguageModel.java index 0e757a1f1e7..42bfb8b3e93 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/test/MockLanguageModel.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/test/MockLanguageModel.java @@ -1,10 +1,10 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm.test; +package ai.vespa.languagemodels.test; -import ai.vespa.llm.LanguageModel; -import ai.vespa.llm.InferenceParameters; -import ai.vespa.llm.completion.Completion; -import ai.vespa.llm.completion.Prompt; +import ai.vespa.languagemodels.LanguageModel; +import ai.vespa.languagemodels.InferenceParameters; +import ai.vespa.languagemodels.completion.Completion; +import ai.vespa.languagemodels.completion.Prompt; import com.yahoo.api.annotations.Beta; import java.util.List; diff --git a/vespajlib/src/main/java/ai/vespa/llm/test/package-info.java b/vespajlib/src/main/java/ai/vespa/languagemodels/test/package-info.java index ab3b7acc657..ba5cf265408 100644 --- a/vespajlib/src/main/java/ai/vespa/llm/test/package-info.java +++ b/vespajlib/src/main/java/ai/vespa/languagemodels/test/package-info.java @@ -1,7 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. @ExportPackage @PublicApi -package ai.vespa.llm.test; +package ai.vespa.languagemodels.test; /** * Tools for writing tests when working with large language models. diff --git a/vespajlib/src/test/java/ai/vespa/llm/client/openai/OpenAiClientCompletionTest.java b/vespajlib/src/test/java/ai/vespa/languagemodels/client/openai/OpenAiClientCompletionTest.java index 1baab26f496..d6cb4b13f50 100644 --- a/vespajlib/src/test/java/ai/vespa/llm/client/openai/OpenAiClientCompletionTest.java +++ b/vespajlib/src/test/java/ai/vespa/languagemodels/client/openai/OpenAiClientCompletionTest.java @@ -1,9 +1,8 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm.client.openai; +package ai.vespa.languagemodels.client.openai; -import ai.vespa.llm.InferenceParameters; -import ai.vespa.llm.completion.Completion; -import ai.vespa.llm.completion.StringPrompt; +import ai.vespa.languagemodels.InferenceParameters; +import ai.vespa.languagemodels.completion.StringPrompt; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; diff --git a/vespajlib/src/test/java/ai/vespa/llm/completion/CompletionTest.java b/vespajlib/src/test/java/ai/vespa/languagemodels/completion/CompletionTest.java index 24c496a3d2c..304334a0ea2 100644 --- a/vespajlib/src/test/java/ai/vespa/llm/completion/CompletionTest.java +++ b/vespajlib/src/test/java/ai/vespa/languagemodels/completion/CompletionTest.java @@ -1,8 +1,8 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package ai.vespa.llm.completion; +package ai.vespa.languagemodels.completion; -import ai.vespa.llm.InferenceParameters; -import ai.vespa.llm.test.MockLanguageModel; +import ai.vespa.languagemodels.test.MockLanguageModel; +import ai.vespa.languagemodels.InferenceParameters; import org.junit.jupiter.api.Test; import java.util.List; |