| | |
| | | private String apiHost; |
| | | |
| | | /** |
| | | * 自定义url 兼容多个平台 |
| | | */ |
| | | private String apiUrl; |
| | | |
| | | /** |
| | | * 自定义的okHttpClient |
| | | * 如果不自定义 ,就是用sdk默认的OkHttpClient实例 |
| | | */ |
| | |
| | | builder.apiHost = OpenAIConst.OPENAI_HOST; |
| | | } |
| | | apiHost = builder.apiHost; |
| | | |
| | | if (StrUtil.isBlank(builder.apiUrl)) { |
| | | builder.apiUrl = OpenAIConst.apiUrl; |
| | | } |
| | | apiUrl = builder.apiUrl; |
| | | |
| | | if (Objects.isNull(builder.keyStrategy)) { |
| | | builder.keyStrategy = new KeyRandomStrategy(); |
| | |
| | | ObjectMapper mapper = new ObjectMapper(); |
| | | String requestBody = mapper.writeValueAsString(chatCompletion); |
| | | Request request = new Request.Builder() |
| | | .url(this.apiHost + "v1/chat/completions") |
| | | .url(this.apiHost + apiUrl) |
| | | .post(RequestBody.create(MediaType.parse(ContentType.JSON.getValue()), requestBody)) |
| | | .build(); |
| | | factory.newEventSource(request, eventSourceListener); |
| | |
| | | */ |
| | | private String apiHost; |
| | | |
| | | private String apiUrl; |
| | | |
| | | /** |
| | | * 自定义OkhttpClient |
| | | */ |
| | |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * @param val 自定义请求后缀 |
| | | * @return Builder |
| | | * @see OpenAIConst |
| | | */ |
| | | public Builder apiUrl(String val) { |
| | | apiUrl = val; |
| | | return this; |
| | | } |
| | | |
| | | public Builder keyStrategy(KeyStrategyFunction val) { |
| | | keyStrategy = val; |
| | | return this; |