32 lines
1.1 KiB
Java
32 lines
1.1 KiB
Java
|
|
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<String, Object> parameters,
|
|||
|
|
Consumer<String> callback,
|
|||
|
|
Runnable onComplete,
|
|||
|
|
Consumer<Throwable> onError);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 处理非流式文本生成请求
|
|||
|
|
* @param userMessage 用户消息
|
|||
|
|
* @param parameters 额外的参数,如温度、最大长度等
|
|||
|
|
* @return 生成的文本
|
|||
|
|
*/
|
|||
|
|
String generateText(String userMessage, Map<String, Object> parameters);
|
|||
|
|
}
|