Aktualizovat src/main/java/it/ohalee/minecraftgpt/Main.java
This commit is contained in:
parent
8878ddf5e5
commit
73a96ccf59
@ -24,7 +24,7 @@ public class Main extends JavaPlugin {
|
|||||||
|
|
||||||
public static Cache<Player, List<ChatMessage>> CACHE;
|
public static Cache<Player, List<ChatMessage>> CACHE;
|
||||||
public static Cache<Player, Type> USER_TYPE = CacheBuilder.newBuilder().build();
|
public static Cache<Player, Type> USER_TYPE = CacheBuilder.newBuilder().build();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
saveDefaultConfig();
|
saveDefaultConfig();
|
||||||
@ -44,7 +44,7 @@ public class Main extends JavaPlugin {
|
|||||||
notification.getKey().sendMessage(Messages.format(getConfig().getString("command.toggle.disabled")));
|
notification.getKey().sendMessage(Messages.format(getConfig().getString("command.toggle.disabled")));
|
||||||
}
|
}
|
||||||
}).build();
|
}).build();
|
||||||
|
OpenAiService service = new CustomOpenAiService(openAiKey.getKey(), Duration.ofSeconds(150));
|
||||||
String priority = getConfig().getString("chat-priority", "HIGH").toUpperCase();
|
String priority = getConfig().getString("chat-priority", "HIGH").toUpperCase();
|
||||||
Class<AsyncPlayerChatEvent> eventClass = AsyncPlayerChatEvent.class;
|
Class<AsyncPlayerChatEvent> eventClass = AsyncPlayerChatEvent.class;
|
||||||
getServer().getPluginManager().registerEvent(eventClass, new ChatHandler(this), EventPriority.valueOf(priority), (listener, event) -> {
|
getServer().getPluginManager().registerEvent(eventClass, new ChatHandler(this), EventPriority.valueOf(priority), (listener, event) -> {
|
||||||
@ -66,6 +66,37 @@ public class Main extends JavaPlugin {
|
|||||||
getLogger().info("Plugin enabled!");
|
getLogger().info("Plugin enabled!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class CustomOpenAiService extends OpenAiService {
|
||||||
|
private final ExecutorService executorService;
|
||||||
|
private final String openaiBaseUrl = "http://frigate.lipovcan.cz:3001";
|
||||||
|
|
||||||
|
public CustomOpenAiService(String token, Duration timeout) {
|
||||||
|
super(token, timeout);
|
||||||
|
ObjectMapper mapper = OpenAiService.defaultObjectMapper();
|
||||||
|
OkHttpClient client = OpenAiService.defaultClient(token, timeout);
|
||||||
|
|
||||||
|
Retrofit retrofit = new Retrofit.Builder()
|
||||||
|
.baseUrl(openaiBaseUrl)
|
||||||
|
.client(client)
|
||||||
|
.addConverterFactory(JacksonConverterFactory.create(mapper))
|
||||||
|
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
OpenAiApi customApi = retrofit.create(OpenAiApi.class);
|
||||||
|
|
||||||
|
// 使用反射设置 OpenAiService 类的 api 字段
|
||||||
|
try {
|
||||||
|
Field apiField = OpenAiService.class.getDeclaredField("api");
|
||||||
|
apiField.setAccessible(true);
|
||||||
|
apiField.set(this, customApi);
|
||||||
|
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||||
|
// 处理异常
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.executorService = client.dispatcher().executorService();
|
||||||
|
}
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
getLogger().info("Plugin disabled!");
|
getLogger().info("Plugin disabled!");
|
||||||
|
Loading…
Reference in New Issue
Block a user