| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Community Apps Dependencies | Show |
| Lines of code | 4854 |
| Technical Name |
llm_chroma |
| 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 | 4854 |
| Technical Name |
llm_chroma |
| License | LGPL-3 |
| Website | https://github.com/apexive/odoo-llm |
| Versions | 16.0 18.0 |
LLM Chroma
Vector store integration with Chroma for LLM features.
Connect Odoo to ChromaDB for powerful vector storage and search
What is ChromaDB?
An open-source vector database for AI applications
ChromaDB is a popular open-source embedding database designed specifically for AI applications. This module connects Odoo to a Chroma server via HTTP, enabling vector storage and similarity search capabilities for your knowledge base and AI assistants.
Features
Powerful vector capabilities for Odoo
Chroma Integration
Native integration with ChromaDB for storing and managing vector embeddings.
HTTP Client Connection
Connect to your Chroma server over HTTP for flexible deployment options.
Collection Management
Manage vector collections for organizing different types of embeddings.
Vector Search
Perform similarity searches with various similarity functions supported by Chroma.
Technical Details
Requirements and dependencies
Module Information
llm, llm_knowledge, llm_store
chromadb-client, numpy
Technical
LGPL-3
Chroma Provider for Odoo LLM
Development-friendly vector store for prototyping and lightweight use.
Module Type: 🗄️ Vector Store (Development Friendly)
Architecture
┌───────────────────────────────────────────────────────────────┐
│ Used By (RAG Modules) │
│ ┌───────────────┐ ┌───────────────┐ │
│ │ llm_knowledge │ │llm_assistant │ │
│ │ (RAG) │ │ (with RAG) │ │
│ └───────┬───────┘ └───────┬───────┘ │
└────────────────┼───────────────────────────┼─────────────────┘
└─────────────┬─────────────┘
▼
┌───────────────────────────────────────────┐
│ llm_store │
│ (Vector Store API) │
└─────────────────────┬─────────────────────┘
│
▼
┌───────────────────────────────────────────┐
│ ★ llm_chroma (This Module) ★ │
│ Chroma Implementation │
│ 🌈 Easy Setup │ HTTP API │ Development │
└─────────────────────┬─────────────────────┘
│
▼
┌───────────────────────────────────────────┐
│ Chroma Server │
│ (localhost:8000) │
└───────────────────────────────────────────┘
Installation
What to Install
For development RAG:
# 1. Start Chroma server docker run -p 8000:8000 chromadb/chroma:1.0.0 # 2. Install Python dependencies pip install chromadb-client numpy # 3. Install the Odoo module odoo-bin -d your_db -i llm_knowledge,llm_chroma
Auto-Installed Dependencies
- llm (core infrastructure)
- llm_store (vector store abstraction)
Why Choose Chroma?
| Feature | Chroma |
|---|---|
| Setup | 🚀 Very easy |
| Development | 🛠️ Great for prototyping |
| API | 📡 Simple HTTP API |
| Cost | 💰 Free & open source |
Vector Store Comparison
| Feature | llm_pgvector | llm_qdrant | llm_chroma |
|---|---|---|---|
| Server | 🐘 PostgreSQL | 🔷 Qdrant | 🌈 Chroma |
| Setup | Easy | Moderate | Easy |
| Scale | Medium | High | Medium |
| Best For | Simple RAG | Large scale | Development |
Common Setups
| I want to... | Install |
|---|---|
| Development RAG | llm_knowledge + llm_chroma |
| Chat + RAG (dev) | llm_assistant + llm_openai + llm_knowledge + llm_chroma |
Features
- Chroma HTTP Client: Connect to a Chroma server with optional SSL and API key support
- Collection Management: Create, list, delete, and verify collections directly from Odoo
- Vector Operations: Insert, delete, and search vectors with metadata
- Filter Conversion: Translate Odoo filter formats into Chroma where conditions
Configuration
In LLM > Configuration > Vector Stores, create or edit a store:
- Service: chroma
- Connection URI: e.g., http://localhost:8000
- API Key (optional)
Ensure your Chroma Docker image matches the client version:
image: chromadb/chroma:1.0.0
Usage
Once configured, use the llm.store methods:
# Create a new collection store.chroma_create_collection(collection_id) # Insert embeddings store.chroma_insert_vectors(collection_id, vectors, metadata=list_of_dicts, ids=list_of_ids) # Query by embedding or text results = store.chroma_search_vectors(collection_id, query_vector, limit=10)
Troubleshooting
KeyError: '_type'
Symptom: A KeyError: '_type' when calling client.create_collection(...).
Cause: Chroma server expects a _type discriminator in the JSON configuration payload but didn't receive one, often due to a client/server version mismatch.
Solutions:
Pin matching versions:
pip install chromadb-client==1.0.0 docker pull chromadb/chroma:1.0.0
Explicitly supply configuration in code.
Technical Specifications
- Version: 18.0.1.0.0
- License: LGPL-3
- Dependencies: llm, llm_store
- Python Packages: chromadb-client, numpy
License
LGPL-3
© 2025 Apexive Solutions LLC
Please log in to comment on this module