From f1806477c4972c2d09f32df848216bcb69f4d680 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 29 Sep 2025 14:00:09 +0800
Subject: [PATCH] feat(ai): 新增阿里云百炼知识库工具类 - 添加 KnowledgeBaseUtil 工具类,封装阿里云百炼知识库操作 - 实现文件上传、知识库创建与更新等核心功能 - 支持文件MD5计算、分类管理、索引任务提交与状态查询 - 集成阿里云百炼SDK依赖,版本为2.5.0 - 提供完整的知识库初始化与文件更新流程示例 - 添加文件解析状态轮询与错误处理机制 - 支持知识库中文档的追加导入与旧文档删除功能
---
src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java | 81 +++++++++++-----------------------------
1 files changed, 22 insertions(+), 59 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java
index d9d063e..77f5c0e 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java
@@ -1,8 +1,16 @@
package cc.mrbird.febs.ai.service;
import cc.mrbird.febs.ai.entity.AiMemberTalk;
+import cc.mrbird.febs.ai.req.memberTalk.*;
+import cc.mrbird.febs.ai.res.ai.AiResponse;
+import cc.mrbird.febs.common.entity.FebsResponse;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
+import reactor.core.publisher.Flux;
+
+import java.util.Date;
import java.util.List;
+import java.util.function.Consumer;
/**
* AI用户对话训练记录 Service接口
@@ -12,73 +20,28 @@
*/
public interface AiMemberTalkService extends IService<AiMemberTalk> {
- /**
- * 根据ID查询对话记录
- * @param id 对话记录ID
- * @return 对话记录信息
- */
+
AiMemberTalk getById(String id);
- /**
- * 根据用户ID查询对话记录
- * @param memberId 用户ID
- * @return 对话记录列表
- */
- List<AiMemberTalk> getByMemberId(String memberId);
+ FebsResponse start(ApiMemberTalkDto dto);
- /**
- * 根据产品ID查询对话记录
- * @param productId 产品ID
- * @return 对话记录列表
- */
- List<AiMemberTalk> getByProductId(String productId);
+ FebsResponse reload(ApiMemberTalkReloadDto dto);
- /**
- * 根据角色ID查询对话记录
- * @param productRoleId 角色ID
- * @return 对话记录列表
- */
- List<AiMemberTalk> getByProductRoleId(String productRoleId);
+ void startStream(ApiMemberTalkDto dto, Consumer<AiResponse> callback);
- /**
- * 根据公司ID查询对话记录
- * @param companyId 公司ID
- * @return 对话记录列表
- */
- List<AiMemberTalk> getByCompanyId(String companyId);
+ AiMemberTalk getByQuery(LambdaQueryWrapper<AiMemberTalk> query);
- /**
- * 保存对话记录
- * @param aiMemberTalk 对话记录实体
- * @return 是否保存成功
- */
- boolean saveTalk(AiMemberTalk aiMemberTalk);
+ void updateTimeUpdate(Date nowTime, String id);
- /**
- * 批量保存对话记录
- * @param talks 对话记录列表
- * @return 是否保存成功
- */
- boolean saveBatchTalks(List<AiMemberTalk> talks);
+ FebsResponse answer(ApiMemberTalkAnswerDto dto);
- /**
- * 更新对话记录
- * @param aiMemberTalk 对话记录实体
- * @return 是否更新成功
- */
- boolean updateTalk(AiMemberTalk aiMemberTalk);
+ AiMemberTalk add(String memberUuid,String companyId, String productId, Date nowTime,Integer questionCount);
- /**
- * 根据ID删除对话记录
- * @param id 对话记录ID
- * @return 是否删除成功
- */
- boolean deleteById(String id);
+ FebsResponse historyPage(ApiMemberTalkItemPageDto dto);
- /**
- * 根据用户ID删除对话记录
- * @param memberId 用户ID
- * @return 是否删除成功
- */
- boolean deleteByMemberId(String memberId);
+ Flux<FebsResponse> answerStream(String question);
+
+ List<AiMemberTalk> getListByCompanyId(String companyId);
+
+ List<AiMemberTalk> getListByCompanyIdAndMemberUuid(String companyId, String memberUuid);
}
--
Gitblit v1.9.1