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 Details

    • bytedeskDashScopeChatModel

      private final com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel bytedeskDashScopeChatModel
    • imageService

      private final Optional<SpringAIDashscopeImageService> imageService
    • executorService

      private final ExecutorService 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)