A comprehensive hands-on workshop for building and deploying Retrieval Augmented Generation (RAG) applications on IBM POWER Systems (ppc64le architecture).
This repository provides everything you need to deploy a RAG application on IBM POWER Systems, featuring:
- π€ LLM Runtime: llama.cpp with IBM Granite 4.0-H-Tiny model
- ποΈ Vector Database: ChromaDB for efficient document retrieval
- π¨ User Interface: Gradio-based chat interface with IBM theming
- π Knowledge Base: IBM RedBooks content on POWER systems, OpenShift, and Ansible
βββββββββββββββββββ
β Gradio UI β β User queries IBM RedBooks content
β (Port 7860) β
ββββββββββ¬βββββββββ
β
ββββββββββββββββββββ
β β
ββββββββββΌβββββββββ ββββββββΌβββββββββββ
β ChromaDB β β llama.cpp β
β Vector Store β β LLM Server β
β (Port 8000) β β (Port 8080) β
βββββββββββββββββββ βββββββββββββββββββ
.
βββ src/
β βββ app.py # Gradio frontend application
β βββ ibm_theme.py # IBM Design theme for Gradio
β βββ insert_documents.py # Document ingestion script
β βββ db_files/ # Knowledge base documents
β βββ Ansible.md # Ansible automation on POWER
β βββ E1050.md # IBM Power E1050 server
β βββ E1080.md # IBM Power E1080 server
β βββ Openshift.md # Red Hat OpenShift on POWER
β βββ Scale_OUT.md # POWER Scale-Out servers
βββ instructions.md # Detailed deployment guide
βββ LICENSE # Apache 2.0 License
βββ README.md # This file
- IBM POWER system running RHEL 9/10 (ppc64le)
- Root or sudo access
- Internet connectivity for package downloads
Follow the comprehensive step-by-step instructions in instructions.md to:
- Deploy the LLM: Set up llama.cpp with IBM Granite model
- Configure Vector DB: Build and deploy ChromaDB from source
- Launch the UI: Start the Gradio-based chat interface
The complete deployment takes approximately 30-45 minutes.
This workshop demonstrates practical RAG applications for:
- π Technical Documentation Search: Query IBM RedBooks and technical manuals
- π Knowledge Management: Build searchable knowledge bases from markdown documents
- π€ IT Support: Provide AI-assisted answers from internal documentation
- π Training & Education: Interactive learning from technical content