package com.yundage.chat.service; import java.util.Map; import java.util.function.Consumer; /** * 大语言模型服务接口 * 定义与大语言模型交互的通用方法,方便替换不同的模型实现 */ public interface LLMService { /** * 处理流式文本生成请求 * @param userMessage 用户消息 * @param parameters 额外的参数,如温度、最大长度等 * @param callback 接收每个文本块的回调函数 * @param onComplete 完成时的回调函数 * @param onError 错误时的回调函数 */ void streamGenerateText(String userMessage, Map parameters, Consumer callback, Runnable onComplete, Consumer onError); /** * 处理非流式文本生成请求 * @param userMessage 用户消息 * @param parameters 额外的参数,如温度、最大长度等 * @return 生成的文本 */ String generateText(String userMessage, Map parameters); }