# Implementation Plan - Advanced Vector RAG (Parallel Deployment)

We will build the "Advanced Vector RAG" system as a separate module to compare with the existing "Live Search RAG".

## User Review Required
> [!NOTE]
> **New Menu Item**: "운영자 vertex RAG 챗봇" will be added to the SAM menu.
> **Initial Setup**: You must run `chatbot/rag/ingest.php` once to populate the vector database.

## Proposed Changes

### 1. New UI & Entry Point
#### [MODIFY] [myheader.php](file:///c:/Project/5130/myheader.php)
- Add new menu item: "운영자 vertex RAG 챗봇" linking to `chatbot/rag_index.php`.

#### [NEW] [chatbot/rag_index.php](file:///c:/Project/5130/chatbot/rag_index.php)
- Copied from `index.php`.
- Updated to call `rag_api.php` instead of `api.php`.
- Updated title/branding to indicate "RAG Version".

### 2. Vector Backend
#### [NEW] [chatbot/rag_api.php](file:///c:/Project/5130/chatbot/rag_api.php)
- Copied from `api.php`.
- logic: `NotionClient->search()` replaced with `VectorSearch->search()`.

### 3. Vector Engine (Core Logic)
#### [NEW] [chatbot/rag/ingest.php](file:///c:/Project/5130/chatbot/rag/ingest.php)
- EXTRACT: Fetch all Notion pages.
- EMBED: Generate vectors using Gemini `text-embedding-004`.
- STORE: Save to `chatbot/rag/data/vectors.json`.

#### [NEW] [chatbot/rag/search.php](file:///c:/Project/5130/chatbot/rag/search.php)
- LOAD: Read `vectors.json`.
- SEARCH: Calculate Cosine Similarity between Query Vector and Stored Vectors.
- RETRIEVE: Return top 5 matches.

## Verification Plan
1. **Menu Check**: Verify new menu item appears and leads to the new page.
2. **Ingestion**: Run `ingest.php` (via browser or CLI) and check `vectors.json` size.
3. **Comparison Test**: Ask the same question to both chatbots and compare answers.
