import { EventEmitter } from "events"
import { ApiResult } from './declare'

export default abstract class GptBase extends EventEmitter {
    /**
     * 构造函数
     */
    constructor() {
        super();
    }
    /**
     * 获得文字的向量
     * @param text 
     */
    getTextEmbedding(_text: string, _axiosOption: any):any {return null;}
    /**
     * 自由聊天模式
     * @param chatText 
     * @param _paramOption 
     * @param axiosOption 
     */
    abstract chatRequest(chatText: string | Array<any>, _paramOption: any, axiosOption?: any): Promise<ApiResult>;

    /**
     * 创建一个会话主题id
     * @returns 
     */
    async createCoversation(_client?:any):Promise<string|null> {
        return null;
    }

    /**
     * 设置智能体的变量
     * @returns 
     */
    async setVariables(_params: any):Promise<ApiResult> {
        return { successed: true };
    }
    /**
     * 获取智能体的变量
     * @returns 
     */
    async getVariables(_params: any): Promise<any> { return {successed: false}}
    /**
     * 流式的聊天模式
     * @param chatText 
     * @param _paramOption 
     * @param axiosOption 
     */
    chatRequestInStream(_chatText: string | Array<any>, _paramOption: any, _attach?: any, _axiosOption?: any): any { return null; }
    }

