| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Community Apps Dependencies | Show |
| Lines of code | 4881 |
| Technical Name |
llm_knowledge_automation |
| License | LGPL-3 |
| Website | https://github.com/apexive/odoo-llm |
| Versions | 16.0 18.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Community Apps Dependencies | Show |
| Lines of code | 4881 |
| Technical Name |
llm_knowledge_automation |
| License | LGPL-3 |
| Website | https://github.com/apexive/odoo-llm |
| Versions | 16.0 18.0 |
Set It and Forget It
Knowledge Stays Current Automatically
Your AI assistant's knowledge automatically updates when your data changes. No manual sync, no stale information, no outdated answers.
The Stale Knowledge Problem
You update a product price, change a policy, or fix a procedure. But your AI assistant is still telling customers the old information. Manual syncing is tedious and error-prone.
Without Automation
- AI gives outdated answers
- Manual sync required after every change
- Knowledge base falls behind reality
- Team wastes time updating documents
- Customers get wrong information
With Automation
- Knowledge updates automatically
- No manual work required
- AI always has current information
- Team focuses on important work
- Customers get accurate answers
How It Works
Automatic knowledge sync powered by Odoo's automation system
Set Domain Filters
Define which records should be in your knowledge base (e.g., "published products")
Enable Auto-Sync
Turn on automated sync for the collection
Data Changes
Create, update, or delete records in Odoo
Auto-Update
Knowledge base updates automatically - no action needed!
Works While You Sleep
Set it up once, then forget about it. Your AI's knowledge stays current 24/7.
Step-by-Step Setup
Follow these steps to enable automated knowledge sync for your collection
Add Domain Filters
Go to your knowledge collection and navigate to the Domain Filters tab. Click "Add a line" to define which records should be automatically synced to this collection.
What to configure:
- Model: Select the Odoo model (e.g., Journal Entry, Product, Partner)
- Domain: Set filter criteria (e.g., "Match all records" or custom domain)
- Active: Toggle ON to enable this filter
Enable Automated Sync
Navigate to the Automation tab and enable the toggles. The system will automatically create automation rules for each domain filter.
Automation settings:
- Automated Sync: Toggle ON to enable automatic synchronization
- Auto-Process Resources: Toggle ON to automatically run RAG pipeline (parse, chunk, embed)
- Automation Rules: System creates 3 rules per model: On creation, On update, On deletion
You're All Set!
Your knowledge base now updates automatically. Create, update, or delete records - the AI knows immediately. No manual sync needed!
What Happens Behind the Scenes?
When you enable automation, the system creates 3 automated actions for each domain filter:
- On creation: New record created → RAG resource created and added to collection
- On update: Record updated → RAG resource synced; if no longer matches domain, removed from collection
- On deletion: Record deleted → RAG resource removed from collection and cleaned up
What Gets Automated?
Complete lifecycle management for your knowledge base
Auto-Create
When you create a new record (product, article, FAQ), it's automatically added to matching knowledge collections.
Example: Publish a new product → AI knows about it instantly
Auto-Update
Edit a record's content? The knowledge base document updates automatically with the latest information.
Example: Change price from $99 to $79 → AI quotes new price immediately
Auto-Remove
Delete a record or it no longer matches filters? Automatically removed from knowledge base. No orphaned data.
Example: Archive discontinued product → AI stops mentioning it
Real-World Use Cases
How teams use automation to keep AI knowledge current
E-Commerce Product Catalog
Sync published products to AI knowledge automatically. When you update specs, prices, or inventory, your AI support bot knows immediately.
Filter: Products where state = published
Result: Customer asks about Model X → AI has latest price, features, and availability
Policy Documentation
Keep HR policies, procedures, and guidelines in sync. When policies change, employees get accurate answers from the AI assistant immediately.
Filter: Documents where category = policy AND status = active
Result: "What's the remote work policy?" → AI cites current version
Support Ticket Resolutions
Automatically add resolved support tickets to knowledge base. Build a growing library of solutions without manual documentation.
Filter: Tickets where state = solved AND solution_documented = true
Result: Future tickets with same issue → AI suggests proven solution
Multi-Language Content
Sync different language versions automatically. Add Spanish translations of docs, they're immediately available to Spanish-speaking AI users.
Filter: Documents where language = Spanish
Result: Spanish chatbot has translated docs automatically
Powerful Features
Everything you need for automated knowledge management
Domain Filters
Use Odoo's powerful domain syntax to define exactly which records belong in each collection
Auto-Processing
Newly created documents automatically run through the RAG pipeline (parse, chunk, embed)
Multi-Model Support
Sync any Odoo model - products, partners, documents, custom models, anything
Event Triggers
Responds to create, write, and unlink events - covers all data lifecycle changes
Orphan Cleanup
Automatically remove documents that no longer match any collection filters
Easy On/Off
Toggle automation per collection - enable for some, manual control for others
Quick Setup
Get started in 3 steps
Install Dependencies
Requires llm_knowledge and base_automation modules
Install This Module
Search for "LLM Knowledge Automation" in Apps and click Install
Configure Collections
Go to your knowledge collection and:
- Set domain filters (e.g., state = published)
- Enable "Automated Sync"
- Click "Sync Automated Actions"
LLM Knowledge Automation
Set it and forget it - Your AI's knowledge stays automatically updated as your data changes.
Automated knowledge synchronization for Odoo LLM. No manual sync required. Domain filters automatically create, update, and remove documents from knowledge collections when records change. RAG pipeline runs automatically.
Overview
This module extends llm_knowledge with automated synchronization capabilities. Instead of manually syncing records to your knowledge base, you define domain filters once and the system handles everything automatically.
The Problem
Without automation:
- You update a product price → AI still tells customers the old price
- You publish a new FAQ → Need to manually add it to knowledge base
- You archive a document → AI might still reference outdated info
- Team wastes time manually syncing data
The Solution
With automation enabled:
- Create a record → Automatically added to knowledge base
- Update a record → Knowledge base updates in real-time
- Delete a record → Automatically removed from knowledge base
- Zero manual work required
Features
Automated Lifecycle Management
- Auto-Create: New records matching domain filters are automatically added to collections
- Auto-Update: Record changes sync to knowledge base in real-time
- Auto-Remove: Deleted records or records no longer matching filters are removed
- Auto-Process: RAG pipeline (parse → chunk → embed) runs automatically
Flexible Domain Filters
- Use Odoo's powerful domain syntax
- Support for any Odoo model (products, partners, documents, custom models)
- Multiple filters per collection
- Easy enable/disable per filter
Smart Automation Rules
- Automatically creates 3 automation rules per domain filter:
- On creation: Adds new matching records
- On update: Syncs changes and removes non-matching records
- On deletion: Cleans up knowledge base
- Orphan cleanup (removes documents not in any collection)
Installation
Install dependencies:
- llm_knowledge module (required)
- base_automation module (required)
Install this module:
# Via Odoo Apps interface Apps → Search "LLM Knowledge Automation" → Install
Configuration
Step 1: Add Domain Filters
- Go to LLM → Knowledge → Collections
- Open your knowledge collection
- Navigate to the Domain Filters tab
- Click "Add a line"
- Configure:
- Model: Select the Odoo model (e.g., Journal Entry, Product, Partner)
- Domain: Define filter criteria (e.g., [('state', '=', 'published')])
- Active: Toggle ON
Step 2: Enable Automated Sync
- Navigate to the Automation tab
- Enable toggles:
- Automated Sync: ON (enables automatic synchronization)
- Auto-Process Resources: ON (automatically runs RAG pipeline)
- The system automatically creates automation rules
What happens behind the scenes:
When you enable automation, the system creates 3 automated actions for each domain filter:
- On creation: New record created → RAG resource created and added to collection
- On update: Record updated → RAG resource synced; if no longer matches domain, removed from collection
- On deletion: Record deleted → RAG resource removed from collection and cleaned up
Step 3: Done!
Your knowledge base now updates automatically. Create, update, or delete records - the AI knows immediately.
Usage Examples
E-Commerce Product Catalog
Goal: Keep product catalog in sync with knowledge base
Setup:
- Model: product.product
- Domain: [('is_published', '=', True)]
- Automated Sync: ON
Result: When you publish a product, AI knows about it instantly. Update price? AI quotes new price immediately.
Company Policies
Goal: Keep HR policies current in knowledge base
Setup:
- Model: document.page
- Domain: [('category', '=', 'policy'), ('status', '=', 'active')]
- Automated Sync: ON
Result: Update remote work policy → AI cites new version to employees immediately.
Support Ticket Solutions
Goal: Build knowledge base from resolved tickets
Setup:
- Model: helpdesk.ticket
- Domain: [('state', '=', 'solved'), ('solution_documented', '=', True)]
- Automated Sync: ON
Result: Mark ticket as solved → Solution automatically added to knowledge base for future reference.
How It Works
Behind the Scenes
When you enable automation, the system:
- Creates automation rules: 3 rules per domain filter (creation, update, deletion)
- Monitors data changes: Uses Odoo's base_automation system
- Processes matches: When a record matches the domain, creates/updates RAG resource
- Handles non-matches: When a record no longer matches, removes from collection
- Runs RAG pipeline: Automatically parses, chunks, and embeds new content
Example Flow
User creates product "Model X" with state=published
↓
Automation rule: "On creation" triggers
↓
System checks domain filter: [('state', '=', 'published')] → MATCH
↓
Creates llm.resource for "Model X"
↓
Adds to knowledge collection
↓
Auto-processes (parse → chunk → embed)
↓
AI can now answer questions about "Model X"
Technical Details
Automation Rule Format
For each domain filter, the system creates:
# On Creation { 'name': 'RAG: Collection Name - Model Name (On creation)', 'model_id': domain_filter.model_id, 'trigger': 'on_create', 'state': 'llm_update', 'llm_collection_id': collection.id, 'filter_domain': '[]', # No filter on create 'llm_auto_process': True, } # On Update { 'name': 'RAG: Collection Name - Model Name (On update)', 'model_id': domain_filter.model_id, 'trigger': 'on_write', 'state': 'llm_update', 'filter_domain': domain_filter.domain, 'llm_auto_process': True, } # On Deletion { 'name': 'RAG: Collection Name - Model Name (On deletion)', 'model_id': domain_filter.model_id, 'trigger': 'on_unlink', 'state': 'llm_update', 'filter_domain': domain_filter.domain, }
API
Sync automation actions programmatically:
collection = env['llm.knowledge.collection'].browse(collection_id) collection.sync_automated_actions()
Enable automation via code:
collection.write({ 'automated_sync': True, 'auto_process_resources': True, })
Configuration Options
| Field | Description | Default |
|---|---|---|
| automated_sync | Enable automatic synchronization | False |
| auto_process_resources | Auto-run RAG pipeline for new resources | True |
| domain_ids | List of domain filters | [] |
| automation_ids | Generated automation rules (read-only) | [] |
Troubleshooting
Automation not working
- Check domain filter is Active
- Verify Automated Sync is enabled
- Check automation rules were created (Automation tab)
- Test domain filter matches expected records
Resources not processing
- Verify Auto-Process Resources is enabled
- Check RAG pipeline configuration (parser, chunker, embeddings)
- Review system logs for errors
Duplicate resources
- Check if multiple collections have overlapping domains
- Review automation rules for conflicts
- Use "Sync Automated Actions" to rebuild rules
Requirements
- Odoo: 16.0+
- Python: 3.10+
- Dependencies:
- llm_knowledge module
- base_automation module
License
LGPL-3
Contributing
Issues and pull requests welcome at https://github.com/apexive/odoo-llm
Please log in to comment on this module