Things To Implement:
- Hybrid Search (Keyword + Semantic)
- Re-Ranking (Cross-Encoders)
- Parent Document Retrieval (Small-to-Big) (NOT SURE, BUT CHECK IT ONCE)
- Query Expansion / Multi-Query (LLM to generate 3-5 variations of the user's query from different perspectives)
- SAMPLE_PROMPT: "Generate 3 different versions of this search query to help find relevant information. Make them diverse in phrasing"
- Metadata Filtering (Self-Querying) ()
- User: "What were the pricing updates from last month?"
- System: Converts this to: Vector Search: "pricing updates" + Filter: Date > 2023-11-01.