This project leverages the power of Large Language Models (LLMs) in a Jakarta EE and MicroProfile-based application, utilizing LangChain4j for seamless integration. Originally inspired and adapted from LangChain4j examples, this repository has been extended to serve as a workshop for deploying and running the application in a Google Cloud Environment.
The application demonstrates how to build, secure, and deploy an LLM-powered application using Jakarta EE, MicroProfile, and LangChain4j. It is designed as a workshop with 8 comprehensive steps, guiding through everything from setting up the local environment to deploying the application in Google Kubernetes Engine (GKE) and Google Cloud Run.
- Setting up your local development environment for Jakarta EE and MicroProfile.
- Integrating LangChain4j for leveraging Large Language Models in your application.
- Containerizing your application with Docker.
- Implementing security best practices for your application.
- Deploying your application to Google Kubernetes Engine (GKE).
- Deploying your application to Google Cloud Run.
- Managing and scaling your application in a cloud environment.
Before you begin, ensure you have the following installed:
- JDK 17 or later
- Maven
- Docker
- Google Cloud SDK
-
Clone the Repository
Clone this repository to your local machine using the following command:
git clone [email protected]:aboullaite/devnexus-workshop.git
-
Local Environment Setup
Refer to STEP1.md
in the workshop
directory for instructions on setting up your local development environment.
The deployment process is broken down into several steps, each detailed in the corresponding markdown file within the workshop
directory.
- Step 1: Setting up google cloud environment
- Step 2: Deploying teh app locally
- Step 3: Application Containerization
- Step 4: Deploy the application to Kubernetes
- Step 5: Securing the app
- Step 6: Production Ready application on Kubernetes
- Step 7: Deploying the app to cloud run
- Step 8: Using Gemini
Please follow the steps in sequential order to ensure a smooth deployment process.
We welcome contributions! Please feel free to open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
- Thanks to the LangChain4j project for the initial codebase.
- This workshop was created as part of the DevNexus 2024 conference.
For support, please open an issue in the GitHub repository or contact the maintainers directly.