9 changed files with 206 additions and 28 deletions
			
			
		@ -0,0 +1,34 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.bigmodel.configuration; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.Bean; | 
				
			||||||
 | 
					import org.springframework.stereotype.Component; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.concurrent.*; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @Author: huangxing | 
				
			||||||
 | 
					 * @Date: 2024/05/06 11:58 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Component | 
				
			||||||
 | 
					public class ThreadPoolManager { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Bean | 
				
			||||||
 | 
					    public ThreadPoolExecutor getAnswerPoolExecutor() { | 
				
			||||||
 | 
					        // 核心线程数
 | 
				
			||||||
 | 
					        int corePoolSize = 5; | 
				
			||||||
 | 
					        // 最大线程数
 | 
				
			||||||
 | 
					        int maximumPoolSize = 10; | 
				
			||||||
 | 
					        // 线程空闲时的存活时间
 | 
				
			||||||
 | 
					        long keepAliveTime = 60L; | 
				
			||||||
 | 
					        // 时间单位
 | 
				
			||||||
 | 
					        TimeUnit unit = TimeUnit.SECONDS; | 
				
			||||||
 | 
					        // 任务队列
 | 
				
			||||||
 | 
					        BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<>(100); | 
				
			||||||
 | 
					        // 线程工厂
 | 
				
			||||||
 | 
					        ThreadFactory threadFactory = Executors.defaultThreadFactory(); | 
				
			||||||
 | 
					        // 拒绝策略
 | 
				
			||||||
 | 
					        RejectedExecutionHandler handler = new ThreadPoolExecutor.AbortPolicy(); | 
				
			||||||
 | 
					        return new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,unit,workQueue,threadFactory,handler); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,47 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.bigmodel.interactive.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.alibaba.fastjson.annotation.JSONField; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					import lombok.EqualsAndHashCode; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.io.Serializable; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @Author: huangxing | 
				
			||||||
 | 
					 * @Date: 2024/05/06 14:37 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel("HZLLM答案VO对象") | 
				
			||||||
 | 
					@EqualsAndHashCode | 
				
			||||||
 | 
					public class AnswerVO implements Serializable { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("发起问答时的随机ID") | 
				
			||||||
 | 
					    @JSONField(name = "id") | 
				
			||||||
 | 
					    private String sessionId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("发起问答时的用户ID") | 
				
			||||||
 | 
					    @JSONField(name = "userid") | 
				
			||||||
 | 
					    private String userId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("1代表代表正在进行问答,0代表已完成") | 
				
			||||||
 | 
					    private Integer running; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 正常发起一次问答,status会经历0、1、2、3、9、0的过程,如果问答需要执行多次指令,则可能会是0、1、2、3、2、3、9、0。 | 
				
			||||||
 | 
					     * 9为大模型回复中,answer中会不断填充内容 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @ApiModelProperty("1代表代表正在进行问答,0代表已完成") | 
				
			||||||
 | 
					    private Integer status; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("当running为1时,用于显示状态文本") | 
				
			||||||
 | 
					    private String text; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("最近一次发起的问题") | 
				
			||||||
 | 
					    private String query; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("query对应的答案") | 
				
			||||||
 | 
					    private String answer; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue