jPilot is yet another Java GenAI chatbot. Based on Minipilot (developed in Python with Flask, OpenAI and LangChain), jPilot is a demo written in Java with OpenAI, LangChain4J, ThymeLeaf and JQuery.
From the browser UI you will be able to:
- Load CSV data, split, embed, store and index in Redis
- Customize the system and user prompt based on the type of chatbot running (based on the ingested and indexed data)
- Use semantic caching, with a UI panel to review, edit and remove entries
- Load and ingest multiple CSV files and create the corresponding indexes. However, only one index at time is used using the Redis aliasing mechanism
- Application logs are appended to a Redis stream, to review the latest logs directly from the UI
export OPENAI_API_KEY=...
export JPILOT_ASSETS=./assets
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-22.jdk/Contents/Home/"
git clone https://github.com/mortensi/jpilot
cd jpilot
mvn clean install
mvn package
mvn exec:java -Dexec.mainClass=com.redis.jpilot.JpilotApplication