Administrator
2025-09-03 b3e9345114427838f27a98d14c3fe4ba8599747d
src/main/java/cc/mrbird/febs/ai/service/AiService.java
@@ -1,14 +1,38 @@
package cc.mrbird.febs.ai.service;
import cc.mrbird.febs.ai.req.ai.AiMessage;
import cc.mrbird.febs.ai.req.ai.AiRequest;
import cc.mrbird.febs.ai.req.talk.AiTalkAnswerStream;
import cc.mrbird.febs.ai.res.ai.AiResponse;
import cc.mrbird.febs.ai.res.ai.Report;
import cc.mrbird.febs.common.entity.FebsResponse;
import reactor.core.publisher.Flux;
import java.util.List;
import java.util.function.Consumer;
/**
 * @author Administrator
 */
public interface AiService {
    Integer getSystemSetAiType();
    AiResponse start(String productRoleId, String content);
    AiResponse question(String promptTemplate,String linkId,String content);
    AiResponse start(List<AiMessage> aiMessageDtoList,Integer type, String productRoleId, String answer, String question);
    AiResponse question(AiRequest aiRequest);
    void streamQuestion(AiRequest aiRequest, Consumer<AiResponse> callback);
    /**
     * 从模型输出中提取并解析报告数据
     * @param modelOutput 模型原始输出
     * @return 解析后的报告对象
     */
    Report extractReportData(String modelOutput);
    Flux<FebsResponse> answerStream(String question);
    Flux<FebsResponse> answerStreamV2(AiTalkAnswerStream dto);
}