package cn.bugstack.chatglm.session; import cn.bugstack.chatglm.IOpenAiApi; import lombok.*; import lombok.extern.slf4j.Slf4j; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import okhttp3.sse.EventSource; import okhttp3.sse.EventSources; /** * @author 小傅哥,微信:fustack * @description 配置文件 * @github https://github.com/fuzhengwei * @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获! */ @Slf4j @NoArgsConstructor @AllArgsConstructor public class Configuration { // 智普Ai ChatGlM 请求地址 @Getter @Setter private String apiHost = "https://open.bigmodel.cn/api/paas/"; // 智普Ai https://open.bigmodel.cn/usercenter/apikeys - apiSecretKey = {apiKey}.{apiSecret} private String apiSecretKey; public void setApiSecretKey(String apiSecretKey) { this.apiSecretKey = apiSecretKey; String[] arrStr = apiSecretKey.split("\\."); if (arrStr.length != 2) { throw new RuntimeException("invalid apiSecretKey"); } this.apiKey = arrStr[0]; this.apiSecret = arrStr[1]; } @Getter private String apiKey; @Getter private String apiSecret; // Api 服务 @Setter @Getter private IOpenAiApi openAiApi; @Getter @Setter private OkHttpClient okHttpClient; public EventSource.Factory createRequestFactory() { return EventSources.createFactory(okHttpClient); } // OkHttp 配置信息 @Setter @Getter private HttpLoggingInterceptor.Level level = HttpLoggingInterceptor.Level.HEADERS; @Setter @Getter private long connectTimeout = 450; @Setter @Getter private long writeTimeout = 450; @Setter @Getter private long readTimeout = 450; // http keywords public static final String SSE_CONTENT_TYPE = "text/event-stream"; public static final String DEFAULT_USER_AGENT = "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"; public static final String APPLICATION_JSON = "application/json"; public static final String JSON_CONTENT_TYPE = APPLICATION_JSON + "; charset=utf-8"; }