langchain4j/langchain4j

LangChain4j is an idiomatic, open-source Java library for building LLM-powered applications on the JVM. It offers a unified API over popular LLM providers...

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 34 minutes ago
Added to GitGenius on September 4th, 2026
Created on June 20th, 2023
Open Issues & Pull Requests: 903 (+0)
GitHub issues: Enabled
Number of forks: 2,533
Total Stargazers: 13,039 (+0)
Total Subscribers: 120 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 16.7 hours
Mean response time: 14.2 days
90th percentile: 15.7 days
Tracked items: 1,904

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 81% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 67% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 7% of issues opened in the past year have been closed. Three people close 82% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 586
New in 7 days: 33
Closed in 7 days: 24
Avg open age: 464 days
Stale 30+ days: 528
Stale 90+ days: 472

Recent activity

Opened in 7 days: 23
Closed in 7 days: 22
Comments in 7 days: 27
Events in 7 days: 58

Top labels

  • enhancement (849)
  • bug (716)
  • P2 (233)
  • RAG (218)
  • Tools (187)
  • P3 (165)
  • Agentic (110)
  • MCP (105)

Detailed Description

LangChain4j is a Java library for building LLM-powered applications on the JVM that provides unified APIs across multiple language model providers and vector stores.

The library addresses the fragmentation problem of working with different LLM providers and embedding stores, each with proprietary APIs. Rather than requiring developers to learn and implement separate integrations for OpenAI, Google Vertex AI, Pinecone, Milvus, and others, LangChain4j offers a single unified interface. This allows switching between providers without rewriting application code. Beyond provider abstraction, the tool includes a comprehensive set of building blocks: prompt templating, chat memory management, function calling with MCP support, agents, and RAG pipelines with data ingestion and retrieval components. Each abstraction is exposed through interfaces with multiple ready-to-use implementations based on established techniques.

The tool is purpose-built for Java developers rather than a port of the Python LangChain project. It embraces Java idioms including type safety, POJOs, annotations, fluent APIs, and dependency injection. It integrates directly with enterprise Java frameworks like Spring Boot, Quarkus, Helidon, and Micronaut, making it suitable for organizations building LLM features into existing Java applications or microservices. The library supports over twenty LLM providers and thirty embedding stores, making it appropriate for teams that need flexibility in choosing infrastructure or want to experiment with different models without architectural changes.

Development is active with ongoing work to incorporate new techniques and integrations. The core functionality is stable and ready for building production applications, though some features remain under development. The project maintains an independent release cycle and API evolution separate from the Python LangChain project.