Building Your Own Private GenAI Chatbot with Java Tools - A Step-by-Step Adventure

Track: Artificial Intelligence
Abstract
In today's software development world, there are several Machine Learning (ML) tools that empower developers to create specific chatbots that cater to various needs. These chatbots harness the capabilities of Large Language Models (LLMs) trained on confidential, private document sets on your local machine or enterprise data repositories. They enable you to interact and engage with these document sets, from summarizing emails and meeting notes to gauging sentiment, extracting dates and names from websites, pre-screening resumes, and performing many other tasks.

But most of these systems are Python-based. While Python serves as a formidable language for ML, many software developers find themselves operating within the Java ecosystem, especially within large organizations that prioritize Java for robust and reliable production deployments. This presentation focuses on Java-centric tools to construct tuned assistant systems using the retrieval-augmented generation (RAG) technique.

Quick Overview of Neural Networks, Weights, and Embeddings
Exploring the Current State of LLMs
Implementing Prompts and Completions via a Java API to ChatGPT
Understanding Prompt Structure and Prompt Engineering Techniques
Learn about Instruction-Tuning and Fine-Tuning Techniques
Navigating Vector Databases and Embeddings with Java
Crafting a Private Chatbot Architecture
Demo
Frank Greco
Frank is a senior technology consultant and enterprise architect working on cloud and AI/ML tools for developers. He is a Java Champion, Chairman of the NYJavaSIG (first JUG ever), and runs the International Machine Learning for the Enterprise conference in Europe. Co-author of JSR 381 Visual Recognition for Java API standard and strong advocate for Java and Machine Learning. Member of the NullPointers. #STEAMnotSTEM