LangChain4JでLM StudioにアクセスするときはHTTP 1.1の指定が必要

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);
    }
}