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 {
|
|
|
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);
|
}
|