| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package com.qingjian.module.ai.controller;
- import com.qingjian.common.model.ai.entity.AppChatModel;
- import com.qingjian.common.model.ai.query.ChatRequest;
- import com.qingjian.module.ai.service.AiService;
- import org.noear.solon.annotation.*;
- import org.noear.solon.core.util.MimeType;
- import reactor.core.publisher.Flux;
- import java.util.List;
- @Controller
- @Mapping("/ai")
- public class AiController {
- @Inject
- private AiService aiService;
- /**
- * 更新或者创建 模型
- *
- * @param model 模型信息
- */
- @Post
- @Mapping("/create")
- public void createModel(AppChatModel model) {
- aiService.createModel(model);
- }
- /**
- * 处理AI聊天请求
- *
- * @param chatRequest 聊天请求参数,包含会话ID、内容和模型信息
- * @return 流式响应的聊天结果
- */
- @Post
- @Mapping(path = "/chat_test", produces = MimeType.TEXT_EVENT_STREAM_UTF8_VALUE)
- public Flux<String> chat_test(ChatRequest chatRequest) {
- return aiService.chat(chatRequest);
- }
- /**
- * 测试AI聊天接口
- *
- * @param input 输入内容
- * @param sessionId 会话ID
- * @return 流式响应的聊天结果
- */
- @Get
- @Mapping(path = "/chat", produces = MimeType.TEXT_EVENT_STREAM_UTF8_VALUE)
- public Flux<String> chat_test(String input, String sessionId) {
- ChatRequest chatRequest = new ChatRequest();
- chatRequest.setContent(input);
- chatRequest.setSessionId(sessionId);
- return aiService.chat(chatRequest);
- }
- @Get
- @Mapping("/qs")
- public List<String> qs() {
- return aiService.qs();
- }
- }
|