Class ZhipuaiChatService

java.lang.Object
com.bytedesk.ai.zhipuai.ZhipuaiChatService

@Service @ConditionalOnProperty(prefix="spring.ai.zhipuai.chat", name="enabled", havingValue="true", matchIfMissing=false) public class ZhipuaiChatService extends Object
  • Field Details

    • client

      @Autowired @Qualifier("zhipuaiChatClient") private com.zhipu.oapi.ClientV4 client
    • zhipuaiChatConfig

      @Autowired private ZhipuaiChatConfig zhipuaiChatConfig
  • Constructor Details

    • ZhipuaiChatService

      public ZhipuaiChatService()
  • Method Details

    • rolePlayChat

      public String rolePlayChat(String message, String userInfo, String botInfo, String botName, String userName)
      角色扮演聊天
    • functionCallingChat

      public String functionCallingChat(String message, List<com.zhipu.oapi.service.v4.model.ChatFunction> functions)
      Function Calling 聊天
    • functionCallingChat

      public String functionCallingChat(String message, String model, Double temperature, List<com.zhipu.oapi.service.v4.model.ChatFunction> functions)
      Function Calling 聊天(带自定义参数)
    • functionCallingChatStream

      public reactor.core.publisher.Flux<String> functionCallingChatStream(String message, List<com.zhipu.oapi.service.v4.model.ChatFunction> functions)
      流式 Function Calling 聊天
    • functionCallingChatStream

      public reactor.core.publisher.Flux<String> functionCallingChatStream(String message, String model, Double temperature, List<com.zhipu.oapi.service.v4.model.ChatFunction> functions)
      流式 Function Calling 聊天(带自定义参数)
    • generateImage

      public String generateImage(String prompt)
      图像生成 - 暂不支持,需要等待SDK更新
    • generateImage

      public String generateImage(String prompt, String requestId)
      图像生成(带请求ID)- 暂不支持,需要等待SDK更新
    • getEmbedding

      public List<Double> getEmbedding(String text)
      向量嵌入 - 暂不支持,需要等待SDK更新
    • getEmbeddings

      public List<List<Double>> getEmbeddings(List<String> texts)
      批量向量嵌入 - 暂不支持,需要等待SDK更新
    • generateSpeech

      public File generateSpeech(String text, String voice, String responseFormat)
      语音合成 - 暂不支持,需要等待SDK更新
    • generateCustomSpeech

      public File generateCustomSpeech(String text, String voiceText, File voiceData, String responseFormat)
      自定义语音合成 - 暂不支持,需要等待SDK更新
    • uploadFile

      public String uploadFile(String filePath, String purpose)
      文件上传 - 暂不支持,需要等待SDK更新
    • queryFiles

      public List<Map<String,Object>> queryFiles()
      查询文件列表 - 暂不支持,需要等待SDK更新
    • downloadFile

      public File downloadFile(String fileId, String outputPath)
      下载文件内容 - 暂不支持,需要等待SDK更新
    • createFineTuningJob

      public String createFineTuningJob(String model, String trainingFile)
      创建微调任务 - 暂不支持,需要等待SDK更新
    • queryFineTuningJob

      public Map<String,Object> queryFineTuningJob(String jobId)
      查询微调任务 - 暂不支持,需要等待SDK更新
    • chatAsync

      public String chatAsync(String message)
      异步聊天
    • pollAsyncResult

      private String pollAsyncResult(String taskId)
      轮询异步结果
    • chatWithWebSearch

      public String chatWithWebSearch(String message, String searchQuery)
      带Web搜索的聊天
    • chatWithVoice

      public String chatWithVoice(String message)
      语音模型聊天 - 暂不支持,需要等待SDK更新
    • mapStreamToAccumulator

      private io.reactivex.Flowable<com.zhipu.oapi.service.v4.model.ChatMessageAccumulator> mapStreamToAccumulator(io.reactivex.Flowable<com.zhipu.oapi.service.v4.model.ModelData> flowable)
      将流式响应转换为Accumulator,参考官方示例
    • testStreamResponse

      public void testStreamResponse()
      测试流式响应功能 用于调试流式响应问题