Data & (Gen)AIData & (Gen)AI
Hands-on Lab (3h)180min
BEGINNER

Build your own enterprise ChatGPT with Open Source

The workshop will guide participants on using AI technologies, specifically large language models (LLMs), in applications. It will include creating a chatbot, implementing the Retrieval Augmented Generation pattern, and deploying the application to the cloud. Participants will gain knowledge on language models, prompt engineering, and optimization strategies for quality, cost, and size. By the end, they'll know how to create a knowledge base, a functional chatbot, and deploy them in the cloud.

Sandra Ahlgrimm
Sandra AhlgrimmMicrosoft
Antonio Goncalves
Antonio GoncalvesMicrosoft
Julien Dubois
Julien DuboisMicrosoft

talkDetail.whenAndWhere

Tuesday, October 8, 09:30-12:30
BOF 1
talks.description
AI technologies, and particularly large language models (LLMs), have been popping up like mushrooms lately. But how can you use them in your applications? In this workshop, we will use a chatbot to interact with GPT-4 and implement the Retrieval Augmented Generation (RAG) pattern. Using a vector database, the model will be able to answer questions in natural language and generate complete, sourced responses from your own documents. To do this, we will create a Quarkus service based on the Open Source LangChain4J and ChatBootAI frameworks to test our chatbot. Finally, we will deploy everything to the Cloud. After a short introduction to language models (operations and limitations), and prompt engineering, you will:- Create a knowledge base: local HuggingFace LLMs, embeddings, a vector database, and semantic search- Use LangChain4J to implement the RAG (Retrieval Augmented Generation) pattern- Create a Quarkus API to interact with the LLM: OpenAI / AzureOpenAI- Use ChatBootAI to interact with the Quarkus API- Improve performance thanks to prompt engineering- Containerize the application- Deploy the containerized application to the Cloud- Tweak your RAG integration- Optimize for quality, cost or size At the end of the workshop, you will have a clearer understanding of large language models and how they work, as well as ideas for using them in your applications. You will also know how to create a functional knowledge base and chatbot, and how to deploy them in the cloud.
Large Language Models
Cloud Deployment
AI Technologies
Chatbot
talks.speakers
Sandra Ahlgrimm

Sandra Ahlgrimm

Microsoft

Germany

Sandra Ahlgrimm is a Senior Cloud Advocate at Microsoft, specializing in supporting Java Developers. With over a decade of experience as a Java developer, she brings a wealth of knowledge to her role. Sandra is passionate about containers and has recently learned to love AI.
Antonio Goncalves

Antonio Goncalves

Microsoft

France

Antonio Goncalves is a senior developer living in Paris. He evolved in the Java EE landscape for a while and then moved on to Spring, Micronaut, Quarkus and now Intelligent Applications. From distributed systems to microservices and cloud, today he helps his customers to develop the architecture that suits them the best.
Aside from working with customers, Antonio wrote a few books (Java EE and Quarkus), talks at international conferences (Devoxx, JavaOne, GeeCon…), writes technical papers and articles, gives on-line courses (PluralSight, Udemy) and co-presents the Technical French pod cast Les Cast Codeurs. He has co-created the Paris JUG, Voxxed Microservices and Devoxx France.
For all his work for the community he has been made Java Champion a few years ago.
Julien Dubois

Julien Dubois

Microsoft

France

Julien Dubois manages the Java Developer Relations team at Microsoft.
He is known as the creator and lead developer of the JHipster project, and as a Java Champion. In the past 25 years, Julien mainly worked with the Java and Spring technologies, leading technical teams for many different customers across all industries. As he loves sharing his passion, Julien wrote a book on the Spring Framework, spoke at more than 200 international conferences, and created several popular Open Source projects.
comments.title

comments.speakerNotEnabledComments