【大模型】大模型在软件特性设计中的应用

创建业务对象

1、已有的业务对象可以放入向量数据库
2、如果没有新的业务对象需要创建,直接跳过
3、新的业务对象由用户手动创建

提示词

假设你是一名 Java 软件技术专家,根据如下 yaml 格式生成对应的实体对象,其中
1、最顶层为对象名
2、每个key 对应的 value 为对象属性的类型;类型是可选的,如果没有指定,您将根据上下文进行推断
3、可以根据需要补充兑现的属性
5、如果嵌套多层,对应类为内部类,类的修饰符为 public static
请根据如下 yaml 生成 Java 对象,并使用 lombok。
“”"
{yaml个数的对象描述,详细参考示例}
“”"

示例

假设你是一名 Java 软件技术专家,根据如下 yaml 格式生成对应的实体对象,其中
1、最顶层为对象名
2、每个key 对应的 value 为对象属性的类型;类型是可选的,如果没有指定,您将根据上下文进行推断
3、可以根据需要补充兑现的属性
5、如果嵌套多层,对应类为内部类,类的修饰符为 public static
请根据如下 yaml 生成 Java 对象,并使用 lombok。
“”"

  • instance:
    name: string
    url: string
    available: int
  • lb:
    consistenthash:
    request:
    header:
    key: string
    regex: string
  • healthcheck:
    interval: long
  • microinstance:
    name: string
    lb: lb
    healthcheck: healthcheck
    instances:
    - instance
  • serviceproperties:
    • microinstance
  • microserviceInfo:
    name: string
    namespace: string
    accessurl: string
    servicecontext: string
    context: string
    microinstances:
    - microinstance: microinstance
    “”"

生成对象示例

@Data
public class Instance {
    
    

    private String name;

    private String url;

    private Integer available;
}


@Data
public class Lb {
    
    

    @Singular("consistentHash")
    private List<ConsistentHash> consistentHashes = new ArrayList<>();

    @Data
    public static class ConsistentHash {
    
    

        private Request request;

        @Data
        public static class Request {
    
    

            private Map<String, String> headers = new HashMap<>();
        }
    }
}


@Data
public class HealthCheck {
    
    

    private Long interval;
}


@Data
public class MicroInstance {
    
    

    private String name;

    private Lb lb;

    private HealthCheck healthcheck;

    private Set<Instance> instances = new HashSet<>();
}


@Data
public class ServiceProperties {
    
    

    @Singular
    private List<MicroInstance> microInstances = new ArrayList<>();
}


@Data
public class MicroServiceInfo {
    
    

    private String name;

    private String namespace;

    private String accessUrl;

    private String serviceContext;

    private String context;

    private ServiceProperties serviceProperties;

    private Set<MicroInstance> microInstances = new LinkedHashSet<>();
}

业务逻辑

1、依据业务对象描述业务逻辑

提示词

根据如上对象,你将根据如下业务描述,生成对应的Java代码
1、input 表示方法的输入参数
2、processor 表示方法具体的处理过程
3、output 表示方法的输出参数
3、对应的类自动实现接口类和实现类
约束
1、采用 spring boot、spring cloud gateway、caffeine、guava技术栈
2、包路径为 com.example.gateway
“”"
{以yaml格式组织业务逻辑描述}
“”"

示例

根据如上对象,你将根据如下业务描述,生成对应的Java代码
1、input 表示方法的输入参数
2、processor 表示方法具体的处理过程
3、output 表示方法的输出参数
3、对应的类自动实现接口类和实现类
约束
1、采用 spring boot、spring cloud gateway、caffeine、guava技术栈
2、包路径为 com.example.gateway
“”"

  • healthCheckService:
    checkservice:
    input: null
    processor:
    step1: 从配置文件 application.yanl 读取 spring.cloud.gateway.services 配置解析为 serviceproperties 对象
    step2: 遍历 serviceproperties 中的每个 microinstance,通过 webclient 的get
    请求访问microinstance.instances中的每个instance的 url,如果抛出异常或返回值为 Bad,就设置
    instance 的 available 为0,否则设置 instance的available为 1
    output: null
    “”"

根据如上对象,你将根据如下业务描述,生成对应的Java代码
1、input 表示方法的输入参数
2、processor 表示方法具体的处理过程
3、output 表示方法的输出参数
3、自动生成接口类和实现类
约束
1、采用 spring boot、spring cloud gateway、caffeine、guava技术栈
2、包路径为 com.example.gateway
“”"

  • guavaconsistenthashservice: class
    description: 一致性哈希负载均衡服务
    methods:
    consistenthash:
    input:
    val: string
    buckets: int
    processor:
    step1: 使用 guava 的 Hashing.consistentHash() 计算一致性 hash
    output:
    index: int
  • consistentHashloadbalanceservice: class
    description: 一致性哈希负载均衡服务
    loadbalance: null
    input:
    exchange: ServerWebExchange
    microserviceinfo: microserviceInfo
    processor:
    step1: 从 microserviceInfo 读取 consistenthash,从consistenthash中读取 request,从 request 读取 header,从 header 读取 key 的值 val
    step2: 从 http header 中读取 val 对应的值 headervalue
    step3: 使用guavaconsistenthashservice计算一致性 hash,返回instanceIndex
    step4: 从microserviceinfo中的 instances 中读取instanceIndex对应的 instance,返回 instance
    output:
    instance: instance
    “”"

业务逻辑(版本2)

根据如上对象,你将根据如下业务描述,生成对应的 Java 代码,其中
1、id 表示功能点
2、processor 表示方法具体的处理过程
3、step 表示具体的步骤
技术栈
1、spring boot、spring cloud gateway、caffeine、guava
“”"

  • 健康检查服务: null
    id: 检查实例是否可用
    processor:
    step1: 从配置文件 application.yanl 读取配置 spring.cloud.gateway.services 解析为
    serviceproperties 对象
    step2: 遍历serviceproperties中的每个microinstance
    step3: 遍历microinstance中的instances中的每个instance
    step4: 通过webclient的get请求访问instance的url,如果抛出异常或返回值为 Bad,就标记 instance
    状态为0,否则标记为状态为 1
  • 一致性哈希负载均衡服务: null
    描述: 计算一致性哈希
    处理过程:
    step1: 从 microserviceInfo 读取 consistenthash,从consistenthash中读取 request,从 request
    读取 header,从 header 读取 key 的值 val
    step2: 从 http header 中读取 val 对应的值 headervalue
    step3: 使用guavaconsistenthashservice计算一致性 hash,返回instanceIndex
    step4: 从microserviceinfo中的 instances 中读取instanceIndex对应的 instance,返回 instance
  • 一致性哈希负载均衡服务: null
    id: 计算一致性哈希
    processor:
    step1: 使用 guava 的 Hashing.consistentHash() 计算一致性 hash
    “”"

落地策略

1、验证需求
2、开始必须有相关的人进行提示词检视,训练大家的描述准确性

猜你喜欢

转载自blog.csdn.net/wenxueliu/article/details/132130391
今日推荐