As a Java Developer Advocate at JetBrains, I frequently demonstrate IntelliJ IDEA features through videos and articles. To do this, I usually create small demo applications focused on specific features. While this works well initially, the number of such applications grows quickly. Soon, it becomes difficult to remember which app was built for what purpose, turning it into a maintenance headache.

You Can Code Offline With Local AI(Ollama)
ChatGPT and other Generative AI tools took the world by a storm. People are using these AI tools for various purposes such as to explore a topic, to seek answers to their questions or to get help in coding, etc. ChatGPT and Google’s Gemini are very popular AI tools that are available for free with some usage limitations.

Spring AI RAG using Embedding Models and Vector Databases
In this article, we will explore the following:
- Introduction to Embedding Models.
- Loading data using DocumentReaders.
- Storing embeddings in VectorStores.
- Implementing RAG (Retrieval-Augmented Generation), a.k.a. Prompt Stuffing.
Let’s get started.

Getting Started with Spring AI and Open AI
In this article, we will explore the following:
- Introduction to Spring AI.
- Interacting with Open AI using Spring AI.
- Using PromptTemplates.
- Using OutputConverters.
Let’s get started.

LangChain4j Retrieval-Augmented Generation (RAG) Tutorial
In this article, we will explore the following:
- Understand the need for Retrieval-Augmented Generation (RAG).
- Understand EmbeddingModel, EmbeddingStore, DocumentLoaders, EmbeddingStoreIngestor.
- Working with different EmbeddingModels and EmbeddingStores.
- Ingesting data into EmbeddingStore.
- Querying LLMs with data from EmbeddingStore.
Let’s get started.

LangChain4j AiServices Tutorial
In this article, we will explore the following:
- Using LangChain4j AiServices to interact with LLMs.
- How to ask questions and map responses to different formats?
- Summarizing the given text in different formats.
- Analyzing the sentiment of the given text.
Let’s get started.

Generative AI Conversations using LangChain4j ChatMemory
In this article, we will explore the following:
- How to use LangChain4j ChatMemory and ConversationalChain to implement conversation style interaction?
- How to ask questions using PromptTemplate?
In the previous article, we have seen how to interact with OpenAI using Java and LangChain4j.
Let’s get started.

Getting Started with Generative AI using Java, LangChain4j, OpenAI and Ollama
In this article, we will explore the following:
- Brief introduction to Generative AI?
- How to interact with Open AI APIs using Java?
- How to use LangChain4j to interact with OpenAI?
- How to run a LLM model locally using Ollama?
- Working with Ollama using LangChain4j and Testcontainers.
Let’s get started.

Should you use Lombok? Or, is it bad for you?
I’m a happy Lombok library user. I found this library a decade ago, and I’ve been using it ever since. I don’t remember facing any major problems with it so far.
However, I see a few people that I greatly admire and learn from often complain that Lombok is very bad, and you should avoid it. Obviously, I am curious to know what am I missing? I know a couple of scenarios where using Lombok brings some challenges. Apart from it, I really enjoy using the Lombok library.

Announcing My "SpringBoot - The Missing Guide" Video Series on YouTube
TLDR;
I am happy to announce that I am starting the SpringBoot - The Missing Guide video series on my SivaLabs YouTube Channel. This SpringBoot - The Missing Guide video series is for those who need help understanding SpringBoot’s magic. In this series, I will explain the core concepts used in Spring and SpringBoot with practical examples.