Washington State University · HackerEarth · Spring 2025

Knowledge Graph RAG Assistant

A senior capstone that combined semantic retrieval, structured knowledge-graph context, and an LLM response layer in one question-answering pipeline.

Built by Molly Iverson, Ethan Villalovoz, Chandler Juego, and Adam Shtrikman.

The maintained public release uses a deterministic fixture so the retrieval trace can be inspected without credentials or large local artifacts.
10,000
Wikipedia articles indexed
7.615 s
Measured average response
4
Student engineers

The project

HackerEarth asked the team to explore whether dense retrieval and a knowledge graph could supply complementary context to a retrieval-augmented generation system. We built a React and FastAPI application that routed a question through language processing, DBpedia lookups, FAISS search, and answer synthesis.

The retrieval corpus combined 10,000 Wikipedia articles with custom class-note PDFs. The final handoff included Docker and Docker Compose configuration, automated tests, GitHub Actions, and system documentation.

What I built

My contribution centered on retrieval: I implemented text embeddings with SentenceTransformers, built the FAISS vector-search path, and contributed to the documentation used for delivery and maintenance.

The maintained public fork now packages a deterministic demo path and an evidence-forward interface, making the architecture reviewable even when the original API credentials and multi-gigabyte corpus are absent.

System design

The chat handler coordinated two retrieval branches. The knowledge-graph handler queried structured entity relationships, while the vector-search handler embedded the question and retrieved semantically similar passages. Their context converged at the language-model handler for final response generation.

Component diagram connecting the React interface to chat, NLP, knowledge-graph, vector-search, embeddings, PDF, dataset, and LLM handlers
System architecture from the team's final report.

Measured performance

An early end-to-end query took roughly 45 seconds. A model change and pipeline optimizations brought observed responses into the 6–8 second range, with vector search remaining the dominant cost in the final measurement.

Average of three runs for “Who is Alan Turing?”
StageAverage
Natural-language processing33.40 ms
Knowledge graph1,367.73 ms
Vector search4,133.53 ms
Language model2,079.70 ms
End to end7,615.07 ms

Original prototype

The submitted capstone used a compact chat interface focused on the generated answer. The maintained demo at the top of this page is a later presentation layer that exposes the retrieval trace and source context without changing the project's underlying story.

Original RAG capstone chat interface answering a question about Albert Einstein
Original interface recorded in the final report.

Limitations

  • Response relevance was assessed primarily through manual and client testing rather than a formal retrieval benchmark.
  • Entity extraction was less reliable for complex questions involving multiple entities or relationships.
  • The complete system depended on DBpedia, an LLM API, and local corpus artifacts that are not bundled with the public repository.
  • A 7.6-second average response remained noticeable for an interactive assistant and left room for retrieval and caching work.

Project record

Client partner
Vikas Aditya, HackerEarth
Faculty mentor
Parteek Kumar
Delivery
Docker, Docker Compose, PyTest, and GitHub Actions