Java 工程师速看!最火 Java AI SDK 官宣 1.0 正式发布

LangChain4j 1.0.0 正式版现已发布!本文将深入解析其核心新特性与升级指南,助您快速掌握这一强大的 Java LLM 开发框架。

KoKprS

📌 引言

LangChain4j 是目前最火爆的 Java AI SDK,这款全面领先的开源框架彻底革新了大型语言模型 (LLM) 与 Java 应用的集成方式。作为 Java 生态系统中的 AI 开发利器,它提供了业内最完善的抽象层和工具链,让开发者能以前所未有的速度构建智能应用。1.0.0 版本的重磅发布不仅标志着框架达到企业级成熟度,更奠定了 Java 在 AI 应用开发领域的主导地位,使 Java 开发者能够无缝衔接最前沿的 AI 能力,在 LLM 应用开发赛道上遥遥领先。

1
2
3
4
5
6
7
8
9
10
11
<dependencyManagement>
<dependencies>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-bom</artifactId>
<version>1.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

✨ 核心新特性

🔹 官方 OpenAI Java SDK 支持

LangChain4j 现已集成官方 OpenAI Java SDK。相比之前的自定义实现,这一重要变更为用户带来了更佳的兼容性、稳定性与安全性,并确保能及时获取 OpenAI 的全部功能。

1
2
3
4
ChatModel model = OpenAiOfficialChatModel.builder()
.modelName(ChatModel.GPT_4O)
.apiKey(System.getenv("OPENAI_API_KEY"))
.build();

🔹 GitHub Models 集成

新版本支持通过 Azure AI Inference API 访问 GitHub Models,在 GitHub Actions 或 Codespaces 环境中可使用 GITHUB_TOKEN 自动认证:

1
2
3
4
ChatModel model = OpenAiOfficialChatModel.builder()
.modelName(ChatModel.GPT_4O_MINI)
.isGitHubModels(true)
.build();

💾 更广泛的数据库和向量存储支持

🔹 Neo4j 集成

引入与图数据库 Neo4j 的深度集成,支持:

  • Neo4jEmbeddingStore:在 Neo4j 中存储和查询向量嵌入
  • Neo4jText2CypherRetriever:根据用户问题生成并执行 Cypher 查询

这使得开发者能够构建”GraphRAG”应用,利用数据关系增强 LLM 推理能力。

🔹 MongoDB Atlas 集成

提供对 MongoDB Atlas 作为嵌入存储的原生支持:

1
2
3
4
5
6
7
8
MongoClient mongoClient = MongoClients.create("mongodb+srv://...");
MongoCollection<Document> collection = mongoClient
.getDatabase("langchain4j")
.getCollection("embeddings");

EmbeddingStore<TextSegment> embeddingStore = MongoDBAtlasEmbeddingStore.builder()
.collection(collection)
.build();

🔹 Google Cloud 数据库集成

扩展对 Google Cloud 数据库的支持,包括:

  • AlloyDB PostgreSQL 集成
  • Cloud SQL for PostgreSQL 集成

🔹 可定制的 HTTP 客户端

LangChain4j 1.0.0 支持自定义底层 HTTP 客户端,使您能够根据需求灵活配置网络请求。目前支持两种内置实现:

  • JDK HttpClient:默认用于基本模块(如 langchain4j-open-ai)
  • Spring RestClient:默认用于 Spring Boot 集成(如 langchain4j-open-ai-spring-boot-starter)

自定义 JDK HttpClient 示例:

1
2
3
4
5
6
7
8
9
10
11
12
HttpClient.Builder httpClientBuilder = HttpClient.newBuilder()
.sslContext(customSslContext)
.connectTimeout(Duration.ofSeconds(30));

JdkHttpClientBuilder jdkHttpClientBuilder = JdkHttpClient.builder()
.httpClientBuilder(httpClientBuilder);

OpenAiChatModel model = OpenAiChatModel.builder()
.httpClientBuilder(jdkHttpClientBuilder)
.apiKey(System.getenv("OPENAI_API_KEY"))
.modelName("gpt-4o-mini")
.build();

⚠️ 破坏性变更及迁移指南

核心接口重命名

旧版接口 新版接口 迁移操作
ChatLanguageModel ChatModel 更新所有相关类中的接口名称
StreamingChatLanguageModel StreamingChatModel 更新所有相关类中的接口名称

流式 API 方法调整

旧方法 新方法 迁移操作
onNext() onPartialResponse() 更新流式响应处理代码
onComplete() onCompleteResponse() 更新流式响应处理代码

内部工具类变更

部分公共但非预期外部使用的类现已使用 @Internal 注解标记,可能被重命名或重组。建议避免直接使用这些内部类,应依赖公共 API。

废弃接口移除

先前版本中已标记为 @deprecated 的接口已被移除。请更新代码使用其非废弃的替代方案。


📝 总结

LangChain4j 1.0.0 版本是该框架发展的重要里程碑,提供了丰富的新特性和稳定的 API。
笔者之前整理的 LangChain4j 入门系列教程已全面更新至 1.0.0 版本,欢迎访问 https://javaai.pig4cloud.com/introduction 获取最新实践指南和代码示例,助您快速掌握这一强大框架的全部特性。