Update README.md
Browse filesMore improvements added
README.md
CHANGED
@@ -82,19 +82,37 @@ The prompt includes a few-shot example, demonstrating how the model should respo
|
|
82 |
Instead of chain.run(), we use chain.invoke({}). This approach can be more flexible and allows for passing parameters in a structured manner if needed later.
|
83 |
|
84 |
## Improvements
|
85 |
-
- Multi-File Support
|
86 |
- Extend the script to handle multiple PDFs at once.
|
87 |
- Aggregate or differentiate embeddings by metadata, ensuring queries can target specific documents or sections.
|
88 |
-
- Model Agnosticism
|
89 |
- Easily switch embeddings or language models.
|
90 |
- Try different Sentence Transformers models or local LLMs like LLaMA or Falcon.
|
91 |
-
-
|
92 |
-
- Add a simple command-line interface or a web UI (e.g., Streamlit or Gradio) for a more user-friendly querying experience.
|
93 |
-
- Caching & Persistence:
|
94 |
- Store FAISS indexes on disk for instant reloads without re-embedding.
|
95 |
- Implement caching of embeddings and query results to speed up repeated queries.
|
96 |
-
- Advanced Prompt Engineering
|
97 |
-
- Experiment with different few-shot examples, system messages, and instructions to improve answer quality and formatting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
99 |
|
100 |
With AskMyPDF, harness the power of LLMs and embeddings to transform your PDFs into a fully interactive, queryable knowledge source.
|
|
|
82 |
Instead of chain.run(), we use chain.invoke({}). This approach can be more flexible and allows for passing parameters in a structured manner if needed later.
|
83 |
|
84 |
## Improvements
|
85 |
+
- **Multi-File Support:**
|
86 |
- Extend the script to handle multiple PDFs at once.
|
87 |
- Aggregate or differentiate embeddings by metadata, ensuring queries can target specific documents or sections.
|
88 |
+
- **Model Agnosticism:**
|
89 |
- Easily switch embeddings or language models.
|
90 |
- Try different Sentence Transformers models or local LLMs like LLaMA or Falcon.
|
91 |
+
- **Caching & Persistence:**
|
|
|
|
|
92 |
- Store FAISS indexes on disk for instant reloads without re-embedding.
|
93 |
- Implement caching of embeddings and query results to speed up repeated queries.
|
94 |
+
- **Advanced Prompt Engineering:**
|
95 |
+
- Experiment with different few-shot examples, chain-of-thought prompting, system messages, and instructions to improve answer quality and formatting.
|
96 |
+
- **Chunking Strategies:**
|
97 |
+
- Implement advanced chunking strategies:
|
98 |
+
- Use semantic chunking to divide text based on meaning or coherence rather than fixed sizes.
|
99 |
+
- Include options for overlapping chunks to improve retrieval precision.
|
100 |
+
- Integrate hierarchical chunking to preserve context across sections (e.g., chapters, headings, subheadings).
|
101 |
+
- **Improved Retrieval Techniques:**
|
102 |
+
- Leverage Approximate Nearest Neighbor (ANN) algorithms to accelerate similarity search.
|
103 |
+
- Integrate with advanced vector databases (e.g., Pinecone, Weaviate, Milvus) for efficient and scalable retrieval.
|
104 |
+
- Use hybrid retrieval models, combining vector similarity with traditional keyword-based retrieval for better query coverage.
|
105 |
+
- **Cross-Encoder Reranker:**
|
106 |
+
- Introduce a cross-encoder reranker to improve the quality of retrieved results:
|
107 |
+
- Apply a fine-tuned cross-encoder model to rerank top candidates from the initial vector search.
|
108 |
+
- Use a pre-trained or task-specific cross-encoder (e.g., models from Hugging Face like cross-encoder/ms-marco-TinyBERT-L-6).
|
109 |
+
- Improve relevance by jointly encoding the query and candidate passages, allowing contextual alignment and a more accurate similarity score.
|
110 |
+
- Dynamically adjust the balance between retrieval speed and reranking quality by tuning the number of top candidates to rerank.
|
111 |
+
- **Graph-Based Retrieval Augmentation:**
|
112 |
+
- Adopt GraphRAG approaches:
|
113 |
+
- Represent documents and queries as nodes in a graph for relational context.
|
114 |
+
- Use graph-based algorithms to enhance retrieval by modeling relationships (e.g., citations, semantic links).
|
115 |
+
- Introduce parent document retrievers that prioritize and rank content based on its originating document or source reliability.
|
116 |
|
117 |
|
118 |
With AskMyPDF, harness the power of LLMs and embeddings to transform your PDFs into a fully interactive, queryable knowledge source.
|