mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-06-12 13:11:05 +08:00
确定发布版本号 since -> 2.16.0
This commit is contained in:
@@ -21,7 +21,7 @@ import java.time.Duration;
|
||||
* </ul>
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.lang.annotation.Target;
|
||||
* AI 输入节点注解
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.lang.annotation.Target;
|
||||
* AI 输出节点注解
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
* 定义单个输入字段的映射关系
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface InputField {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
* 此注解应在 {@link AIOutput#mapping()} 数组中使用。
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface OutputField {
|
||||
|
||||
@@ -17,7 +17,7 @@ import java.lang.annotation.Target;
|
||||
* AI Chat 节点注解
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.lang.annotation.Target;
|
||||
* AI 分类节点注解
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.util.List;
|
||||
* LiteFlow-AI 主配置
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
@ConditionalOnProperty(prefix = "liteflow.ai", name = "enable", havingValue = "true")
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.List;
|
||||
* LiteFlow AI 配置类
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class LiteFlowAIConfig {
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.util.Objects;
|
||||
* LiteFlow-AI 配置获取器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class LiteFlowAIConfigGetter {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.config;
|
||||
* AI 模型属性接口,用于在配置文件中配置apikey等敏感信息
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface LiteFlowAIModelProperty {
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.stream.Collectors;
|
||||
* AI 模型属性注册中心,用于注册和管理 AI 模型属性
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class LiteFlowAIModelPropertyRegistry {
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.util.List;
|
||||
* LiteFlow AI 参数配置
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
@ConfigurationProperties(prefix = "liteflow.ai")
|
||||
|
||||
@@ -10,7 +10,7 @@ import static com.yomahub.liteflow.ai.util.SetUtil.setIfPresent;
|
||||
* LiteFlow-AI 参数配置
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
@EnableConfigurationProperties({ LiteFlowAIProperty.class })
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.UUID;
|
||||
* 对于 StreamHandler 参数,可以通过流程参数传入,也可以通过 ChatContext 的构造函数传入
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ChatContext extends DefaultContext {
|
||||
|
||||
@@ -17,7 +17,7 @@ import java.util.function.Consumer;
|
||||
* 流式输出处理器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface StreamHandler {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.domain.constant;
|
||||
* 模型提供商常量
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ProviderName {
|
||||
|
||||
@@ -17,7 +17,7 @@ import java.util.Objects;
|
||||
* 模型配置聚合(与 {@link AIComponent} 相互映射)
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public final class ModelConfigAggregator {
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.yomahub.liteflow.ai.engine.model.output.ResponseType;
|
||||
* 解析后的注解配置类
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ParsedAnnotationConfig {
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.List;
|
||||
* AIChat 注解解析后的配置类
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ParsedChatAnnotationConfig extends ParsedAnnotationConfig {
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.List;
|
||||
* AIClassify注解解析后配置
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ParsedClassifyAnnotationConfig extends ParsedAnnotationConfig {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.stream.Collectors;
|
||||
* AI 节点类型枚举
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public enum AITypeEnum {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.domain.enums;
|
||||
* 资源前缀枚举
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public enum ResourcePrefixEnum {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.exception;
|
||||
* 大模型异常
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class LiteFlowAIException extends RuntimeException {
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
* 模型工厂
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ModelFactory {
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.Optional;
|
||||
* 模型提供者接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ModelProvider {
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.springframework.beans.factory.InitializingBean;
|
||||
* 模型提供商注册器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public abstract class ModelProviderRegistrar implements ModelProvider, InitializingBean {
|
||||
|
||||
@@ -32,7 +32,7 @@ import java.util.function.Consumer;
|
||||
* 抽象粉色奶龙处理器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public abstract class AbstractAnnotationProcessor<A extends Annotation, C extends ParsedAnnotationConfig> implements AnnotationProcessor<A, C>, InitializingBean {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
* 粉色奶龙解析器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class AnnotationParser {
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.lang.annotation.Annotation;
|
||||
* 粉色奶龙处理器接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface AnnotationProcessor<A extends Annotation, C extends ParsedAnnotationConfig> {
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.Arrays;
|
||||
* AI聊天注解处理器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
public class ChatAnnotationProcessor extends AbstractAnnotationProcessor<AIChat, ParsedChatAnnotationConfig> {
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.stream.Collectors;
|
||||
* AI 意图识别注解处理器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ClassifyAnnotationProcessor extends AbstractAnnotationProcessor<AIClassify, ParsedClassifyAnnotationConfig> {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.lang.annotation.Annotation;
|
||||
* Workflow注解处理器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class WorkflowAnnotationProcessor extends AbstractAnnotationProcessor<Annotation, ParsedAnnotationConfig> {
|
||||
|
||||
@@ -12,7 +12,7 @@ import com.yomahub.liteflow.log.LFLoggerManager;
|
||||
* 抽象请求组装器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public abstract class AbstractRequestAssembler<C extends ParsedAnnotationConfig> implements RequestAssembler<C> {
|
||||
|
||||
@@ -22,7 +22,7 @@ import static com.yomahub.liteflow.ai.util.SetUtil.setIfPresent;
|
||||
* ChatRequest 组装器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ChatRequestAssembler extends AbstractRequestAssembler<ParsedChatAnnotationConfig> {
|
||||
|
||||
@@ -25,7 +25,7 @@ import static com.yomahub.liteflow.ai.util.SetUtil.setIfPresent;
|
||||
* ChatRequest 组装器(意图识别)
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ClassifyRequestAssembler extends AbstractRequestAssembler<ParsedClassifyAnnotationConfig> {
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.yomahub.liteflow.ai.parse.context.ProcessorContext;
|
||||
* 请求组装器接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface RequestAssembler<C extends ParsedAnnotationConfig> {
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.Objects;
|
||||
* 上下文访问器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ContextAccessor {
|
||||
|
||||
@@ -16,7 +16,7 @@ import com.yomahub.liteflow.core.NodeComponent;
|
||||
* 注解解析处理器上下文
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ProcessorContext<C extends ParsedAnnotationConfig> {
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.stream.Collectors;
|
||||
* 提示词模板解析器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class PromptTemplateParser {
|
||||
|
||||
@@ -13,7 +13,7 @@ import static com.yomahub.liteflow.ai.domain.enums.ResourcePrefixEnum.*;
|
||||
* 默认提示词资源加载器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class DefaultPromptResourceLoader implements PromptResourceLoader {
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.yomahub.liteflow.ai.parse.prompt.resource.PromptResource;
|
||||
* 提示词资源加载器接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface PromptResourceLoader {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.Optional;
|
||||
* 抽象提示词资源实现类
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public abstract class AbstractPromptResource implements PromptResource {
|
||||
|
||||
@@ -7,7 +7,7 @@ import java.io.InputStream;
|
||||
* 提示词资源接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface PromptResource {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.Objects;
|
||||
* 类路径
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ClassPathPromptResource extends AbstractPromptResource {
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.nio.file.Paths;
|
||||
* 文件
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class FileSystemPromptResource extends AbstractPromptResource {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.Optional;
|
||||
* 文本
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class TextPromptResource extends AbstractPromptResource {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.net.*;
|
||||
* URL
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class UrlPromptResource extends AbstractPromptResource {
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.Objects;
|
||||
* 动态代理,从 AI 组件持有类中获取 AI 组件接口并动态代理为具体的 AI 组件实现类,最终注册到 Spring 容器和 LiteFlow 容器中。
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
public class AIComponentBeanPostProcessor implements BeanPostProcessor {
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.util.stream.Collectors;
|
||||
* 实现工厂模式,管理不同类型AI组件的创建
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
public class AIComponentFactory {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.proxy;
|
||||
* 代理对象持有类, 作为包内部接口(package-private),保证外部无法获取
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
class AIComponentHolder<T> implements ProxyInterfaceAware<T> {
|
||||
|
||||
@@ -27,7 +27,7 @@ import java.util.Set;
|
||||
* 将接口存入 {@link AIComponentHolder} 注册为 {@link BeanDefinition} 到 Spring 容器中。
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
public class AIComponentProxyRegistrar implements BeanDefinitionRegistryPostProcessor, EnvironmentAware {
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ package com.yomahub.liteflow.ai.proxy;
|
||||
*
|
||||
* @param <T> 原始接口类型
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
interface ProxyInterfaceAware<T> {
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.lang.annotation.Annotation;
|
||||
* AI组件处理器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface AIComponentHandler<T extends Annotation> {
|
||||
|
||||
@@ -24,7 +24,7 @@ import java.util.Objects;
|
||||
* AI组件处理器抽象基类
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
public abstract class AbstractAIComponentHandler<T extends Annotation> implements AIComponentHandler<T> {
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ import java.lang.reflect.InvocationHandler;
|
||||
* 具体策略实现
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
public class ChatComponentHandler extends AbstractAIComponentHandler<AIChat> {
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ import java.lang.reflect.InvocationHandler;
|
||||
* 具体策略实现
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
public class ClassifyComponentHandler extends AbstractAIComponentHandler<AIClassify> {
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.lang.annotation.Annotation;
|
||||
* 处理同时带有工作流注解和 @AIComponent 注解的组件
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
public abstract class WorkflowComponentHandler<T extends Annotation> extends AbstractAIComponentHandler<T> {
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.lang.reflect.Method;
|
||||
* 抽象AI调用处理器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public abstract class AbstractAIInvocationHandler<T extends AIProxyWrapBean<?>> implements InvocationHandler {
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.util.concurrent.ExecutionException;
|
||||
* 聊天组件的调用处理器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ChatAIInvocationHandler extends AbstractAIInvocationHandler<ChatProxyWrapBean> {
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
* 分类组件的调用处理器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ClassifyAIInvocationHandler extends AbstractAIInvocationHandler<ClassifyProxyWrapBean> {
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.lang.annotation.Annotation;
|
||||
* AI节点包装 Bean
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public abstract class AIProxyWrapBean<T extends Annotation> {
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.yomahub.liteflow.ai.annotation.AIComponent;
|
||||
* AI聊天节点包装 Bean
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ChatProxyWrapBean extends AIProxyWrapBean<AIChat> {
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.yomahub.liteflow.ai.annotation.AIComponent;
|
||||
* AI意图识别节点包装 Bean
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ClassifyProxyWrapBean extends AIProxyWrapBean<AIClassify> {
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
* 对于 Spring 环境下的工具注册中心实现,用户可以将 Tool 注册为 Spring Bean 从而被该类自动发现与注册。
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class SpringBeanToolRegistry implements ToolRegistry {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.regex.Pattern;
|
||||
* 将时间字符串转换为 {@link java.time.Duration} 工具类
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class DurationUtil {
|
||||
|
||||
@@ -7,7 +7,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
* 注解用于标记键值对
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -19,7 +19,7 @@ import java.util.stream.Collectors;
|
||||
* TODO
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class SetUtil {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.Arrays;
|
||||
* Spring工具类
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.util;
|
||||
* 注解标识 Boolean 的 True, False, Unset 三种状态
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public enum TriState {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.engine.exception;
|
||||
* 大模型异常
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class LiteFlowAIEngineException extends RuntimeException {
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.concurrent.CompletableFuture;
|
||||
* 交互客户端接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface InteractClient {
|
||||
|
||||
@@ -28,7 +28,7 @@ import java.util.concurrent.CompletableFuture;
|
||||
* 大模型交互客户端,统筹消息传输、协议转换等功能。
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class LlmInteractClient implements InteractClient {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
* 流式消息处理管道的回调接口。根据块数据的类型进行具体回调
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ChunkCallbackTransformer extends ChunkTransformer {
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.yomahub.liteflow.ai.engine.model.chat.entity.ChatResponse;
|
||||
* 对消息全部发送完毕并转换后的结果进行处理的接口。
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ResultHandler {
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.yomahub.liteflow.ai.engine.model.chat.entity.ChatResponse;
|
||||
* 流式消息处理管道
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ChunkProcessPipeline {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.engine.interact.pipeline;
|
||||
* 消息转换器接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ChunkTransformer {
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.UUID;
|
||||
* 大模型交互上下文(engine模块内部使用,非 LiteFlow 上下文类)
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class InteractContext {
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.Optional;
|
||||
* 抽象协议转换器
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
@Deprecated
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.yomahub.liteflow.ai.engine.model.chat.entity.ChatResponse;
|
||||
* 将不同厂商大模型响应转换为 LiteFlow-AI 支持的统一格式。
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ProtocolTransformer extends ChunkTransformer {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.stream.Collectors;
|
||||
* 消息协议转换器工厂(spi注册)
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ProtocolTransformerFactory {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.engine.interact.protocol;
|
||||
* 流式消息块
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class StreamingProtocolChunk {
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.stream.Collectors;
|
||||
* 流式消息协议类型枚举
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public enum StreamingProtocolType {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.Map;
|
||||
* 数据传输接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface Transport {
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.yomahub.liteflow.ai.engine.interact.pipeline.InteractContext;
|
||||
* 传输监听器接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface TransportListener {
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.stream.Collectors;
|
||||
* 传输方式枚举
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public enum TransportType {
|
||||
|
||||
@@ -29,7 +29,7 @@ import java.util.Objects;
|
||||
* 3. 尝试将每一行解析为一个 JSON 对象,并将其作为一条消息传递给 listener。
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class DnJsonTransport implements Transport, Callback {
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.Map;
|
||||
* Http传输实现,阻塞式传输
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class HttpTransport implements Transport {
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.util.Objects;
|
||||
* Sse传输实现,基于Server-Sent Events的非阻塞式传输
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class SseTransport extends EventSourceListener implements Transport {
|
||||
|
||||
@@ -8,7 +8,7 @@ import org.slf4j.Marker;
|
||||
* engine 模块日志
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class EngineLog implements Logger {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.Map;
|
||||
* engine 模块日志
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class EngineLogManager {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.engine.model;
|
||||
* 大模型标识接口
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface BaseModel<T extends ModelConfig> {
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.Objects;
|
||||
* 模型配置信息
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ModelConfig implements RequestBodyConvertible, RequestHeaderConvertible {
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.yomahub.liteflow.ai.engine.util.request.RequestBodyConvertible;
|
||||
* 大模型选项配置
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ModelOptions extends RequestBodyConvertible {
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.yomahub.liteflow.ai.engine.util.request.RequestBodyConvertible;
|
||||
* 大模型请求
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ModelRequest extends RequestBodyConvertible {
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.yomahub.liteflow.ai.engine.model;
|
||||
* 大模型响应
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ModelResponse<T> {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.concurrent.CompletableFuture;
|
||||
* 抽象聊天模型类
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public abstract class AbstractChatModel implements ChatModel {
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.concurrent.CompletableFuture;
|
||||
* 聊天模型
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public interface ChatModel extends BaseModel<ChatConfig> {
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Map;
|
||||
* 对话配置信息
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ChatConfig extends ModelConfig {
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.yomahub.liteflow.ai.engine.util.request.RequestBody;
|
||||
* 对话选项配置
|
||||
*
|
||||
* @author 苍镜月
|
||||
* @since TODO
|
||||
* @since 2.16.0
|
||||
*/
|
||||
|
||||
public class ChatOptions implements ModelOptions {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user