├── .gitignore
├── LICENSE
├── README.md
└── images
├── book-understanding-langchain4j.png
└── langchain4j_logo_text.png
/.gitignore:
--------------------------------------------------------------------------------
1 | ### IntelliJ IDEA ###
2 | .idea/*
3 | .idea/modules.xml
4 | .idea/jarRepositories.xml
5 | .idea/compiler.xml
6 | .idea/libraries/
7 | *.iws
8 | *.iml
9 | *.ipr
10 |
11 | ### Eclipse ###
12 | .apt_generated
13 | .classpath
14 | .factorypath
15 | .project
16 | .settings
17 | .springBeans
18 | .sts4-cache
19 |
20 | ### NetBeans ###
21 | /nbproject/private/
22 | /nbbuild/
23 | /dist/
24 | /nbdist/
25 | /.nb-gradle/
26 | build/
27 | !**/src/main/**/build/
28 | !**/src/test/**/build/
29 |
30 | ### VS Code ###
31 | .vscode/
32 |
33 | ### Mac OS ###
34 | .DS_Store
35 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Awesome [LangChain4j](https://github.com/langchain4j/langchain4j) [](https://awesome.re)
2 |
3 |
4 |
5 | This repository is a space to find and share resources (articles, videos, more elaborate examples, etc.) using the LangChain4j library.
6 | The idea is to allow the community to learn and inspire each other.
7 |
8 | ## LangChain4j Community Examples
9 |
10 | Here you find all sorts of samples so you can get some inspiration to build application based on these examples or to use them for demo's.
11 | Please read the [usage conditions](#usage-conditions) at the end of this page, and check the license of the project in question before using the examples, and credit the creator.
12 | For the official LangChain4j examples, tutorials and documentation, see [more information](#more-information-on-langchain4j).
13 |
14 | We welcome all types of more elaborate examples, such as
15 | - interesting use cases
16 | - elaborate examples with specific providers, frameworks or set-ups
17 | - experimental programs that push the limits of what is possible with LLMs and AI integration.
18 |
19 | | Title | Short Description | Contributor | Usage and Extension allowed | Usage for Demos allowed |
20 | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|-----------------------------|-------------------------|
21 | | [Customer Assistant in Spring Boot](https://github.com/langchain4j/langchain4j-examples/blob/cacef9854057f3017ee5405368cd27c446a5df3f/customer-support-agent-example/src/main/java/dev/langchain4j/example/CustomerSupportAgentApplication.java#L39) | Car rental service customer assistant with memory, access to terms of use, and tools to intervene on bookings. Powered by GPT-4. | Dmytro Liubarskyi | ✅ | ✅ |
22 | | [Customer Assistant in Quarkus](https://github.com/geoand/langchain4j-quarkus-example) | Car rental service customer assistant with memory, access to terms of use, and tools to intervene on bookings. Powered by GPT-4. Including simple frontend. | Georgios Andrianakis | ✅ | ✅ |
23 | | [Feedback Analyser](https://github.com/LizeRaes/feedback-analyzer) | Example splitting and categorizing feedback with LLM + dashboard and ChatBot to explore the recieved feedback. Quarkus example with as many plain java parts as possible for demo purpose. Includes ChatBot, RAG, metadat filtering, persistence to SQLite database, frontend with form data post, chatbot and dashboard. | Lize Raes and Vincent Peres | ✅ | ✅ |
24 | | [RAG Genie](https://github.com/stephanj/rag-genie) | LLM RAG prototype to test and evaluate your embeddings, chunk splitting strategies using Q&A and evaluations. | Stephan Janssen | ✅ | ✅ |
25 | | [LLM Tree-of-Thought](https://github.com/ugwun/tree_of_thought_langchain4j) | Explores the implementation of the Tree of Thought (ToT) approach (metacognition) with LLMs. More info [here](https://medium.com/aimonks/metacognition-experiments-with-ai-8ba10f284e4c). | Cyril Sadovsky | ✅ | ✅ |
26 | | [Devoxx Genie IntelliJ Assistant](https://github.com/devoxx/DevoxxGenieIDEAPlugin) | Using LangChain4j to build an AI Coding Assistant in IntelliJ that supports local models. Includes code for IntelliJ Plugins. | Devoxx | ✅ | ✅ |
27 | | [Serverless Book Management App (Google Next 24)](https://github.com/GoogleCloudPlatform/serverless-production-readiness-java-gcp/tree/main/sessions/next24/books-genai-vertex-langchain4j) | Using LangChain4j to build a big serverless book / library management app leveraging Google models and services. Conference slides available [here](https://assets.swoogo.com/uploads/3794515-661c3ba37f784.pdf). | Dan Dobrin, Yanni Peng | ✅ | ✅ |
28 | | [Build your own ChatGPT in Quarkus (DevoxxFR)](https://github.com/Azure-Samples/azure-openai-rag-workshop) | Workshop to build a chatbot trained with your own pdf's, using Quarkus, LangChain4J and a website to test our chatbot. | Yohan Lasorsa, Anontio Goncalves, Julien Dubois, Sandra Ahlgrimm | ✅ | ✅ |
29 | | [The Petclinic Sample in SpringBoot and Langchain4j](https://github.com/showpune/spring-petclinic-langchain4j) | A chatrobot built with Langchain4j for Spring petclinic, a demo with prompt, memory, RAG, retrieval augmentor and interaction with native functions | Zhiyong Li | ✅ | ✅ |
30 | | [The Quarkus Superheroes Sample applcation](https://github.com/quarkusio/quarkus-super-heroes/tree/main/rest-narration) | The official Quarkus sample application showcasing integration with OpenAI and Azure OpenAI | Eric Deandrea | ✅ | ✅ |
31 | | [langgraph4j library](https://github.com/bsorrentino/langgraph4j) | A library for building stateful, multi-actor applications with LLMs, built for work jointly with langchain4j. _It is a porting of original [langgraph](https://github.com/langchain-ai/langgraph) from [langChain ai project]( https://github.com/langchain-ai) in Java eco-system_. | Bartolomeo Sorrentino | ✅ | ✅ |
32 | | [LangChat](https://github.com/TyCoding/langchat) | LangChat: Java LLMs/AI Project, Supports Multi AI Providers( OpenAI / Gemini / Ollama / Azure / 智谱 / 阿里通义大模型 / 百度千帆大模型), Java生态下AI大模型产品解决方案,快速构建企业级AI知识库、企业机器人 | TyCoding | ✅ | ✅ |
33 | | [Data Extraction with Camel Quarkus](https://github.com/apache/camel-quarkus-examples/tree/main/data-extract-langchain4j) | Turns unstructured text coming from a source system into Java objects | Alexandre Gallice | ✅ | ✅ |
34 | | [Amazon Bedrock: Leveraging Foundation Models With Quarkus and AWS](https://dzone.com/articles/amazon-bedrock-leveraging-foundation-models-with-q) | A Generative AI Gateway with Amazon Bedrock, Quarkus and Langchain4J. | Nicolas Duminil | ✅ | ✅ |
35 | | [The Power of LLMs in Java: Leveraging Quarkus and LangChain4j](https://dzone.com/articles/leveraging-the-llm-power-in-java) | A Haiku Generator with Quarkus and Langchain4J. | Nicolas Duminil | ✅ | ✅ |
36 |
37 | ## LangChain4j Books
38 |
39 | | Publication Date | Cover | Title | Short Description | Author |
40 | |------------------|---------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
41 | | 2024/10/05 |
| [Understanding LangChain4j](https://agoncal.teachable.com/p/ebook-understanding-langchain4j) | In this book, you will learn LangChain4j, the Java library that simplifies the integration of AI and LLMs into your applications. You will explore the fundamentals of AI, learn the history and evolution of AI models, and understand the core concepts of LangChain4j. From accessing and invoking large language models to manipulating embeddings in vector databases, you will gain hands-on experience through practical examples and code snippets. Additionally, you will discover advanced topics such as Retrieval-Augmented Generation (RAG), debugging, testing, and integrating LangChain4j with other technologies. | [Antonio Goncalves](https://amazon.com/author/agoncal) |
42 |
43 | ## Other LangChain4j Community Resources
44 |
45 | Here you find all sorts resources (articles, tutorials, videos, etc.) sorted by date on LangChain4j.
46 |
47 | | Date | Type | Title | Short Description | Author |
48 | |------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|
49 | | 2024/08/22 | Article | [LLMs streaming with AI Endpoints and LangChain4j](https://blog.ovhcloud.com/llms-streaming-with-ai-endpoints-and-langchain4j/) | This tutorial demonstrates how to implement a streaming chatbot using LangChain4J and OVHcloud AI Endpoints. | Stéphane Philippart |
50 | | 2024/08/22 | Article | [Memory chatbot using AI Endpoints and LangChain4j](https://blog.ovhcloud.com/memory-chatbot-using-ai-endpoints-and-langchain4j/) | This tutorial demonstrates how to implement a chatbot using LangChain4J and OVHcloud AI Endpoints. | Stéphane Philippart |
51 | | 2024/08/20 | Article | [Using RAG with LangChain4j and PostgreSQL Vector](https://blog.ovhcloud.com/rag-chatbot-using-ai-endpoints-and-langchain4j/) | This tutorial demonstrates how to implement RAG using LangChain4J ContentRetriever and a PosgreSQL database to store vectors. | Stéphane Philippart |
52 | | 2024/08/22 | Article | [How to use AI Endpoints and LangChain4j](https://blog.ovhcloud.com/how-to-use-ai-endpoints-and-langchain4j/) | This tutorial demonstrates how to use LangChain4J and OVHcloud AI Endpoints. | Stéphane Philippart |
53 | | 2024/08/20 | Article | [LangChain4J Spring Boot ContentRetriever tutorial](https://medium.com/@cyrilsadovsky/langchain4j-spring-boot-contentretriever-tutorial-212da8b5c50d) | This tutorial demonstrates how to implement LangChain4J ContentRetriever in a Spring Boot application. The concepts covered can be applied to any RAG (Retrieval-Augmented Generation) paradigm. | Cyril Sadovsky |
54 | | 2024/08/15 | Article | [Building a Desktop AI Chat Application with LangChain4j and Install4j](https://java-ai.hashnode.dev/building-a-desktop-ai-chat-application-with-langchain4j-and-install4j) | A short article discussing how to use LangChain4j and Install4j to create a simple AI-backed desktop application. | Rob Brown |
55 | | 2024/08/04 | Article | [Using RAG with Langchain4j and Ollama3](https://www.mastertheboss.com/various-stuff/ai/using-rag-with-langchain4j-and-ollama3/) | Retrieval-Augmented Generation (RAG) is a framework that enhances the capabilities of generative language models by incorporating relevant information retrieved from a large corpus of documents. This combination helps improve the accuracy and relevance of the generated responses. In this article we will learn how to use RAG with Langchain4j. | F. Marchioni |
56 | | 2024/07/09 | Article | [Long Document Summarization Techniques with Java, Langchain4J and Gemini models](https://medium.com/google-cloud/long-document-summarization-techniques-with-java-langchain4j-and-gemini-models-750f6c60b379) | Suppose your organization has a large number of documents, in various formats, and you, a Java developer, are tasked to efficiently summarize the content of each document. | Dan Dobrin |
57 | | 2024/06/08 | Article | [Straightforward, Gemini powered sentiment analysis with Langchain4J](https://medium.com/@aaronmwanjala/straightforward-gemini-powered-sentiment-analysis-with-langchain4j-b8245de01d6b) | Sentiment analysis determines if a text is positive, negative, or neutral, helping businesses understand customer feelings and individuals track topic sentiment over time. A simple implementation uses an LLM as a classifier, demonstrated here with Gemini 1.5 Flash. | Aaron Wanjala |
58 | | 2024/06/06 | Article | [Introducing LangChain4j Integration with E.D.D.I: Connecting multiple LLMs with one AI Middleware](https://labsai.medium.com/introducing-langchain4j-integration-with-e-d-d-i-connecting-multiple-llms-with-one-ai-middleware-99d1dc987ce4) | With the integration of LangChain4j, E.D.D.I now seamlessly connects with powerful LLM APIs like OpenAI ChatGPT, Facebook Hugging Face, Anthropic Claude, Google Gemini, and Ollama. This enhancement expands E.D.D.I’s capabilities, enabling developers and businesses to leverage top AI technology for their applications. | Gregor Jarisch |
59 | | 2024/06/05 | Article | [Step-by-Step Guide to Building a FullStack LangChain4j Application](https://chalise-arun.medium.com/step-by-step-guide-to-building-a-fullstack-langchain4j-application-0dfd4f0ef7bc) | In this tutorial we will build a full stack LangChain application using LangChain4J, SpringBoot and ReactJS | Arun Chalise |
60 | | 2024/06/03 | Article | [Let's make Gemini Groovy!](https://glaforge.dev/posts/2024/06/03/lets-make-gemini-groovy/) | The happy users of Gemini Advanced, the powerful AI web assistant powered by the Gemini model, can execute some Python code, thanks to a built-in Python interpreter. So, for math, logic, calculation questions, the assistant can let Gemini invent a Python script, and execute it, to let users get a more accurate answer to their queries. | Guillaume Laforge |
61 | | 2024/05/28 | Article | [Grounding Gemini with Web Search results in LangChain4j](https://glaforge.dev/posts/2024/05/28/grounding-gemini-with-web-search-in-langchain4j/) | The latest release of LangChain4j (version 0.31) added the capability of grounding large language models with results from web searches. There’s an integration with Google Custom Search Engine, and also Tavily. | Guillaume Laforge |
62 | | 2024/05/03 | Article | [Gemini, Google's Large Language Model, for Java Developers](https://glaforge.dev/talks/2024/05/03/gemini-google-large-language-model-for-java-developers/) | As a follow-up to my talk on generative AI for Java developers, I’ve developed a new presentation that focuses more on the Gemini large multimodal model by Google. | Guillaume Laforge |
63 | | 2024/04 | Video | [LangChain4J - use the power of LLMs in Java!](https://www.youtube.com/watch?v=x8kkjmCZTaw) | An introduction to LangChain4J : what it is, why use it, with 7 short demos showing its main use cases in Java. We'll use Azure OpenAI and MistralAI, Dalle-3, GPT-4 and Mistral 7B, learn how to use embeddings and vector databases, and how to use the RAG pattern. | Julien Dubois |
64 | | 2024/04/16 | Article | [Building a simple AI assistant with Spring Boot and LangChain4j](https://medium.com/comsystoreply/building-a-simple-ai-assistant-with-spring-boot-and-langchain4j-a9693b1cddfc) | This blog explains how to build an AI assistant using Spring Boot and LangChain4j. The assistant will use OpenAI's ChatGPT to provide users with information about charging stations for electric vehicles. | Filip Gustetić |
65 | | 2024/04/03 | Article | [Calling Gemma with Ollama, TestContainers, and LangChain4j](https://glaforge.dev/posts/2024/04/04/calling-gemma-with-ollama-and-testcontainers/) | Lately, for my Generative AI powered Java apps, I’ve used the Gemini multimodal large language model from Google. But there’s also Gemma, its little sister model. | Guillaume Laforge |
66 | | 2024/03/27 | Article | [Java + Ollama — Unlock capability of Generative AI to Java developer with LangChain4j (Model on locally)](https://tpbabparn.medium.com/java-ollama-unlock-capability-of-generative-ai-to-java-developer-with-langchain4j-model-on-c814f97d9676) | Generative AI can generate text, images, songs, and videos. The Java community has introduced "LangChain4j" as a way to communicate with LLMs, serving as an alternative to LangChain for Java. | Thanaphoom Babparn |
67 | | 2024/03/27 | Article | [Gemini codelab for Java developers using LangChain4j](https://glaforge.dev/posts/2024/03/27/gemini-codelab-for-java-developers) | No need to be a Python developer to do Generative AI! If you’re a Java developer, you can take advantage of LangChain4j to implement some advanced LLM integrations in your Java applications. And if you’re interested in using Gemini, one of the best models available, I invite you to have a look at the following “codelab” that I worked on. | Guillaume Laforge |
68 | | 2024/03/03 | Video | [GenAI with Quarkus, Langchain4j and Ollama !](https://www.youtube.com/watch?v=TYH95_Vzvzw) | Let's see how we can see up an dev environment , all running locally using cool technologies like Quarkus, langchain4j and Ollama | Sebastien Blanc |
69 | | 2024/03 | Video | [Java Meets AI: How to build LLM-Powered Applications with LangChain4j](https://www.youtube.com/watch?v=Ewr1KYPtLa0) | Do you want to build applications powered by Large Language Models (LLMs) using Java and Spring Boot? | Lize Raes |
70 | | 2024/03 | Video | [The Definitive Guide to Tool Support in LangChain4J](https://www.youtube.com/watch?v=cjI_6Siry-s) | LangChain4J lets you add classes and methods that an AI model can invoke automatically. That allows you to supply functions that do well what the AI model does badly. | Tales from the jar side |
71 | | 2024/03 | Video | [Unleashing AI in Java: A Guide to Semantic Kernel, LangChain4j, and Spring AI](https://www.youtube.com/watch?v=qL9A21N-6J4) | Are you a Java developer curious about building AI apps, but feel restricted by the prevalence of Python and JavaScript tools? This talk is for you. We'll explore Java AI libraries like Semantic Kernel, LangChain4j, and Spring AI, demystifying how to get started with AI engineering right within your favorite language. | Marcus Hellberg |
72 | | 2024/02/26 | Article | [LangChain4j Retrieval-Augmented Generation (RAG) Tutorial](https://www.sivalabs.in/langchain4j-retrieval-augmented-generation-tutorial) | Understand the need for Retrieval-Augmented Generation (RAG). Learn about EmbeddingModel, EmbeddingStore, DocumentLoaders, and EmbeddingStoreIngestor. Explore working with different EmbeddingModels and EmbeddingStores, ingesting data into EmbeddingStore, and querying LLMs with data from EmbeddingStore. | Siva Prasad Reddy |
73 | | 2024/02/23 | Article | [LangChain4j AiServices Tutorial](https://www.sivalabs.in/langchain4j-ai-services-tutorial) | Learn to use LangChain4j AiServices for interacting with LLMs. Discover how to ask questions and map responses to different formats. Understand how to summarize text in various formats and analyze the sentiment of the given text. | Siva Prasad Reddy |
74 | | 2024/02/21 | Article | [Generative AI Conversations using LangChain4j ChatMemory](https://www.sivalabs.in/generative-ai-conversations-using-langchain4j-chat-memory) | Learn to use LangChain4j's ChatMemory and ConversationalChain for creating conversation-style interactions. Discover how to ask questions effectively using PromptTemplate for precise and context-aware responses. | Siva Prasad Reddy |
75 | | 2024/02/19 | Article | [Getting Started with Generative AI using Java, LangChain4j, OpenAI and Ollama](https://www.sivalabs.in/getting-started-with-generative-ai-using-java-langchain4j-openai-ollama) | In this article, we'll cover the basics of Generative AI, how to interact with OpenAI APIs using Java, and how to use LangChain4j. We'll also explain running a local LLM model with Ollama and integrating Ollama with LangChain4j and Testcontainers. | Siva Prasad Reddy |
76 | | 2024/02/01 | Article | [Image generation with Imagen and LangChain4j](https://glaforge.dev/posts/2024/02/01/image-generation-with-imagen-and-langchain4j) | This week LangChain4j, the LLM orchestration framework for Java developers, released version 0.26.1, which contains my first significant contribution to the open source project: support for the Imagen image generation model. | Guillaume Laforge |
77 | | 2024/01/23 | Video | [ Crafting Intelligent Supersonic Subatomic applications with Quarkus](https://www.youtube.com/watch?v=ubZtXfwG6ec) | Learn Learn how Quarkus embraces the AI/LLM universe by integrating with the popular langchain4j library, and get ideas for crafting your own intelligent applications! Recorded at Voxxed Days CERN 2024 | Dimitris Andreadis |
78 | | 2023/12 | Video | [How to build a retrieval-augmented generation (RAG) AI system in Java (Spring Boot + LangChain4j)](https://www.youtube.com/watch?v=J-3n7xs98Kc) | Learn how to build an AI powered application that knows your business context and is able to interact with your Java code. Recorded at Vaadin Create 2023. | vaadinofficial |
79 | | 2023/11/13 | Article | [Generative AI in practice: Concrete LLM use cases in Java, with the PaLM API](https://glaforge.dev/talks/2023/11/13/gen-ai-with-palm-2-and-java) | Large Language Models, available through easy to use APIs, bring powerful machine learning tools in the hands of developers. Although Python is usually seen as the lingua franca of everything ML, with LLM APIs and LLM orchestration frameworks, complex tasks become easier to implement for enterprise developers. | Guillaume Laforge |
80 | | 2023/11/16 | Video | [Fireside Chat: LangChain4j & Quarkus](https://www.youtube.com/watch?v=mYw9ySwmK34) | [When Quarkus meets LangChain4j](https://quarkus.io/blog/quarkus-meets-langchain4j/) | Quarkus team |
81 | | 2024/04/29 | Video | [Quarkus Insights #163: Latest in Quarkus LangChain4j](https://www.youtube.com/watch?v=EeR_8HMFwN4) | Dimitrios Andreadis & Georgios Andrianakis join us to discuss the latest happenings with LangChain4j, including MistralAI and Easy RAG in Quarkus. | Quarkus team |
82 | | 2023/11/05 | Video | [The Magic of AI Services with LangChain4j](https://www.youtube.com/watch?v=Bx2OpE1nj34) | LangChain4J is a port of the Python project LangChain to the Java world. It has many capabilities, but one particularly useful one is that it can generate AI “services” from a simple interface that interact with whatever language model you choose. | Ken Kousen |
83 |
84 |
85 | ## Usage Conditions
86 |
87 | **For users:**
88 | Please check the README of the example and make sure you use it only as allowed by the permissions
89 |
90 | **For contributors:**
91 | If you have an inspiring application that you want to share with the community, you're very welcome to add it here, either by committing the code or by adding a link in the table below.
92 | Please make sure your project compiles and runs correctly. Please provide a README explaining what your example does, how to run it, and which of the following permissions you grant:
93 | - permission to get inspired and make a similar app
94 | - permission to use the example for demos, while crediting you
95 | - permission to use and extend the application
96 |
97 | ## More information on LangChain4J
98 | - [Repository](https://github.com/langchain4j/langchain4j)
99 | - [Documentation](https://docs.langchain4j.dev/)
100 | - [Standard Examples](https://github.com/langchain4j/langchain4j-examples)
101 | - [Tutorials](https://github.com/langchain4j/langchain4j-examples/tree/main/tutorials/src/main/java)
102 |
--------------------------------------------------------------------------------
/images/book-understanding-langchain4j.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/langchain4j/awesome-langchain4j/3af326d5ac3c7df2bee4ebab730500e60c3b1cfd/images/book-understanding-langchain4j.png
--------------------------------------------------------------------------------
/images/langchain4j_logo_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/langchain4j/awesome-langchain4j/3af326d5ac3c7df2bee4ebab730500e60c3b1cfd/images/langchain4j_logo_text.png
--------------------------------------------------------------------------------