首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LangChain4j HTTP 客户端定制:解锁 LLM API 交互的更多可能性

LangChain4j HTTP 客户端定制:解锁 LLM API 交互的更多可能性

作者头像
JavaEdge
发布2025-06-01 12:22:44
发布2025-06-01 12:22:44
20300
代码可运行
举报
文章被收录于专栏:JavaEdgeJavaEdge
运行总次数:0
代码可运行

免责声明~ 任何文章不要过度深思! 万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」; 不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。 怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」

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

代码语言:javascript
代码运行次数:0
运行
复制
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

代码语言:javascript
代码运行次数:0
运行
复制
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应用开发先行者 | 区块链落地实践者
  • 🌍 以技术驱动创新,我们的征途是改变世界!
  • 👉 实战干货:编程严选网
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0 前言
  • 1 实现方案
    • 1.1 JdkHttpClient
    • 1.2 SpringRestClient
  • 2 自定义JDK的HttpClient
  • 3 定制 Spring 的RestClient
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档