package com.rj.service; import com.rj.dto.AiQaCustomerAskRequestDto; import com.rj.dto.AiQaCustomerAskResponseDto; import reactor.core.publisher.Flux; /** * AI 问答子表:客户提问并调用大模型的业务 */ public interface IAiQaCustomerAskService { /** * 校验入参、拼装 messages、调用本地 OpenAI 兼容接口,返回回答数据。 * * @throws IllegalArgumentException 入参不合法(非受检,调用方需捕获或转为 HTTP 400) * @throws Exception HTTP 或解析失败、模型返回错误等 */ AiQaCustomerAskResponseDto askCustomer(AiQaCustomerAskRequestDto request) throws Exception; /** * 流式回答:按分片持续返回大模型输出,流结束后落库。 */ Flux askCustomerStream(AiQaCustomerAskRequestDto request); }