`@Path("blockChat")
public class Блокчат {
Код: Выделить всё
private OpenAiChatModel chatModel;
public BlockChat(){
String apiKey = "XXXXXXXXX";
chatModel = OpenAiChatModel.withApiKey(apiKey);
}
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/{message}")
public String chat(@PathParam("message") String message) {
return chatModel.generate(message);
}
когда я сделал запрос на получение этой конечной точки от клиента с сообщением, приложение сломалось.
20:09:56,735 ПРЕДУПРЕЖДЕНИЕ [dev.langchain4j.internal.RetryUtils] (задача по умолчанию-1) При попытке 1 из 3 возникло исключение: java.lang.RuntimeException: невозможно создать экземпляр класса dev.ai4j. openai4j.chat.ChatCompletionResponse. Регистрация InstanceCreator или TypeAdapter для этого типа или добавление конструктора без аргументов может решить эту проблему.
Причина: java.lang.UnsupportedOperationException: невозможно выделить класс dev.ai4j.openai4j .chat.ChatCompletionResponse. Использование JDK sun.misc.Unsafe включено, но его невозможно использовать. Убедитесь, что ваша среда выполнения настроена правильно.
Я понимаю, что это возникает, когда GSON пытается использовать sun.misc.Unsafe для создания экземпляра ChatCompletionResponse без конструктора, а Jakarta EE ограничивает доступ. (только мое понимание после некоторого чтения).
Вот мой пом:
`
4.0.0
Код: Выделить всё
org.example
Chatbot
1.0-SNAPSHOT
war
dev.langchain4j
langchain4j-open-ai
0.30.0
jakarta.platform
jakarta.jakartaee-api
10.0.0
provided
17
17
UTF-8
chatbot
maven-war-plugin
3.4.0
false
org.wildfly.plugins
wildfly-maven-plugin
4.2.1.Final
30.0.1.Final
standalone-full.xml
Я попробовал выполнить фрагмент при весенней загрузке и смог получить ответ в виде ответа Json. Он также отлично работал с классами Plain Java.
PS: Я новичок в публикации проблем при переполнении стека. Поэтому я не уверен, что предоставленной информации достаточно. если нет, я хотел бы добавить больше деталей.
Подробнее здесь: https://stackoverflow.com/questions/783 ... st-web-app
Мобильная версия