Understanding the core concept of the project

a knowledge graph built on top of TiDB Vector for efficient information retrieval and question answering. Sub-Topics:

Graph Construction

How the KG is built from different sources (websites, documents, etc.) and structured for efficient querying.

Framework

The implementation of LlamaIndex and DSPy, which power the RAG system.

Models

The different embedding models used to represent textual content as vectors for efficient search and similarity matching.

Parsers and Postprocessors

How nodes are parsed from different sources and post-processed for optimal representation within the KG.

Backend Architecture

Reason: Understanding the infrastructure of the system, including how components interact and handle requests. Sub-Topics:

Design

Analyzing RESTful APIs for data access, user interactions, and system management.

Modeling

Examining the database schema, especially for storing chat history, vector data, JSON objects, and analytical data.

and Authorization

Exploring the system’s security mechanisms and user management.

Management

Learning about how tasks like document processing and KG updates are queued and executed.

Conversational Search Engine

Reason: Understanding the user interface and how it interacts with the backend to deliver search results. Sub-Topics:

Input Processing

Analyzing how user queries are parsed and transformed into search queries.

Ranking and Retrieval

Understanding the logic behind ranking search results based on relevance and contextual cues.

History

How the chat history is stored and utilized for providing contextual responses.

Engine

Analyzing the implementation of the interactive chat interface and its integration with the RAG system.

Frontend Development

Reason: Understanding how the user interface is built and how it interacts with the backend. Sub-Topics:

Choice

Understanding the use of Next.js and its impact on front-end development.

Architecture

Exploring the structure of the front-end codebase using components for modularity and reusability.

Library

Analyzing the use of UI libraries like Shadcn/ui for creating visually appealing and interactive elements.

Management

Understanding how the front-end application manages data and state transitions.