| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 1262 |
| Technical Name |
niyu_pdf_rag |
| License | LGPL-3 |
| Website | https://niyulabs.com |
| Versions | 16.0 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 1262 |
| Technical Name |
niyu_pdf_rag |
| License | LGPL-3 |
| Website | https://niyulabs.com |
| Versions | 16.0 17.0 18.0 19.0 |
Chat with your PDFs — directly inside Odoo
Index PDFs to Qdrant, embed with OpenAI, and ask natural questions. Answers are grounded in your documents with page-level citations.
💬 Engage in natural conversations, get instant answers from your PDFs.
Beautiful, Integrated UI & Powerful Features
Experience a clean chat interface on the left, grounded answers with page-level citations, and flexible configurations on the right. Every detail crafted for clarity and efficiency.
📃 Verifiable answers with precise title, page, and snippet citations.
⚙️ Fine-tune settings like model, API keys, and chunking parameters.
Seamlessly Intelligent: The Niyu PDF RAG Workflow
From document ingestion to precise answers, understand the powerful steps Niyu PDF RAG takes to deliver accurate, grounded insights.
➀ 1) Upload & Index
PDFs are intelligently split into manageable chunks. Each chunk is then embedded into a vector representation and securely upserted into Qdrant, using stable UUIDs for precise document, page, and chunk identification.
➁ 2) Ask a Question
Your natural language query is embedded into a vector. We then efficiently retrieve the Top-K most relevant vectors from Qdrant, filter them for optimal context, and carefully construct a token-aware prompt for the LLM.
➂ 3) Grounded Answer
OpenAI processes your query strictly based on the provided document context. This ensures answers are factual and directly supported by your PDFs. If information isn't found, the AI transparently replies “I don’t know.”
➃ 4) Citations
Every answer is complemented with clear citations, showing the PDF title, exact page number, and a concise snippet from the source document. This allows for quick and effortless verification of the AI’s response.
Install & Configure: Unlock Your Data in Minutes
Follow these straightforward steps to integrate Niyu PDF RAG into your Odoo instance and start querying your documents.
Requirements & Quickstart
Dependencies:
- Odoo 18 (community or enterprise)
- Python libraries:
qdrant_client,openai,pypdf,tiktoken - Qdrant Cloud cluster & API key
- OpenAI API key
Setup Steps:
# 1) Copy addon into your Odoo custom_addons/ directory. # 2) Install required Python dependencies in your Odoo virtual environment: pip install qdrant_client openai pypdf tiktoken # 3) Update Odoo apps list and install "Niyu PDF RAG" from the Apps menu. # 4) Navigate to Odoo Settings → PDF RAG: - Paste your OpenAI API Key. - Enter your Qdrant Cloud URL. - Paste your Qdrant API Key. - Click 'Save'. # 5) Go to the "PDF RAG" app, open the "Documents" menu: - Upload your desired PDF file(s). - Click the "Index Now" button for each document. # 6) Switch to the "Chat" section within the PDF RAG app and start asking questions!
🔎 Important: Reverse Proxy Configuration (for large PDFs)
To prevent "413 Request Entity Too Large" errors when uploading larger PDF files, adjust your web server (e.g., Nginx) configuration as follows:
# Example for /etc/nginx/sites-available/odoo configuration file: client_max_body_size 100m; proxy_read_timeout 600s; proxy_send_timeout 600s; # After modifying, test and reload Nginx: sudo nginx -t && sudo systemctl reload nginx
This configuration allows for larger file uploads and prevents timeouts during the indexing process.
Your Questions, Answered.
Find quick answers to common queries about Niyu PDF RAG and optimize your experience.
❔ Why do I sometimes get “I don’t know”?
If retrieval returns no meaningful text (e.g., from scanned PDFs without OCR, or if the information isn't present), the assistant will honestly reply. Ensure PDFs are text-searchable or verify your Qdrant collection's content.
⛭ Can I tune token usage and Top-K parameters?
Yes! Navigate to Settings → PDF RAG. You can adjust Top-K (number of vectors to retrieve), Keep Top (best vectors for context), and Answer max tokens. Adjusting these values allows you to fine-tune cost and latency.
🔗 How are points identified in Qdrant?
We use stable UUIDv5 identifiers for each point in Qdrant. These are generated based on a combination of doc_id-page-chunk. This ensures that if you re-index a document, existing chunks for the same location are efficiently overwritten, maintaining data integrity.
Please log in to comment on this module