53 lines
1.2 KiB
Java
53 lines
1.2 KiB
Java
package com.emotionmuseum.service;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.emotionmuseum.dto.Result;
|
|
import com.emotionmuseum.entity.Conversation;
|
|
import com.emotionmuseum.entity.Message;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* AI聊天服务接口
|
|
*
|
|
* @author emotion-museum
|
|
* @version 1.0.0
|
|
* @since 2024-01-01
|
|
*/
|
|
public interface AiChatService {
|
|
|
|
/**
|
|
* 发送消息并获取AI回复
|
|
*/
|
|
Result<Message> sendMessage(String userId, String content, String conversationId);
|
|
|
|
/**
|
|
* 创建新会话
|
|
*/
|
|
Result<Conversation> createConversation(String userId, String title);
|
|
|
|
/**
|
|
* 获取用户会话列表
|
|
*/
|
|
Result<IPage<Conversation>> getUserConversations(String userId, int page, int size);
|
|
|
|
/**
|
|
* 获取会话消息列表
|
|
*/
|
|
Result<IPage<Message>> getConversationMessages(String conversationId, int page, int size);
|
|
|
|
/**
|
|
* 删除会话
|
|
*/
|
|
Result<String> deleteConversation(String userId, String conversationId);
|
|
|
|
/**
|
|
* 获取会话详情
|
|
*/
|
|
Result<Conversation> getConversationById(String conversationId);
|
|
|
|
/**
|
|
* 清空会话消息
|
|
*/
|
|
Result<String> clearConversation(String userId, String conversationId);
|
|
} |