PepperAG
Dieses Projekt befähigt den Roboter "Pepper" Auskünfte über die FAU und deren Studiengänge bereitzustellen.
Frontend
The frontend is an Android app written in Kotlin, featuring a QA page and a settings page. Questions and answers can be initialized by connecting the app to the PepperAgentBackend (running the main.py file and enabling the websocket connection in the settings page). When developing the app in Android Studio, you'll need to forward the port using adb forward tcp:8765 tcp:8765
. To generate topic-specific QA graphs, the robot and the Python host need to be on the same network temporarily. The generated graphs are stored persistently on Pepper for autonomous operation.
Backend
The backend is a Python script that processes FAU-related documents through an LLM pipeline to create a knowledge base. The results are stored in a vector database for efficient retrieval. When adding documents to the knowledge base, run main.py --preload
to process them and update the vector database. Run main.py --websocket_as_input
to start the websocket server which enables users to generate topic-specific QA graphs through the app's interface. These graphs are then stored persistently on Pepper.
Get Started
- Navigate to the desired project location
- Clone the repository:
git clone https://gitlab.cs.fau.de/so47dyxa/PepperAG.git
- Setup an Ollama docker container:
sudo docker run --gpus=all -d --name ollama --restart always -p 11434:11434 -v ollama-data:/root/.ollama ollama/ollama:latest
- Install the latest Python 3 from https://www.python.org/downloads/
- Move into the backend directory:
cd ./backend_directory
- Rename the environment file:
mv .env.example .env
- Install the Python dependencies:
pip3 install -r requirements.txt
- Initialize the vector database:
python3 main.py --preload
- Start the websocket server to enable QA graph generation:
python3 main.py --websocket_as_input
Additional Requirements
Backend
pip install -r PepperAgentBackend/requirements.txt
- A reachable Ollama instance (configure URL in PepperAgentBackend/.env)
Frontend
- Android Studio (development only)
- Pepper robot
- Network connection (only for QA graph generation)