类 OpenaiServiceImpl

java.lang.Object
com.cdkjframework.ai.core.impl.BaseAiService
com.cdkjframework.ai.model.openai.impl.OpenaiServiceImpl
所有已实现的接口:
AiService, OpenaiService

public class OpenaiServiceImpl extends BaseAiService implements OpenaiService
  • 构造器详细资料

    • OpenaiServiceImpl

      public OpenaiServiceImpl(AiConfig config)
      构造函数
      参数:
      config - 配置信息
  • 方法详细资料

    • chat

      public String chat(List<Message> messages)
      聊天
      指定者:
      chat 在接口中 AiService
      参数:
      messages - 消息列表
      返回:
      聊天结果
    • chat

      public void chat(List<Message> messages, Consumer<ResponseBuilder> callback)
      聊天
      指定者:
      chat 在接口中 AiService
      参数:
      messages - 聊天消息列表
      callback - 回调函数
    • chatVision

      public String chatVision(String prompt, List<String> images, String detail)
      聊天
      指定者:
      chatVision 在接口中 OpenaiService
      参数:
      prompt - 题词
      images - 图片列表/或者图片Base64编码图片列表(URI形式)
      detail - 手动设置图片的质量,取值范围high、low、auto,默认为auto
      返回:
      聊天结果
    • chatVision

      public void chatVision(String prompt, List<String> images, String detail, Consumer<ResponseBuilder> callback)
      图像理解-SSE流式输出
      指定者:
      chatVision 在接口中 OpenaiService
      参数:
      prompt - 题词
      images - 图片列表/或者图片Base64编码图片列表(URI形式)
      detail - 手动设置图片的质量,取值范围high、low、auto,默认为auto
      callback - 流式数据回调函数
    • imagesGenerations

      public String imagesGenerations(String prompt)
      文生图 请设置config中model为支持图片功能的模型 DALL·E系列
      指定者:
      imagesGenerations 在接口中 OpenaiService
      参数:
      prompt - 题词
      返回:
      包含生成图片的url
    • imagesEdits

      public String imagesEdits(String prompt, File image, File mask)
      图片编辑 该方法仅支持 DALL·E 2 model
      指定者:
      imagesEdits 在接口中 OpenaiService
      参数:
      prompt - 题词
      image - 需要编辑的图像必须是 PNG 格式
      mask - 如果提供,则是一个与编辑图像大小相同的遮罩图像应该是灰度图,白色表示需要编辑的区域,黑色表示不需要编辑的区域。
      返回:
      包含生成图片的url
    • imagesVariations

      public String imagesVariations(File image)
      图片变形 该方法仅支持 DALL·E 2 model
      指定者:
      imagesVariations 在接口中 OpenaiService
      参数:
      image - 需要变形的图像必须是 PNG 格式
      返回:
      包含生成图片的url
    • textToSpeech

      public InputStream textToSpeech(String input, AiCommon.OpenaiSpeech voice)
      TTS文本转语音 请设置config中model为支持TTS功能的模型 TTS系列
      指定者:
      textToSpeech 在接口中 OpenaiService
      参数:
      input - 需要转成语音的文本
      voice - AI的音色
      返回:
      返回的音频mp3文件流
    • speechToText

      public String speechToText(File file)
      STT音频转文本 请设置config中model为支持STT功能的模型 whisper
      指定者:
      speechToText 在接口中 OpenaiService
      参数:
      file - 需要转成文本的音频文件
      返回:
      返回的文本内容
    • embeddingText

      public String embeddingText(String input)
      文本向量化 请设置config中model为支持文本向量化功能的模型 text-embedding系列
      指定者:
      embeddingText 在接口中 OpenaiService
      参数:
      input - 需要向量化的内容
      返回:
      处理后的向量信息
    • moderations

      public String moderations(String text, String imgUrl)
      检查文本或图像是否具有潜在的危害性 仅支持omni-moderation-latest和text-moderation-latest模型
      指定者:
      moderations 在接口中 OpenaiService
      参数:
      text - 需要检查的文本
      imgUrl - 需要检查的图片地址
      返回:
      AI回复消息
    • chatReasoning

      public String chatReasoning(List<Message> messages, String reasoningEffort)
      推理chat 支持o3-mini和o1
      指定者:
      chatReasoning 在接口中 OpenaiService
      参数:
      messages - 消息列表
      reasoningEffort - 推理程度
      返回:
      AI回复消息
    • chatReasoning

      public void chatReasoning(List<Message> messages, String reasoningEffort, Consumer<ResponseBuilder> callback)
      推理chat-SSE流式输出 支持o3-mini和o1
      指定者:
      chatReasoning 在接口中 OpenaiService
      参数:
      messages - 消息列表
      reasoningEffort - 推理程度
      callback - 流式数据回调函数