Commit 9ffb8e4a authored by alex yao's avatar alex yao

优化每日推荐问生成

parent 14f421af
...@@ -186,28 +186,33 @@ public class AgentApplicationServiceImpl implements AgentApplicationService { ...@@ -186,28 +186,33 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
@Override @Override
public void createRecommendQuestion() throws InterruptedException { public void createRecommendQuestion() throws InterruptedException {
List<Object> questions = new CopyOnWriteArrayList<>(); // List<Object> questions = new CopyOnWriteArrayList<>();
CountDownLatch countDownLatch = new CountDownLatch(20); // CountDownLatch countDownLatch = new CountDownLatch(20);
// for (int i = 0; i < 20; i++) {
// CommonThreadPoolExecutor.addTask(() -> {
// });
// }
// countDownLatch.await(2, TimeUnit.MINUTES);
// countDownLatch.countDown();
Message message = new Message();
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
message.setContent("请你充当一个话题生成器,结合百度热榜数据,用json格式生成15条开放和引导式的推荐话题给我,我需要用于向AI提问问题,参考格式[\"话题内容\",\"话题N内容\"],要求1.避免涉及敏感或争议性过强的话题,以确保问题的中立性和客观性。2.只要求生成话题,不需要旁白");
for (int i = 0; i < 20; i++) { Message[] messages = new Message[]{message};
CommonThreadPoolExecutor.addTask(() -> { LargeModelResponse largeModelResponse = new LargeModelResponse();
Message message = new Message(); largeModelResponse.setModel("ERNIE-4.0-8K");
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER); largeModelResponse.setMessages(messages);
message.setContent("请给我生成一个推荐问题,不超过50字,只需输出问题即可,不要输出额外的内容,不要换行"); LargeModelDemandResult largeModelDemandResult = llmService.chat(largeModelResponse);
Message[] messages = new Message[]{message}; if (largeModelResponse == null || !"0".equals(largeModelDemandResult.getCode())) {
LargeModelResponse largeModelResponse = new LargeModelResponse();
largeModelResponse.setModel("ERNIE-4.0-8K");
largeModelResponse.setMessages(messages);
LargeModelDemandResult largeModelDemandResult = llmService.chat(largeModelResponse);
questions.add(largeModelDemandResult.getMessage());
countDownLatch.countDown();
});
}
countDownLatch.await(2, TimeUnit.MINUTES);
if (CollectionUtils.isEmpty(questions)) {
throw new BusinessException("生成推荐问题失败"); throw new BusinessException("生成推荐问题失败");
} }
String res = largeModelDemandResult.getMessage();
int start = res.lastIndexOf("[");
int end = res.lastIndexOf("]");
List<Object> questions = (List<Object>) JsonUtils.deSerialize(res.substring(start, end + 1), new TypeReference<List<Object>>() {
}.getType());
redisService.del(AGENT_APPLICATION_RECOMMEND_QUESTIONS); redisService.del(AGENT_APPLICATION_RECOMMEND_QUESTIONS);
redisService.lSet(AGENT_APPLICATION_RECOMMEND_QUESTIONS, questions); redisService.lSet(AGENT_APPLICATION_RECOMMEND_QUESTIONS, questions);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment