You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fu-hsi-service/src/main/java/com/supervision/chat/controller/TestController.java

55 lines
2.0 KiB
Java

package com.supervision.chat.controller;
import cn.hutool.json.JSONUtil;
import com.supervision.chat.client.CustomMultipartFile;
import com.supervision.chat.client.LangChainChatService;
import com.supervision.chat.client.dto.CreateBaseDTO;
import com.supervision.chat.client.dto.DeleteFileDTO;
import com.supervision.chat.client.dto.LangChainChatRes;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@Slf4j
@RequestMapping("chat/test/")
@RestController
@RequiredArgsConstructor
public class TestController {
private final LangChainChatService langChainChatClient;
@GetMapping("test")
public void test() {
CreateBaseDTO createBaseDTO = new CreateBaseDTO();
createBaseDTO.setKnowledge_base_name("11111111");
LangChainChatRes chat = langChainChatClient.createBase(createBaseDTO);
log.info(JSONUtil.toJsonStr(chat));
}
@PostMapping("uploadFile")
public void testUploadFile(@RequestPart("file") MultipartFile file) throws IOException {
CustomMultipartFile mockMultipartFile = new CustomMultipartFile(file.getOriginalFilename(), file.getInputStream());
LangChainChatRes langChainChatRes = langChainChatClient.uploadFile("11111111",
mockMultipartFile,
"问讯笔录",
"true",
"false",
"false",
250,
50,
"false",
"{\"test.txt\":[{\"page_content\":\"custom doc\",\"metadata\":{},\"type\":\"Document\"}]}");
log.info(JSONUtil.toJsonStr(langChainChatRes));
}
@GetMapping("deleteFile")
public void testDeleteFile(String knowledgeBaseName, String fileName) {
LangChainChatRes langChainChatRes = langChainChatClient.deleteFile(DeleteFileDTO.create(knowledgeBaseName, fileName));
log.info(JSONUtil.toJsonStr(langChainChatRes));
}
}