Viindoo AI - Knowledge Retrieval (RAG)
Turn your company's PDFs, web pages, and raw text into a searchable AI memory.
When users ask questions, the AI finds the most relevant passages and answers
with citations - never leaking content the user does not already have permission
to read.
What it does
Attach documents (PDFs, URLs, typed text) to an AI Assistant. The module
automatically splits each document into small text chunks, turns each chunk
into a numerical vector (an "embedding"), and stores it in PostgreSQL.
When an assistant needs to answer a question, it converts the question into a
vector and finds the closest matching chunks using pgvector similarity search.
Results are filtered by the user's Odoo permissions before being returned -
users only ever see passages from records they can already read.
Key Features
- Multi-source ingestion - PDF files, web pages (auto-fetched and
sanitised), and raw typed text. Brain pages and vaults are handled by
viin_ai_brain (installed separately).
- Permission-aware results - semantic search results are pre-filtered by
Odoo record rules and company-level permissions. A user cannot retrieve
content from records they are not allowed to read, even indirectly through
AI answers. See docs/ai/security.md for the full permission model.
- No re-indexing when switching models - stores vectors in multiple
dimension columns (384 / 768 / 1024 / 1536 / 3072) side by side. Switching
an assistant from a small embedding model to a larger one does NOT force a
full re-embedding run - simply enable the new column.
- Smart indexing - pgvector ivfflat indexes are created only when a
column actually holds data, keeping the database light until a model is
used in production.
- Scheduled re-embedding - chunks whose source text has been edited are
detected automatically by content fingerprint and re-vectorised in the
background, so your search stays current.
Supported Editions
- Community Edition
- Enterprise Edition (PostgreSQL 14+ with pgvector extension required)
Requires viin_ai (installed automatically). Auto-installed when the
foundation module is present, so customers do not have to pick it from the
Apps list.
This software and associated files (the "Software") may only be
used
(executed, modified, executed after modifications) if you have
purchased a
valid license from the authors, typically via Odoo Apps,
or if you
have
received a written agreement from the authors of the
Software (see the
COPYRIGHT file).
You may develop Odoo modules that use the Software as a library
(typically
by depending on it, importing it and using its
resources), but
without
copying any source code or material from the
Software. You may distribute
those modules under the license of your
choice, provided that this
license
is compatible with the terms of
the Odoo Proprietary License (For
example:
LGPL, MIT, or proprietary
licenses similar to this one).
It is forbidden to publish, distribute, sublicense, or sell
copies of the
Software or modified copies of the Software.
The above copyright notice and this permission notice must be
included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT
SHALL THE
AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING
FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE
SOFTWARE.