Skip to content

Campus RAG Assistant

CI License Python Node FastAPI LangGraph RAGAS

Production-style enterprise RAG platform for governed campus knowledge.

Campus RAG Assistant demonstrates how institutional knowledge can be served through a measurable, observable, citation-first RAG platform. It combines a Vue product UI, FastAPI backend, AWS / Azure / mock provider boundaries, LangGraph orchestration, RAGAS evaluation, LangSmith traces, CI/CD, load testing, and operational hardening docs.

Portfolio focus: Lead AI Engineering and AI Platform Architecture.

Review model

This project is evaluated through source code, architecture docs, screenshots, evaluation results, and operational artifacts. It is not presented as a hosted public product.

View source on GitHub ->

Structured KB answer with session history

Start here

If you are... Read
Short on time Reviewer Guide
Evaluating ownership and judgment Case Study
Reviewing architecture Architecture + Design Notes
Reviewing AI quality Evaluation + Baseline
Reviewing production maturity CI/CD + Operations + Security

Senior engineering signals

Area Signal
Platform architecture Provider registry isolates AWS, Azure, and mock execution modes
RAG orchestration LangGraph exposes retrieval stages for tuning and traceability
Evaluation RAGAS baseline is documented honestly, with gates used as release controls
Observability LangSmith spans, Prometheus metrics, request IDs, structured logs
Product judgment KB-first answers, cited sources, opt-in web research, visible disclaimer
CI safety Mock providers allow tests without cloud credentials

What this shows

Layer What is demonstrated
Product Governed KB-first chat, cited sources, opt-in web research, feedback loop, and campus-ready UX
RAG engineering LangGraph retrieval stages, multi-query retrieval, rerank hooks, fallback chain streaming, and explicit source contracts
Platform architecture AWS/Azure/mock provider registry, tenant config, feature flags, Alembic migrations, and CI-safe local mode
Evaluation RAGAS golden-set regression harness, documented Phase 5 baseline, and LangSmith traces for KB/web paths
Operations GitHub Actions, gitleaks, dependency review, Prometheus metrics, k6 load tests, release docs, and runbooks

Quality baseline

The project includes a RAGAS golden-set harness and a documented baseline. Phase 5 retrieval tuning improved AWS context recall to 0.800, passing the retrieval coverage gate. Context precision remains the main improvement target; next work focuses on ingestion/chunking and rerank tuning.

This is intentionally presented as an engineering baseline, not a marketing claim. Strict RAGAS gates are release controls, not blockers for local demo or ordinary PR CI.

Read more: Evaluation approach and baseline scores.

Architecture

flowchart LR
  VueSPA["Vue 3 SPA"] --> FastAPI["FastAPI"]
  FastAPI --> LangGraph["LangGraph RAG"]
  LangGraph --> Providers["Provider Registry"]
  Providers --> BedrockKB["AWS Bedrock KB"]
  Providers --> AzureAI["Azure AI Search"]
  FastAPI --> Postgres[("Postgres")]
  FastAPI --> Prometheus["Prometheus"]
  LangGraph --> LangSmith["LangSmith"]
  LangGraph --> RAGAS["RAGAS eval"]

Design detail: Architecture and Design Notes.

Documentation

Visitor Best entry point
New here This page
Hiring / portfolio reviewer Case Study
Architecture reviewer Architecture, Design Notes, ADRs
Evaluation reviewer Evaluation Approach, Evaluation Baseline
Operations reviewer Operations, CI/CD, Release, Security
Product demo reviewer Screenshots and demo script
Roadmap reviewer Product Roadmap

Screenshots

Knowledge-base answer

Structured KB answer with session history

Source transparency

Source transparency — KB articles with scores

Opt-in web research

Web mode answer with disclaimer banner

LangSmith trace

LangSmith trace — KB path

More assets: screenshots catalog.

Stack

Layer Technologies
Backend FastAPI, SQLAlchemy, Alembic, JWT auth, rate limiting, Prometheus metrics
Frontend Vue 3, TypeScript, Pinia, Tailwind, Vitest, Playwright
RAG orchestration LangGraph (RAG_ENGINE=langgraph) or LangChain ConversationalRetrievalChain (RAG_ENGINE=chain)
Retrieval Bedrock KB / OpenSearch Serverless, Azure AI Search, multi-query + RRF, optional rerank
LLM AWS Bedrock, Azure OpenAI, or mock provider
Web search Mock or Tavily behind research_mode=web
Eval RAGAS golden dataset, tox -e eval, LangSmith traces
CI/CD GitHub Actions, tox, gitleaks, dependency review, optional EB deploy

Feature availability

Configuration What works
No cloud keys (RAG_FORCE_MOCK=true) Register/login, chat UX, streaming path, source panel, feedback, local tests
AWS Bedrock KB Managed KB retrieval, Bedrock generation, LangGraph retrieval stages, LangSmith trace capture
Azure OpenAI + AI Search Azure provider path with vector/keyword/hybrid retrieval and cited answers
Web research enabled Per-message web mode with disclaimer UI and WEB-labeled sources (mock or Tavily)
OAuth configured GitHub OAuth handoff to Vue; Google-ready provider config
Eval keys available RAGAS golden-set runs, release quality gates, LangSmith trace inspection

Getting started

python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# set RAG_FORCE_MOCK=true, LLM_PROVIDER=mock, RETRIEVER_PROVIDER=mock
createdb chatbot_dev
alembic upgrade head
./scripts/run-backend-venv.sh          # http://127.0.0.1:8000
./scripts/run-frontend-vue.sh          # http://127.0.0.1:5173

Register a user and start a chat. Responses use the mock provider unless you configure live AWS/Azure providers.

Review artifacts

Artifact Status
Source code Implemented
Vue product UI screenshots Included
Local mock execution path Implemented
AWS Bedrock KB path Implemented
Azure AI Search / OpenAI path Implemented
RAGAS baseline Documented
LangSmith traces Captured in screenshots
Public hosted product Not claimed
Official campus deployment Not claimed

Origin and Scope

This repository builds from the public ets-berkeley-edu/chabot codebase and substantially extends it as an independent portfolio and educational project. The work here focuses on the AI platform surface: Vue product UI, provider abstraction, LangGraph orchestration, RAGAS evaluation, LangSmith observability, CI/CD, load testing, and operational documentation. It is not an official UC Berkeley or UC product.

See Notice for attribution details.

License

Software in this repository is licensed under the Regents of the University of California terms. See Notice for attribution details. Commercial use requires an agreement with UC OTL.