package cn.com.poc.thirdparty.resource.demand.ai.aggregate;


import cn.com.poc.thirdparty.resource.demand.ai.entity.function.FunctionCallResponse;
import cn.com.poc.thirdparty.resource.demand.ai.entity.function.FunctionCallResult;
import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult;
import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelResponse;

import java.io.BufferedReader;

/**
 * @author alex.yao
 * @date 2023/5/24
 * <p>
 * AI 对话
 **/
public interface AIDialogueService {

    /**
     * 调用中台通用大模型接口 [流]
     */
    BufferedReader polyStream(LargeModelResponse largeResponse) throws Exception;


    /**
     * 调用中台通用大模型接口 [非流]
     */
    LargeModelDemandResult poly(LargeModelResponse largeResponse);


    /**
     * 判断是否需要Function Call
     */
    FunctionCallResult functionCall(FunctionCallResponse response);
}
