Class SpringAIDashscopeController
java.lang.Object
com.bytedesk.ai.springai.dashscope.SpringAIDashscopeController
@RestController
@RequestMapping("/springai/dashscope")
@ConditionalOnProperty(name="spring.ai.dashscope.chat.enabled",
havingValue="true")
public class SpringAIDashscopeController
extends Object
阿里通义千问接口
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.ai.chat.client.ChatClient
private final com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel
private final ExecutorService
private final Optional<SpringAIDashscopeImageService>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Flux<String>
advisorChat
(jakarta.servlet.http.HttpServletResponse response, String id, String query) ChatClient 使用自定义的 Advisor 实现功能增强.org.springframework.http.ResponseEntity<JsonResult<?>>
chatCustom
(String message) 自定义模型参数的调用示例 http://127.0.0.1:9003/springai/dashscope/chat/custom?org.springframework.web.servlet.mvc.method.annotation.SseEmitter
方式3:SSE调用 http://127.0.0.1:9003/springai/dashscope/chat/sse?void
destroy()
reactor.core.publisher.Flux<JsonResult<?>>
image2text
(org.springframework.web.multipart.MultipartFile image) org.springframework.http.ResponseEntity<?>
simpleChat
(String query) ChatClient 简单调用 http://127.0.0.1:9003/springai/dashscope/simple/chat?reactor.core.publisher.Flux<?>
streamChat
(String query, jakarta.servlet.http.HttpServletResponse response) ChatClient 流式调用 http://127.0.0.1:9003/springai/dashscope/stream/chat?JsonResult<?>
text2Image
(String prompt, jakarta.servlet.http.HttpServletResponse response)
-
Field Details
-
bytedeskDashScopeChatModel
private final com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel bytedeskDashScopeChatModel -
imageService
-
executorService
-
bytedeskDashScopeChatClient
@Qualifier("bytedeskDashScopeChatClient") private final org.springframework.ai.chat.client.ChatClient bytedeskDashScopeChatClient
-
-
Constructor Details
-
SpringAIDashscopeController
public SpringAIDashscopeController()
-
-
Method Details
-
simpleChat
@GetMapping("/simple/chat") public org.springframework.http.ResponseEntity<?> simpleChat(@RequestParam(value="query",defaultValue="\u4f60\u597d\uff0c\u5f88\u9ad8\u5174\u8ba4\u8bc6\u4f60\uff0c\u80fd\u7b80\u5355\u4ecb\u7ecd\u4e00\u4e0b\u81ea\u5df1\u5417\uff1f") String query) ChatClient 简单调用 http://127.0.0.1:9003/springai/dashscope/simple/chat?query= -
streamChat
@GetMapping("/stream/chat") public reactor.core.publisher.Flux<?> streamChat(@RequestParam(value="query",defaultValue="\u4f60\u597d\uff0c\u5f88\u9ad8\u5174\u8ba4\u8bc6\u4f60\uff0c\u80fd\u7b80\u5355\u4ecb\u7ecd\u4e00\u4e0b\u81ea\u5df1\u5417\uff1f") String query, jakarta.servlet.http.HttpServletResponse response) ChatClient 流式调用 http://127.0.0.1:9003/springai/dashscope/stream/chat?query= -
chatSSE
@GetMapping(value="/chat/sse", produces="text/event-stream") public org.springframework.web.servlet.mvc.method.annotation.SseEmitter chatSSE(@RequestParam(value="message",defaultValue="Tell me a joke") String message) 方式3:SSE调用 http://127.0.0.1:9003/springai/dashscope/chat/sse?message=hello -
chatCustom
@GetMapping("/chat/custom") public org.springframework.http.ResponseEntity<JsonResult<?>> chatCustom(@RequestParam(value="message",defaultValue="Tell me a joke") String message) 自定义模型参数的调用示例 http://127.0.0.1:9003/springai/dashscope/chat/custom?message=hello -
destroy
public void destroy() -
advisorChat
@GetMapping("/advisor/chat/{id}") public reactor.core.publisher.Flux<String> advisorChat(jakarta.servlet.http.HttpServletResponse response, @PathVariable String id, @RequestParam String query) ChatClient 使用自定义的 Advisor 实现功能增强. eg: http://127.0.0.1:9003/springai/dashscope/advisor/chat/123?query=你好,我叫牧生,之后的会话中都带上我的名字 你好,牧生!很高兴认识你。在接下来的对话中,我会记得带上你的名字。有什么想聊的吗? http://127.0.0.1:9003/springai/dashscope/advisor/chat/123?query=我叫什么名字? 你叫牧生呀。有什么事情想要分享或者讨论吗,牧生? -
image2text
@BlackIpFilter @PostMapping("/image2text") public reactor.core.publisher.Flux<JsonResult<?>> image2text(@RequestParam("image") org.springframework.web.multipart.MultipartFile image) -
text2Image
@BlackIpFilter @GetMapping("/text2Image") public JsonResult<?> text2Image(@RequestParam(value="prompt",defaultValue="A beautiful sunset over a calm ocean") String prompt, jakarta.servlet.http.HttpServletResponse response)
-