点击下方"JavaEdge",选择"设为星标"
第一时间关注技术干货!
免责声明~
任何文章不要过度深思!
万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更**「没有适用于所有人的解决方案」**;
不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能**「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人**。
怎么想、怎么做,全在乎自己**「不断实践中寻找适合自己的大道」**
0 前言
一些 LangChain4j 模块(目前是 OpenAI 和 Ollama)支持自定义用于调用 LLM 提供程序 API 的 HTTP 客户端。
langchain4j-http-client
模块实现了一个 HttpClient
SPI,这些模块用它来调用 LLM 提供程序的 REST API。即底层 HTTP 客户端可自定义,并通过实现 HttpClient
SPI 来集成任何其他 HTTP 客户端。
1 实现方案
目前,有两种开箱即用的实现:
1.1 JdkHttpClient
langchain4j-http-client-jdk
模块中的 JdkHttpClient
。当使用受支持的模块(如 langchain4j-open-ai
)时,默认使用它。
1.2 SpringRestClient
langchain4j-http-client-spring-restclient
中的 SpringRestClient
。当使用受支持的模块的 Spring Boot 启动器(例如 langchain4j-open-ai-spring-boot-starter
)时,默认使用它。
2 自定义JDK的HttpClient
go
HttpClient.Builder httpClientBuilder = HttpClient.newBuilder()
.sslContext(...);
JdkHttpClientBuilder jdkHttpClientBuilder = JdkHttpClient.builder()
.httpClientBuilder(httpClientBuilder);
OpenAiChatModel model = OpenAiChatModel.builder()
.httpClientBuilder(jdkHttpClientBuilder)
.apiKey(System.getenv("OPENAI_API_KEY"))
.modelName("gpt-4o-mini")
.build();
3 定制 Spring 的RestClient
go
RestClient.Builder restClientBuilder = RestClient.builder()
.requestFactory(new HttpComponentsClientHttpRequestFactory());
SpringRestClientBuilder springRestClientBuilder = SpringRestClient.builder()
.restClientBuilder(restClientBuilder)
.streamingRequestExecutor(new VirtualThreadTaskExecutor());
OpenAiChatModel model = OpenAiChatModel.builder()
.httpClientBuilder(springRestClientBuilder)
.apiKey(System.getenv("OPENAI_API_KEY"))
.modelName("gpt-4o-mini")
.build();
本文已收录在Github Java-Interview-Tutorial,关注我,紧跟本系列专栏文章,咱们下篇再续!
-
🚀 魔都架构师 | 全网30W技术追随者
-
🔧 大厂分布式系统/数据中台实战专家
-
🏆 主导交易系统亿级流量调优 & 车联网平台架构
-
🧠 AIGC应用开发先行者 | 区块链落地实践者
-
🌍 以技术驱动创新,我们的征途是改变世界!
-
👉 实战干货:编程严选网
关注我,紧跟本系列专栏文章,咱们下篇再续!
加我好友,一起AI探索交流:

写在最后
编程严选网 :
http://www.javaedge.cn/
专注分享AI时代下软件开发全场景最新最佳实践,点击文末【阅读原文】即可直达~