package com.sonic.cow.client;

import com.byteplus.ark.runtime.model.completion.chat.ChatCompletionRequest;

/**
 * 结构化输出
 */
public interface ChatStructuredOutputsClient {

    /**
     * 结构化输出
     * @param message
     * @param responseFormat
     * @return
     * @throws Exception
     */
    String chatStructuredOutputs(String message, ChatCompletionRequest.ChatCompletionRequestResponseFormat responseFormat);


    /**
     * AI一键生成
     * @param systemPrompt 系统提示词
     * @param temperature 温度
     * @param responseFormat 输出格式
     * @return
     */
    String aiGenStructuredOutputs(String systemPrompt, Double temperature, ChatCompletionRequest.ChatCompletionRequestResponseFormat responseFormat,Boolean thinking);

    /**
     * 图片生成文本
     *
     * 示例： https://github.com/volcengine/volcengine-java-sdk/blob/master/volcengine-java-sdk-ark-runtime/test/java/com/volcengine/ark/runtime/ChatCompletionsVisionExample.java
     *
     * @param systemPrompt 系统提示词
     * @param temperature  温度
     * @param imageUrl  图片地址
     * @param responseFormat 输出格式
     * @return
     */
    String imageGenText(String systemPrompt, Double temperature, String imageUrl, ChatCompletionRequest.ChatCompletionRequestResponseFormat responseFormat);
}
