lm-lib refactoring;

git-svn-id: svn://home0/lm-lib@3610 71dcc7fd-b1f2-4e5d-bb8e-274146e81173
This commit is contained in:
(no author)
2024-12-18 18:58:27 +00:00
parent 35b59043e1
commit f01309526a
28 changed files with 63 additions and 57 deletions

View File

@@ -17,7 +17,7 @@ import de.extio.lmlib.client.Client;
import de.extio.lmlib.client.Completion;
import de.extio.lmlib.client.Conversation;
import de.extio.lmlib.client.Conversation.TurnType;
import de.extio.lmlib.client.profile.ModelCategory;
import de.extio.lmlib.profile.ModelCategory;
public record Agent(String name, AgentType agentType, ModelCategory modelCategory, String systemPrompt, String textTemplate, AgentResponseHandler responseHandler, Consumer<AgentContext> preProcessor, Consumer<AgentContext> postProcessor, Function<List<AgentContext>, List<AgentContext>> merger, Function<AgentContext, AgentNext> chooseNext) {

View File

@@ -1,7 +1,7 @@
package de.extio.lmlib.client;
import de.extio.lmlib.client.profile.ModelCategory;
import de.extio.lmlib.client.profile.ModelProfile.ModelProvider;
import de.extio.lmlib.profile.ModelCategory;
import de.extio.lmlib.profile.ModelProfile.ModelProvider;
public interface Client {

View File

@@ -5,8 +5,8 @@ import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import de.extio.lmlib.client.profile.ModelCategory;
import de.extio.lmlib.client.profile.ModelProfileService;
import de.extio.lmlib.profile.ModelCategory;
import de.extio.lmlib.profile.ModelProfileService;
@Service
public class ClientService {

View File

@@ -32,11 +32,11 @@ import de.extio.lmlib.client.Client;
import de.extio.lmlib.client.Completion;
import de.extio.lmlib.client.Conversation;
import de.extio.lmlib.client.Conversation.Turn;
import de.extio.lmlib.client.profile.ModelCategory;
import de.extio.lmlib.client.profile.ModelProfile;
import de.extio.lmlib.client.profile.ModelProfile.ModelProvider;
import de.extio.lmlib.client.profile.ModelProfileService;
import de.extio.lmlib.client.token.Tokenizer;
import de.extio.lmlib.profile.ModelCategory;
import de.extio.lmlib.profile.ModelProfile;
import de.extio.lmlib.profile.ModelProfileService;
import de.extio.lmlib.profile.ModelProfile.ModelProvider;
import de.extio.lmlib.token.Tokenizer;
public final class AzureAiClient implements Client {

View File

@@ -4,8 +4,8 @@ import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import de.extio.lmlib.client.profile.ModelProfileService;
import de.extio.lmlib.client.token.Tokenizer;
import de.extio.lmlib.profile.ModelProfileService;
import de.extio.lmlib.token.Tokenizer;
@AutoConfiguration
@ConditionalOnClass(name = "com.azure.ai.inference.ChatCompletionsClient")

View File

@@ -11,8 +11,8 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.function.client.WebClient;
import de.extio.lmlib.client.profile.ModelProfile.ModelProvider;
import de.extio.lmlib.client.profile.ModelProfileService;
import de.extio.lmlib.profile.ModelProfileService;
import de.extio.lmlib.profile.ModelProfile.ModelProvider;
@Component
class ModelNameSupplier implements InitializingBean {

View File

@@ -23,16 +23,16 @@ import de.extio.lmlib.client.Client;
import de.extio.lmlib.client.Completion;
import de.extio.lmlib.client.Conversation;
import de.extio.lmlib.client.Conversation.Turn;
import de.extio.lmlib.client.profile.ModelCategory;
import de.extio.lmlib.client.profile.ModelProfile;
import de.extio.lmlib.client.profile.ModelProfile.ModelProvider;
import de.extio.lmlib.client.profile.ModelProfileService;
import de.extio.lmlib.client.prompt.PromptStrategy;
import de.extio.lmlib.client.prompt.PromptStrategyFactory;
import de.extio.lmlib.client.textcompletion.dto.Choice;
import de.extio.lmlib.client.textcompletion.dto.CompletionRequest;
import de.extio.lmlib.client.textcompletion.dto.CompletionResponse;
import de.extio.lmlib.client.token.Tokenizer;
import de.extio.lmlib.profile.ModelCategory;
import de.extio.lmlib.profile.ModelProfile;
import de.extio.lmlib.profile.ModelProfileService;
import de.extio.lmlib.profile.ModelProfile.ModelProvider;
import de.extio.lmlib.prompt.PromptStrategy;
import de.extio.lmlib.prompt.PromptStrategyFactory;
import de.extio.lmlib.token.Tokenizer;
import reactor.util.retry.Retry;

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.profile;
package de.extio.lmlib.profile;
public enum ModelCategory {

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.profile;
package de.extio.lmlib.profile;
public record ModelProfile(
String prompt,

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.profile;
package de.extio.lmlib.profile;
import java.io.IOException;
import java.util.Collections;
@@ -16,7 +16,7 @@ import org.springframework.core.env.Environment;
import org.springframework.core.io.support.ResourcePropertySource;
import org.springframework.stereotype.Service;
import de.extio.lmlib.client.profile.ModelProfile.ModelProvider;
import de.extio.lmlib.profile.ModelProfile.ModelProvider;
@Service
public class ModelProfileService {

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.prompt;
package de.extio.lmlib.prompt;
public class AlpacaShortPromptStrategy implements PromptStrategy {

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.prompt;
package de.extio.lmlib.prompt;
import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.prompt;
package de.extio.lmlib.prompt;
import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.prompt;
package de.extio.lmlib.prompt;
import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.prompt;
package de.extio.lmlib.prompt;
import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.prompt;
package de.extio.lmlib.prompt;
import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.prompt;
package de.extio.lmlib.prompt;
public interface PromptStrategy {

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.prompt;
package de.extio.lmlib.prompt;
import java.util.HashMap;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.prompt;
package de.extio.lmlib.prompt;
import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.token;
package de.extio.lmlib.token;
import java.util.List;
@@ -10,7 +10,7 @@ import com.knuddels.jtokkit.api.EncodingRegistry;
import com.knuddels.jtokkit.api.EncodingType;
import com.knuddels.jtokkit.api.IntArrayList;
import de.extio.lmlib.client.profile.ModelProfile;
import de.extio.lmlib.profile.ModelProfile;
final class JTokkitTokenizer implements Tokenizer {

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.token;
package de.extio.lmlib.token;
import java.time.Duration;
import java.util.List;
@@ -9,7 +9,7 @@ import org.springframework.http.HttpMethod;
import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.reactive.function.client.WebClient.Builder;
import de.extio.lmlib.client.profile.ModelProfile;
import de.extio.lmlib.profile.ModelProfile;
import reactor.util.retry.Retry;

View File

@@ -1,8 +1,8 @@
package de.extio.lmlib.client.token;
package de.extio.lmlib.token;
import java.util.List;
import de.extio.lmlib.client.profile.ModelProfile;
import de.extio.lmlib.profile.ModelProfile;
public interface Tokenizer {

View File

@@ -1,4 +1,4 @@
package de.extio.lmlib.client.token;
package de.extio.lmlib.token;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.AutoConfiguration;

View File

@@ -20,7 +20,7 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.PropertySource;
import de.extio.lmlib.client.ClientService;
import de.extio.lmlib.client.profile.ModelCategory;
import de.extio.lmlib.profile.ModelCategory;
import io.netty.util.internal.ThreadLocalRandom;

View File

@@ -14,7 +14,7 @@ import org.springframework.context.annotation.PropertySource;
import de.extio.lmlib.client.Conversation;
import de.extio.lmlib.client.Conversation.Turn;
import de.extio.lmlib.client.Conversation.TurnType;
import de.extio.lmlib.client.profile.ModelCategory;
import de.extio.lmlib.profile.ModelCategory;
@Disabled
@SpringBootTest(webEnvironment = WebEnvironment.NONE)

View File

@@ -21,7 +21,7 @@ import org.springframework.context.annotation.PropertySource;
import de.extio.lmlib.client.Conversation;
import de.extio.lmlib.client.Conversation.Turn;
import de.extio.lmlib.client.Conversation.TurnType;
import de.extio.lmlib.client.profile.ModelCategory;
import de.extio.lmlib.profile.ModelCategory;
@SpringBootTest(webEnvironment = WebEnvironment.NONE)
@SpringBootConfiguration

View File

@@ -12,8 +12,10 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.reactive.function.client.WebClient;
import de.extio.lmlib.client.profile.ModelCategory;
import de.extio.lmlib.client.profile.ModelProfileService;
import de.extio.lmlib.profile.ModelCategory;
import de.extio.lmlib.profile.ModelProfileService;
import de.extio.lmlib.token.JTokkitTokenizer;
import de.extio.lmlib.token.LlamaServerTokenizer;
@SpringBootTest(webEnvironment = WebEnvironment.NONE)
@SpringBootConfiguration