Class ZhipuaiMultiModelService

java.lang.Object
com.bytedesk.ai.service.BaseSpringAIService
com.bytedesk.ai.zhipuai.ZhipuaiMultiModelService
All Implemented Interfaces:
SpringAIService

@Service public class ZhipuaiMultiModelService extends BaseSpringAIService
  • Field Details

  • Constructor Details

    • ZhipuaiMultiModelService

      public ZhipuaiMultiModelService()
  • Method Details

    • getModel

      private String getModel(RobotProtobuf robot)
    • createDynamicClient

      private ai.z.openapi.ZhipuAiClient createDynamicClient(RobotLlm llm)
      根据机器人配置动态创建 ZhipuAiClient,优先使用 provider apiKey,失败则回退默认 Bean。
    • buildZaiMessagesFromPrompt

      private List<ai.z.openapi.service.model.ChatMessage> buildZaiMessagesFromPrompt(org.springframework.ai.chat.prompt.Prompt prompt)
    • buildUserContentsFromMessage

      private List<ai.z.openapi.service.model.MessageContent> buildUserContentsFromMessage(MessageProtobuf messageProtobufQuery)
    • buildUserContents

      private List<ai.z.openapi.service.model.MessageContent> buildUserContents(String text)
    • extractFinalTextFromResponse

      private String extractFinalTextFromResponse(ai.z.openapi.service.model.ChatCompletionResponse response)
    • extractDeltaText

      private String extractDeltaText(ai.z.openapi.service.model.Delta delta)
    • stripThinkTags

      private String stripThinkTags(String text)
    • estimateTokens

      private long estimateTokens(String text)
    • processPromptWebsocket

      protected void processPromptWebsocket(org.springframework.ai.chat.prompt.Prompt prompt, RobotProtobuf robot, MessageProtobuf messageProtobufQuery, MessageProtobuf messageProtobufReply)
      Specified by:
      processPromptWebsocket in class BaseSpringAIService
    • processPromptSync

      protected String processPromptSync(String message, RobotProtobuf robot)
      Specified by:
      processPromptSync in class BaseSpringAIService
    • processMultiModalSyncRequest

      public String processMultiModalSyncRequest(MessageProtobuf messageProtobuf, RobotProtobuf robot, boolean searchKnowledgeBase)
      多模态同步请求处理,支持图片等媒体类型
    • processPromptSse

      protected void processPromptSse(org.springframework.ai.chat.prompt.Prompt prompt, RobotProtobuf robot, MessageProtobuf messageProtobufQuery, MessageProtobuf messageProtobufReply, List<RobotContent.SourceReference> sourceReferences, org.springframework.web.servlet.mvc.method.annotation.SseEmitter emitter)
      Specified by:
      processPromptSse in class BaseSpringAIService