Class MaxkbChatService

java.lang.Object
com.bytedesk.ai.springai.providers.maxkb.MaxkbChatService

@Service @ConditionalOnProperty(name="bytedesk.maxkb.enabled", havingValue="true", matchIfMissing=false) public class MaxkbChatService extends Object
MaxKB Chat Service - 基于 MaxKB OpenAI 兼容 API 的对话服务 https://maxkb.cn/docs/v1/dev_manual/APIKey_chat/#1-openai-api
  • Field Details

    • restTemplate

      private final org.springframework.web.client.RestTemplate restTemplate
    • objectMapper

      private final com.fasterxml.jackson.databind.ObjectMapper objectMapper
    • apiUrl

      @Value("${bytedesk.maxkb.api-url:https://maxkb.fit2cloud.com}") private String apiUrl
    • apiKey

      @Value("${bytedesk.maxkb.api-key}") private String apiKey
    • defaultModel

      @Value("${bytedesk.maxkb.default-model:gpt-3.5-turbo}") private String defaultModel
    • defaultStream

      @Value("${bytedesk.maxkb.default-stream:false}") private Boolean defaultStream
  • Constructor Details

    • MaxkbChatService

      public MaxkbChatService()
  • Method Details

    • createChatCompletion

      public String createChatCompletion(String applicationId, String model, List<Map<String,Object>> messages, Boolean stream)
      创建聊天完成 - OpenAI 兼容 API
      Parameters:
      applicationId - 应用ID
      model - 模型名称
      messages - 消息列表
      stream - 是否流式响应
      Returns:
      API响应
    • sendMessage

      public String sendMessage(String applicationId, String content, Boolean stream)
      发送简单对话消息
      Parameters:
      applicationId - 应用ID
      content - 消息内容
      stream - 是否流式响应
      Returns:
      API响应
    • sendMessageWithSystemRole

      public String sendMessageWithSystemRole(String applicationId, String systemRole, String content, Boolean stream)
      发送带系统角色的对话消息
      Parameters:
      applicationId - 应用ID
      systemRole - 系统角色描述
      content - 用户消息内容
      stream - 是否流式响应
      Returns:
      API响应
    • extractMessageContent

      public String extractMessageContent(String response)
      解析响应中的消息内容(非流式)
      Parameters:
      response - API响应
      Returns:
      消息内容
    • extractFinishReason

      public String extractFinishReason(String response)
      解析响应中的完成原因
      Parameters:
      response - API响应
      Returns:
      完成原因
    • extractUsage

      public Map<String,Object> extractUsage(String response)
      解析响应中的使用情况
      Parameters:
      response - API响应
      Returns:
      使用情况
    • isError

      public boolean isError(String response)
      检查响应是否出错
      Parameters:
      response - API响应
      Returns:
      是否出错
    • getErrorMessage

      public String getErrorMessage(String response)
      获取错误信息
      Parameters:
      response - API响应
      Returns:
      错误信息
    • getErrorCode

      public int getErrorCode(String response)
      获取错误代码
      Parameters:
      response - API响应
      Returns:
      错误代码
    • extractModel

      public String extractModel(String response)
      解析模型信息
      Parameters:
      response - API响应
      Returns:
      模型名称
    • extractId

      public String extractId(String response)
      解析响应ID
      Parameters:
      response - API响应
      Returns:
      响应ID
    • extractObject

      public String extractObject(String response)
      解析对象类型
      Parameters:
      response - API响应
      Returns:
      对象类型
    • extractCreated

      public Long extractCreated(String response)
      解析创建时间戳
      Parameters:
      response - API响应
      Returns:
      创建时间戳