langchain4j
LangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme
Description
LangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes implementing RAG, tool calling (including support for MCP), and agents easy. LangChain4j integrates seamlessly with various enterprise Java frameworks.
README
Welcome!
The goal of LangChain4j is to simplify integrating LLMs into Java applications.
Here's how:
- Unified APIs: LLM providers (like OpenAI or Google Vertex AI) and embedding (vector) stores (such as Pinecone or Milvus) use proprietary APIs. LangChain4j offers a unified API to avoid the need for learning and implementing specific APIs for each of them. To experiment with different LLMs or embedding stores, you can easily switch between them without the need to rewrite your code. LangChain4j currently supports 20+ popular LLM providers and 30+ embedding stores.
- Comprehensive Toolbox: Since early 2023, the community has been building numerous LLM-powered applications, identifying common abstractions, patterns, and techniques. LangChain4j has refined these into practical code. Our toolbox includes tools ranging from low-level prompt templating, chat memory management, and function calling to high-level patterns like Agents and RAG. For each abstraction, we provide an interface along with multiple ready-to-use implementations based on common techniques. Whether you're building a chatbot or developing a RAG with a complete pipeline from data ingestion to retrieval, LangChain4j offers a wide variety of options.
- Numerous Examples: These examples showcase how to begin creating various LLM-powered applications, providing inspiration and enabling you to start building quickly.
LangChain4j began development in early 2023 amid the ChatGPT hype. We noticed a lack of Java counterparts to the numerous Python and JavaScript LLM libraries and frameworks, and we had to fix that!
Despite the name, LangChain4j is not a Java port of LangChain (Python) โ it is built for Java, not ported to it. It is an idiomatic Java library designed from the ground up around Java conventions: type safety, POJOs, annotations, interfaces, dependency injection, fluent APIs, and first-class integrations with Quarkus, Spring Boot, Helidon, and Micronaut. Its API, internals, and release cycle are independent of the Python LangChain project.
We actively monitor community developments, aiming to quickly incorporate new techniques and integrations, ensuring you stay up-to-date. The library is under active development. While some features are still being worked on, the core functionality is in place, allowing you to start building LLM-powered apps now!
Documentation can be found here.
The documentation chatbot (experimental) can be found here.
Getting started guide can be found here.
Please see examples of how LangChain4j can be used in langchain4j-examples repo:
- Examples in plain Java
- Examples with Quarkus (uses quarkus-langchain4j dependency)
- Example with Spring Boot
- Examples with Helidon (uses io.helidon.integrations.langchain4j dependency)
- Examples with Micronaut (uses micronaut-langchain4j dependency)
Useful materials can be found here.
Please use Discord or GitHub discussions to get help.
Please let us know what features you need by opening an issue.
Contribution guidelines can be found here.
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 1.16.1 | - Migrate OpenAI image models from DALL-E to new GPT image API in #5373 by @edeandrea **Full Changelog**: https://github.com/langchain4j/langchain4j/compare/1.16.0...1.16.1 | High | 6/6/2026 |
| 1.15.1 | - Introduce a new AgentConfigurator allowing to define an external function for agents retrieval or creation (https://github.com/langchain4j/langchain4j/pull/5269) - fix: eliminate race condition in ChatMemoryService.getOrCreateChatMemory (https://github.com/langchain4j/langchain4j/pull/5253) - Allow custom resolution of agentic parameters suppliers (https://github.com/langchain4j/langchain4j/pull/5286) - Filter away non serializable state from DefaultAgenticScope when serializing it (https:/ | High | 5/28/2026 |
| 1.15.0 | ## Highlights * Add Docling Document Parser Integration by @lfelner22 in https://github.com/langchain4j/langchain4j/pull/4933 * Support setting default values for `@Tool` parameters by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/5146 * Allow an agent to select among different ChatModels + Introduce voting agentic pattern by @mariofusco in https://github.com/langchain4j/langchain4j/pull/5158 * Added new integration module `langchain4j-google-genai` by @Eainde in https://gi | High | 5/15/2026 |
| 1.14.1 | - Upgrade opennlp-tools to 2.5.9 ([#5130](https://github.com/langchain4j/langchain4j/pull/5130)) - @aloubyansky - Update dependency org.postgresql:postgresql to v42.7.11 [SECURITY] ([#5118](https://github.com/langchain4j/langchain4j/pull/5118)) - @renovate - fix(mcp-docker): apply SSLConfig to ApacheDockerHttpClient ([#5127](https://github.com/langchain4j/langchain4j/pull/5127)) - @Malaydewangan09 - fix(mistralai): null-guard MistralAiChatMessage.getContent() in aiMessageFrom ([#5108](https | High | 5/7/2026 |
| 1.14.0 | ## Notable Changes - AI Services: - Support polymorphic return types and tool parameters by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/5060 - Add `ReturnBehavior.IMMEDIATE_IF_LAST` by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/4998 - OpenAI Responses API: - Refactor OpenAI Responses API integrations (follow up on PR 3816) by @maxlepikhin in https://github.com/langchain4j/langchain4j/pull/4557 - Add non-streaming OpenAI Responses chat model | High | 4/30/2026 |
| 1.13.1 | - [Retrive and use the actual types of arguments for typed A2A agents](https://github.com/langchain4j/langchain4j/commit/a7912e52735c3202bdfec9db34eb50f1062b09d5) **Full Changelog**: https://github.com/langchain4j/langchain4j/compare/1.13.0...1.13.1 | High | 4/23/2026 |
| 1.13.0 | ## Notable Changes * Agentic: Make the execution state of an agentic system persistable and recoverable by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4827 * Agentic: Introduce optional agents by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4850 * Skills: Support skill-scoped tools by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/4732 * Skills: Introduce `ClassPathSkillLoader` by @jmartisk in https://github.com/langchain4j/langchain4j/pu | High | 4/9/2026 |
| 1.12.2 | ## What's Changed * docu: update versions to 1.12.1 and 1.12.1-beta21 by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/4665 * Update versions to 1.13.0-SNAPSHOT and 1.13.0-beta22-SNAPSHOT by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/4666 * Propagate default chat model when declaratively configure a supervisoโฆ by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4673 **Full Changelog**: https://github.com/langchain4j/langchain4j/compare | Medium | 3/13/2026 |
| 1.12.1 | ## Notable Changes * Agentic: generate a HTML report of an agentic system topology and execution by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4600 * Agentic: allow to integrate an MCP tool as a non-AI agent by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4630 * Hibernate EmbeddingStore integration by @beikov in https://github.com/langchain4j/langchain4j/pull/4622 * Observability: Metrics with Micrometer by @Sus4nne in https://github.com/langchain4j/lang | Low | 3/5/2026 |
| 1.11.0 | ## Notable Changes * Agentic: support streaming by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4350 * Agentic: support multimodality by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4436 * Bedrock: support Guardrails by @jonathannaguin in https://github.com/langchain4j/langchain4j/pull/3988 * Elasticsearch: hybrid search implementation by @l-trotta in https://github.com/langchain4j/langchain4j/pull/4069 * Gemini: support Nano Banana and Nano Banana Pro by | Low | 2/4/2026 |
| 1.10.0 | # Notable Changes * Model Catalog support for Anthropic, Gemini, OpenAI and Mistral by @haumacher in https://github.com/langchain4j/langchain4j/pull/4240 * Agentic: Add observability and monitoring by @mariofusco in https://github.com/langchain4j/langchain4j/pull/4181 * Anthropic: support latest tool features by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/4211 * Anthropic: support structured outputs by @diegoberriosr in https://github.com/langchain4j/langchain4j/pull/4220 | Low | 12/24/2025 |
| 1.9.1 | ## What's Changed * docu: update versions to 1.9.0 and 1.9.0-beta16 by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/4139 * Update versions to 1.10.0-SNAPSHOT and 1.10.0-beta17-SNAPSHOT by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/4140 * added LangChain4j workshop to additional material - reviewed by @dliubarskyi by @roryp in https://github.com/langchain4j/langchain4j/pull/4142 * Update gemini batch docs by @Bram-- in https://github.com/langchain4j/lan | Low | 11/28/2025 |
| 1.9.0 | ## Notable Changes * Agentic: Introduce a generic agentic planner and reimplement all agentic patterns through it by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3929 * MCP: WebSocket transport support by @jmartisk in https://github.com/langchain4j/langchain4j/pull/4032 * Gemini: Batch API by @Bram-- in https://github.com/langchain4j/langchain4j/pull/3942 * Anthropic: support through Vertex AI #3193 by @pbykovcoginiti in https://github.com/langchain4j/langchain4j/pull/3362 | Low | 11/26/2025 |
| 1.8.0 | # Notable Changes * Reflect latest MCP registry changes by @jmartisk in https://github.com/langchain4j/langchain4j/pull/3888 * Support tool name mapping for MCP clients by @jmartisk in https://github.com/langchain4j/langchain4j/pull/3799 * Allow the output guardrail to rewrite a complete AiMessage by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3868 * Allow accessing AgenticScope from within @Tool-annotated method by @mariofusco in https://github.com/langchain4j/langchain4j | Low | 10/24/2025 |
| 1.7.1 | # Notable Changes * Agentic: allow to create agents based on classes by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3786 * ChromaDB: support API V2 by @vijaypatidar and @ehsavoie in https://github.com/langchain4j/langchain4j/pull/3779 * MCP: adjust to recent registry API changes by @jmartisk in https://github.com/langchain4j/langchain4j/pull/3793 * OpenAI Official: upgrade to SDK v4.0.0 by @jdubois in https://github.com/langchain4j/langchain4j/pull/3795 * Anthropic: allow | Low | 10/2/2025 |
| 1.6.0 | # Notable Changes - Agentic - Ensure that all pending async agent invocations are completed before ending the root call by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3695 - Call output function when a loop terminates with the exit condition by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3696 - Allow to mix agentic declarative and programmatic API by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3699 - Use unique names for agent | Low | 9/26/2025 |
| 1.5.0 | # Notable Changes * MCP: initial [registry](https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/) client implementation by @jmartisk in https://github.com/langchain4j/langchain4j/pull/3684 * Agentic: asynchronous agents by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3643 * Agentic: missing tools features by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3660 * Google AI Gemini: support image outputs by @minguncle in https://github.com | Low | 9/16/2025 |
| 1.4.0 | # Notable Changes * Agentic: add missing features to declarative API by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3587 * Agentic: allow to manipulate the supervisor output before returning it by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3602 * MCP: Streamable HTTP transport by @jmartisk in https://github.com/langchain4j/langchain4j/pull/3534 * AI Service: option to execute tools concurrently by @dliubarskyi in https://github.com/langchain4j/langchain | Low | 8/28/2025 |
| 1.3.0 | # Announcements We're excited to announce the release of two new experimental modules - `langchain4j-agentic` and `langchain4j-agentic-a2a` - which introduce a set of abstractions and utilities for building agentic, AI-infused applications. See the [documentation](https://docs.langchain4j.dev/tutorials/agents) for more information. # What's Changed * Introduce new `langchain4j-agentic` module by @mariofusco in https://github.com/langchain4j/langchain4j/pull/3458 * Docs for Infinispan Emb | Low | 8/7/2025 |
| 1.2.0 | # Announcements We are excited to announce the release of the stable (`1.2.0`) version for the next batch of modules: - `langchain4j-anthropic` - `langchain4j-azure-open-ai` - `langchain4j-bedrock` - `langchain4j-google-ai-gemini` - `langchain4j-mistral-ai` - `langchain4j-ollama` Many of the other LC4j modules are released under the `1.2.0-beta8` version and remain experimental/unstable. The `langchain4j-bom` has been released with version `1.2.0` and includes the latest versions | Low | 7/29/2025 |
| 1.1.0 | ## Announcements We are excited to announce the release of version `1.1.0-rc1` (release candidate 1) for the next set of modules: - `langchain4j-anthropic` - `langchain4j-azure-open-ai` - `langchain4j-bedrock` - `langchain4j-google-ai-gemini` - `langchain4j-mistral-ai` - `langchain4j-ollama` Please try out version `1.1.0-rc1` and share any feedback. We plan to release the final (`1.2.0`) versions for the above-mentioned modules in July. The rest of the modules are released under t | Low | 6/18/2025 |
| 1.0.1 | ## What's Changed * fixing failing tests by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/3012 * VoyageAI: Using `HttpClient` by @Martin7-1 in https://github.com/langchain4j/langchain4j/pull/2704 * Switch CassandraContainer implementation by @eddumelendez in https://github.com/langchain4j/langchain4j/pull/2826 * Update dependency org.apache.maven.plugins:maven-install-plugin to v3.1.4 by @renovate in https://github.com/langchain4j/langchain4j/pull/3040 * Update azure-sdk-f | Low | 5/20/2025 |
| 1.0.0 | ## Announcements We are excited to announce the release of version `1.0.0` for the following artifacts: - `langchain4j-core` - `langchain4j` - `langchain4j-http-client` - `langchain4j-http-client-jdk` - `langchain4j-open-ai` - `langchain4j-bom` The rest of the modules are released under the `1.0.0-beta5` version. We are currently finalizing the remaining updates and plan to release the next set of modules as `rc1` in June. The `langchain4j-bom` has been released with version `1.0.0` | Low | 5/14/2025 |
| 1.0.0-rc1 | ## Announcements We are excited to announce the release of version `1.0.0-rc1` (release candidate 1) for the following modules: - `langchain4j-core` - `langchain4j` - `langchain4j-http-client` - `langchain4j-http-client-jdk` - `langchain4j-open-ai` The rest of the modules are released under the `1.0.0-beta4` version. We are currently finalizing the remaining updates and plan to release the next set of modules as `1.0.0-rc1` in June. Please try out version `1.0.0-rc1` and share any fe | Low | 5/2/2025 |
| 1.0.0-beta3 | ## Notable Changes * Structured Outputs: support more return types with JSON schema by @kuraleta in https://github.com/langchain4j/langchain4j/pull/1938 * Amazon Bedrock: support for streaming and listeners/observability by @tenpigs267 in https://github.com/langchain4j/langchain4j/pull/2620 * Mistral: add support for structured outputs (#2633) by @snophey in https://github.com/langchain4j/langchain4j/pull/2706 * MCP: support prompts + some MCP resource handling improvements by @jmartisk in h | Low | 4/11/2025 |
| 1.0.0-beta2 | ## Notable Changes * OpenAI: migrate to `HttpClient` by @dliubarskyi in https://github.com/langchain4j/langchain4j/pull/2529 * Support the official OpenAI Java SDK by @jdubois in https://github.com/langchain4j/langchain4j/pull/2508 * Expose tools hallucination strategy by @mariofusco in https://github.com/langchain4j/langchain4j/pull/2626 * MCP: support for resources by @jmartisk in https://github.com/langchain4j/langchain4j/pull/2656 * Amazon Bedrock: deprecate old models using invoke API | Low | 3/13/2025 |
| 1.0.0-beta1 | ## Announcements - We are deprecating our old `ChatLanguageModel.generate(...)` and `StreamingChatLanguageModel.generate(...)` APIs in favour of the new `ChatLanguageModel.chat(...)` and `StreamingChatLanguageModel.chat(...)` APIs. We plan to fully migrate all of our chat model integrations to the new `chat()` API in the upcoming releases. If you have any concerns or comments, please [reach out](https://github.com/langchain4j/langchain4j/discussions/new/choose). - We have started [decoupling o | Low | 2/10/2025 |
| 1.0.0-alpha1 | ## Announcements - After developing LangChain4j for more than 1.5 years, we are looking forward to releasing the stable 1.0.0 version in Q1 of 2025. Please provide any feedback you have, this will help us prioritize issues and features that should be addressed in the 1.0.0 version. Thank you in advance for your input! - This release includes a [revamped ChatLanguageModel API](https://github.com/langchain4j/langchain4j/pull/1989). Currently, only OpenAI chat models fully support all the featur | Low | 12/22/2024 |
| 0.36.2 | ## What's Changed * Fix #2133 Spring boot starter breaks configuration classes by @qing-wq in https://github.com/langchain4j/langchain4j-spring/pull/79 | Low | 11/21/2024 |
| 0.36.1 | ## Fixes * [Fixed](https://github.com/langchain4j/langchain4j/commit/8a1d755196a2c4ccac805ed0f04972c68befdf26#diff-12719e04c48f3263f90134aa98b8f63c2dcac5ffc06b2877baaf36e29f0ab4c1R30) https://github.com/langchain4j/langchain4j/issues/2117 * [Fixed](https://github.com/langchain4j/langchain4j-embeddings/commit/5b1fc1dd9871222851b1742e648a99298b64d3a1) https://github.com/langchain4j/langchain4j/issues/2117 ## What's Changed * fix(deps): update dependency org.junit.platform:junit-platform-comm | Low | 11/19/2024 |
| 0.36.0 | ## Core Features/Updates * Java 17 baseline by @kpavlov in https://github.com/langchain4j/langchain4j/pull/1913 * New low-level API to specify tool parameters by @langchain4j in https://github.com/langchain4j/langchain4j/pull/1668 * Marked obvious `@Deprecated` candidates `forRemoval = true` by @langchain4j in https://github.com/langchain4j/langchain4j/pull/2028 * Get rid of Lombok in `langchain4j-core` by @kpavlov in https://github.com/langchain4j/langchain4j/pull/1987 * `TokenStream`: add | Low | 11/13/2024 |
| 0.35.0 | # New Integrations * GitHub Models (chat and embedding models) by @jdubois in https://github.com/langchain4j/langchain4j/pull/1807 * Google Cloud Storage (document loader) by @glaforge in https://github.com/langchain4j/langchain4j/pull/1820 * Google Vertex AI Ranking API (scoring model) by @glaforge in https://github.com/langchain4j/langchain4j/pull/1820 * ONNX Reranker (scoring model) by @1758225523 in https://github.com/langchain4j/langchain4j/pull/1769 * Tablestore (embedding store) by @ | Low | 9/25/2024 |
| 0.34.0 | # New Integrations * Google AI Gemini integration by @glaforge in https://github.com/langchain4j/langchain4j/pull/1695 * Oracle Database Embedding Store by @Michael-A-McMahon in https://github.com/langchain4j/langchain4j/pull/1490 * Couchbase Embedding Store by @chedim in https://github.com/langchain4j/langchain4j/pull/1482 * SearchApi integration by @zambrinf in https://github.com/langchain4j/langchain4j/pull/1216 # New Core Features * AI Services: automatically extract JSON block bef | Low | 9/5/2024 |
| 0.33.0 | ## New Integrations * Redis: implement `RedisChatMemoryStore` by @zambrinf in https://github.com/langchain4j/langchain4j/pull/1358 * OVHcloud: integrate embedding models by @philippart-s in https://github.com/langchain4j/langchain4j/pull/1355 ## Notable Changes * Google Gemini: support audio, video and PDF inputs by @glaforge in https://github.com/langchain4j/langchain4j/pull/1464 * Ollama: migrate to Jackson by @Martin7-1 in https://github.com/langchain4j/langchain4j/pull/1072 * Amazon | Low | 7/25/2024 |
| 0.32.0 | ## New Integrations * Integration with Jlama by @tjake in https://github.com/langchain4j/langchain4j/pull/1379 * Integration with Workers AI (Cloudflare) by @clun in https://github.com/langchain4j/langchain4j/pull/1262 * Selenium document loader by @Wadimz in https://github.com/langchain4j/langchain4j/pull/1166 ## New Core Features * Support custom POJOs as `@Tool` method parameters by @gs-snagaraj in https://github.com/langchain4j/langchain4j/pull/708 * Support optional `@Tool` method | Low | 7/4/2024 |
| 0.31.0 | ## New Core Features * [RAG] Web search engine as a retriever for RAG and as a tool by @czelabueno in https://github.com/langchain4j/langchain4j/pull/642 * [RAG] Option to return retrieved `Content`s/`TextSegment`s when using AI Services by @KaisNeffati in https://github.com/langchain4j/langchain4j/pull/1015 * [RAG] (Experimental) SQL database content retriever (`SqlDatabaseContentRetriever`) by @langchain4j in https://github.com/langchain4j/langchain4j/pull/1056 * LLM Observability: Part 1 | Low | 5/23/2024 |
| 0.30.0 | # Highlights * AI Services: Allow defining system message dynamically/programmatically by @mariofusco in https://github.com/langchain4j/langchain4j/pull/862 * AI Services: Support template variables in method parameter annotated with `@UserMessage` by @daixi98 in https://github.com/langchain4j/langchain4j/pull/930 * Anthropic: Support tools by @langchain4j in https://github.com/langchain4j/langchain4j/pull/897 # Other Changes * Add getters to AnthropicCreateMessageRequest and change s | Low | 4/16/2024 |
| 0.29.1 | ## What's Changed * Make Mistral tool related enums public by @geoand in https://github.com/langchain4j/langchain4j/pull/838 * Improvements: Common part can be extracted removing branch by @qmonmert in https://github.com/langchain4j/langchain4j/pull/836 * Fix some typos by @qmonmert in https://github.com/langchain4j/langchain4j/pull/835 * Introduce SPI for creating Anthropic client by @edeandrea in https://github.com/langchain4j/langchain4j/pull/834 * Docu: RAG by @langchain4j in https://gi | Low | 3/28/2024 |
| 0.29.0 | # Highlights * Easy RAG by @langchain4j in https://github.com/langchain4j/langchain4j/pull/686 * Advanced RAG with [Azure AI Search](https://azure.microsoft.com/en-us/products/ai-services/ai-search) by @jdubois in https://github.com/langchain4j/langchain4j/pull/587 * Declarative AI Services for Spring Boot by @langchain4j in https://github.com/langchain4j/langchain4j-spring/pull/12 * Tool/function support for Mistral AI by @czelabueno in https://github.com/langchain4j/langchain4j/pull/767 * | Low | 3/26/2024 |
| 0.28.0 | # New Integrations * Integration with Anthropic by @kuraleta in https://github.com/langchain4j/langchain4j/pull/727 * Integration with ZhipuAI by @1402564807 in https://github.com/langchain4j/langchain4j/pull/558 # New Core Features * EmbeddingStore (Metadata) Filter API by @langchain4j in https://github.com/langchain4j/langchain4j/pull/610 # Notable Updates * Gemini function calling support by @glaforge in https://github.com/langchain4j/langchain4j/pull/692 * Allow reading prompt (bo | Low | 3/11/2024 |
| 0.27.1 | ## What's Changed * #575 fix the case when POJO has final fields by @langchain4j in https://github.com/langchain4j/langchain4j/pull/620 **Full Changelog**: https://github.com/langchain4j/langchain4j/compare/0.27.0...0.27.1 | Low | 2/9/2024 |
| 0.27.0 | # New Integrations ## Embedding Stores * Integration with Infinispan by @karesti in https://github.com/langchain4j/langchain4j/pull/552 * Integration with MongoDB by @Martin7-1 in https://github.com/langchain4j/langchain4j/pull/535 ## Embedding Models * NomicEmbeddingModel by @langchain4j in https://github.com/langchain4j/langchain4j/pull/592 # Notable Updates * Reworked support of AstraDB and Cassandra by @clun in https://github.com/langchain4j/langchain4j/pull/548 * Nested POJO ext | Low | 2/9/2024 |
| 0.26.1 | ## New Core Features: * Advanced RAG by @langchain4j in https://github.com/langchain4j/langchain4j/pull/538 * Multimodality: support image inputs by @langchain4j in https://github.com/langchain4j/langchain4j/pull/428 * ConversationalRetrievalChain: adding metadata in the prompt by @mateusscheper in https://github.com/langchain4j/langchain4j/pull/431 ## New Integrations: ### Model providers: * Mistral AI by @czelabueno in https://github.com/langchain4j/langchain4j/pull/514 * Wenxin Qia | Low | 1/30/2024 |
| 0.25.0 | ## What's Changed * Update README.md by @aashish13 in https://github.com/langchain4j/langchain4j/pull/281 * Cleanup Testcontainers deps by @eddumelendez in https://github.com/langchain4j/langchain4j/pull/292 * Feature/elastic search restclient constructor by @aphethean1 in https://github.com/langchain4j/langchain4j/pull/291 * build most modules with jdk 8 by @langchain4j in https://github.com/langchain4j/langchain4j/pull/295 * Graal Integration for Local JS and Python Execution by @janglada | Low | 12/22/2023 |
| 0.24.0 | - Integration with [OpenSearch](https://opensearch.org/) by @riferrei - Vertex AI: embed in batches of 5 - Support of database name configuration for Milvus by @Heezer - OpenAI: added option to setup a custom Tokenizer, increased default timeouts to 60 seconds - Azure OpenAI: increased default timeouts to 60 seconds - Add support for custom base url for OpenAI model in Spring Boot starter by @marlukcz - Make some aspects of the project swappable by external integrations by @geoand - In | Low | 11/12/2023 |
| 0.23.0 | - Updates to models API: return `Response<T>` instead of `T`. `Response<T>` contains token usage and finish reason. - All model and embedding store integrations now live in their own modules - Integration with [Vespa](https://vespa.ai/) by @Heezer - Integration with [Elasticsearch](https://www.elastic.co/) by @Martin7-1 - Integration with [Redis](https://redis.io/) by @Martin7-1 - Integration with [Milvus](https://milvus.io/) by @IuriiKoval - Integration with [Astra DB](https://www.datasta | Low | 9/29/2023 |
| 0.22.0 | - Integration with [Google Vertex AI](https://cloud.google.com/vertex-ai) by [@kuraleta](https://github.com/kuraleta) - Offline [text classification with embeddings](https://github.com/langchain4j/langchain4j-examples/blob/main/other-examples/src/main/java/embedding/classification/EmbeddingModelTextClassifierExample.java) - Reworked [document splitters](https://github.com/langchain4j/langchain4j/blob/main/langchain4j/src/main/java/dev/langchain4j/data/document/splitter/DocumentSplitters.java) | Low | 8/29/2023 |
| 0.21.0 | - Integration with [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/overview) by @kuraleta - Integration with Qwen models (DashScope) by @jiangsier-xyz - [Integration with Chroma](https://github.com/langchain4j/langchain4j-examples/blob/main/other-examples/src/main/java/embedding/store/ChromaEmbeddingStoreExample.java) by @kuraleta - [Support for persistent ChatMemory](https://github.com/langchain4j/langchain4j-examples/blob/main/other-examples/src/main/java/Service | Low | 8/19/2023 |
| 0.20.0 | Added an option to setup a proxy for OpenAI models (#93) Added more pre-packaged in-process embedding models (#91): - [bge-small-en](https://huggingface.co/BAAI/bge-small-en) - [bge-small-zh](https://huggingface.co/BAAI/bge-small-zh) InMemoryEmbeddingStore: return matches from highest to lowest (#90) | Low | 8/14/2023 |
| 0.19.0 | - [Weaviate integration](https://github.com/langchain4j/langchain4j-examples/blob/main/other-examples/src/main/java/embedding/store/WeaviateEmbeddingStoreExample.java) by [@Heezer](https://github.com/Heezer) - [DOC, XLS and PPT loaders](https://github.com/langchain4j/langchain4j-examples/blob/main/other-examples/src/main/java/DocumentLoaderExamples.java) by [@oognuyh](https://github.com/oognuyh) - [Separate chat memory for each user](https://github.com/langchain4j/langchain4j-examples/blob/mai | Low | 8/10/2023 |
| 0.18.0 | - We've added integration with [LocalAI](https://localai.io/). Now, you can use LLMs hosted locally! - Added support for [response streaming in AI Services](https://github.com/langchain4j/langchain4j-examples/blob/main/other-examples/src/main/java/ServiceWithStreamingExample.java). | Low | 7/26/2023 |
| 0.17.0 | Added in-process embedding models: - all-minilm-l6-v2 - all-minilm-l6-v2-q - e5-small-v2 - e5-small-v2-q The idea is to give users an option to embed documents/texts in the same Java process without any external dependencies. ONNX Runtime is used to run models inside JVM. Each model resides in it's own maven module (inside the jar). | Low | 7/21/2023 |
| 0.16.0 | Added more request parameters for OpenAi models: - top_p - max_tokens - presence_penalty - frequency_penalty | Low | 7/18/2023 |
| 0.15.0 | You can now try out OpenAI's `gpt-3.5-turbo` and `text-embedding-ada-002` models with LangChain4j for free, without needing an OpenAI account and keys! Simply use the API key "demo". | Low | 7/17/2023 |
| 0.14.0 | - Simplified API for all models by removing `Result` class. Now models return results (`AiMessage`/`Embedding`/`Moderation`/etc) directly, without wrapping it into `Result` object. - Fixed a bug that prevented using `@UserMessage` in AI Services. | Low | 7/16/2023 |
| 0.13.0 | - Added EmbeddingStoreIngestor - Redesigned document loaders (see FileSystemDocumentLoader) - Simplified ConversationalRetrievalChain - Renamed DocumentSegment into TextSegment - Added output parsers for numeric types - Added @UserName for AI Services - Fixed [24](https://github.com/langchain4j/langchain4j/issues/24) | Low | 7/15/2023 |
