Skip to content
Snippets Groups Projects
user avatar
Steffen Probst authored
f65220d8
History

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

  1. Navigate to the desired project location
  2. Clone the repository:
    git clone https://gitlab.cs.fau.de/so47dyxa/PepperAG.git
  3. 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
  4. Install the latest Python 3 from https://www.python.org/downloads/
  5. Move into the backend directory:
    cd ./backend_directory
  6. Rename the environment file:
    mv .env.example .env
  7. Install the Python dependencies:
    pip3 install -r requirements.txt
  8. Initialize the vector database:
    python3 main.py --preload
  9. 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)