mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-04-15 21:03:40 +00:00
feat: 兼容多平台模型
This commit is contained in:
@@ -10,6 +10,8 @@ public class OpenAIConst {
|
||||
|
||||
public final static String OPENAI_HOST = "https://api.openai.com/";
|
||||
|
||||
public final static String apiUrl = "v1/chat/completions";
|
||||
|
||||
public final static int SUCCEED_CODE = 200;
|
||||
|
||||
}
|
||||
|
||||
@@ -71,6 +71,11 @@ public class OpenAiStreamClient {
|
||||
*/
|
||||
private String apiHost;
|
||||
|
||||
/**
|
||||
* 自定义url 兼容多个平台
|
||||
*/
|
||||
private String apiUrl;
|
||||
|
||||
/**
|
||||
* 自定义的okHttpClient
|
||||
* 如果不自定义 ,就是用sdk默认的OkHttpClient实例
|
||||
@@ -112,6 +117,11 @@ public class OpenAiStreamClient {
|
||||
}
|
||||
apiHost = builder.apiHost;
|
||||
|
||||
if (StrUtil.isBlank(builder.apiUrl)) {
|
||||
builder.apiUrl = OpenAIConst.apiUrl;
|
||||
}
|
||||
apiUrl = builder.apiUrl;
|
||||
|
||||
if (Objects.isNull(builder.keyStrategy)) {
|
||||
builder.keyStrategy = new KeyRandomStrategy();
|
||||
}
|
||||
@@ -180,7 +190,7 @@ public class OpenAiStreamClient {
|
||||
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);
|
||||
@@ -611,6 +621,8 @@ public class OpenAiStreamClient {
|
||||
*/
|
||||
private String apiHost;
|
||||
|
||||
private String apiUrl;
|
||||
|
||||
/**
|
||||
* 自定义OkhttpClient
|
||||
*/
|
||||
@@ -645,6 +657,16 @@ public class OpenAiStreamClient {
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user