Applied AI and information retrieval / Research prototype
Mānoa Faculty Senate RAG
Mānoa Faculty Senate RAG is a retrieval and citation prototype for public UH Mānoa Faculty Senate records. The workflow starts with an archive that spans different file types, document conventions, table structures, scans, dates, and metadata quality.
I built Python document-processing and retrieval paths with FastAPI, LanceDB, hybrid lexical and vector search, reranking, source-grounding requirements, and scoped evaluation around citation behaviour.

- Role
- Sole developer
- Focus
- Applied AI and retrieval
- Maturity
- Research prototype
- Access
- Public archive-search interface
- Technologies
- Python
- FastAPI
- LanceDB
- OpenAI API
- Last reviewed
- Aug 2026
The problem
What the project had to handle
The nontrivial part is not only search. The system has to decide which records are relevant, group related material, preserve source context, and avoid turning weak evidence into a confident answer.
It remains a research prototype; the public interface does not establish production readiness or arbitrary-answer reliability.
Key decisions
The shape of the build
Hybrid retrieval and grouping
Lexical matching, vector retrieval, reranking, and family grouping work together instead of relying on one retrieval signal.
That gives heterogeneous archive material more than one path to become discoverable.
Citation safeguards
Answer paths carry deterministic citation and evidence-sufficiency checks before presenting grounded responses.
The system can hold back when retrieved evidence is too thin for the requested answer.
Archive-first interaction
The interface leads with Find Records and keeps Ask mode explicit.
That makes the safer behaviour the default: inspect sources first, then ask for synthesis when appropriate.
How it works
End-to-end flow
Documents are extracted, normalised, chunked with metadata, and indexed for lexical and vector retrieval. Search requests use hybrid retrieval, reranking, and family grouping to return source records; Ask mode adds grounded response construction only when the retrieved evidence passes scoped checks.
Retrieval pipeline
Mānoa Faculty Senate RAG
What I implemented
The working surface
Document pipeline
- Processed PDFs, DOCX files, tables, scans, and historical archive folders.
- Built chunking and metadata policy for retrieval-ready records.
- Added utilities for family metadata refresh and source-context handling.
Retrieval system
- Combined lexical search with LanceDB vector retrieval.
- Added deterministic reranking and related-record grouping.
- Kept archive search available without requiring generated answers.
Grounded answer path
- Implemented citation requirements and evidence-sufficiency checks.
- Added structured date and action-fact handling where source records support it.
- Handled weak retrieval evidence without forcing a generated response.
Validation
Checks and evidence
Public interface observed
The public app and safe operational endpoints were reachable during the latest review.
294 tests passed
The current test suite passes 294 tests for retrieval, response contracts, and supporting code paths, with one dependency warning.
Retrieval and response evaluation
Retrieval and response-contract evaluation covers defined cases.
Reliability remains bounded
The project does not claim arbitrary factual-answer reliability across the full archive.
Current state
Research prototype with a publicly observed archive-search interface.
Deployment and source-link records remain under reconciliation before stronger public status claims.
Find Records remains the default workflow; Ask mode is explicitly scoped.