LM StudioではOpenAI互換のAPIでLLMにアクセスできるのだけど、LangChain4JでアクセスするときにはHTTP 1.1を指定しないとレスポンスが返ってこない。
これと同じ問題。
PythonのFastAPIにJavaのHttpClientから接続しようとするとupgradeできないというエラーになるのでHTTP 1.1を指定する - きしだのHatena
ということで、OpenAiChatModelを用意するときに、HttpClientBuilderを指定して、そのときにHTTP 1.1を設定しておく。
import dev.langchain4j.data.message.UserMessage; import dev.langchain4j.http.client.jdk.JdkHttpClient; import dev.langchain4j.model.chat.request.ChatRequest; import dev.langchain4j.model.openai.OpenAiChatModel; import java.net.http.HttpClient; public class Langsample { public static void main(String[] args) { var model = OpenAiChatModel.builder() .baseUrl("http://localhost:1234/v1") .modelName("gemma-3-4b-it") .httpClientBuilder(JdkHttpClient.builder().httpClientBuilder( HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1))) .build(); System.out.println("request"); var message = ChatRequest.builder() .messages(UserMessage.from("晴れの日に遊びにいくところのおすすめは?")) .build(); var text = model.chat(message); System.out.println(text); } }