Downloads · 30 days
0
Captivea-india123/Captivea-odoo
Captivea-odoo is a machine learning model from Captivea-india123. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
This project fine-tunes a small open-source LLM on Odoo-related text (docs, tickets, code notes, whatever you provide) and pushes the result to your Hugging Face repo captiveaodoo.
Downloads · 30 days
0
Access
Public
Updated Sep 15, 2026
Repo size
819 MB
Likes
0
Public
Click a slice to open those files.
.safetensors162 MB · 93%
From the Hugging Face model README
This project fine-tunes a small open-source LLM on Odoo-related text (docs,
tickets, code notes, whatever you provide) and pushes the result to your
Hugging Face repo captivea_odoo.
A single fine-tuned LLM does not natively do PDF parsing, text generation, AND image generation. Those are three different jobs:
| Need | What actually handles it |
|---|---|
| Text generation (Odoo Q&A, docs, summaries) | This fine-tuned LLM |
| PDF understanding | A PDF text-extraction step (pypdf) feeding text into the LLM, or a RAG pipeline — not a fine-tuning concern |
| Image generation | A separate image model (e.g. Stable Diffusion / FLUX) called alongside the LLM — LLMs don't generate pixels |
This project builds the text generation piece properly. The
prepare_data.py script also lets you feed in PDFs as training source
material (extracting their text), but that's different from the model
being able to "read PDFs" at inference time — for that you want a RAG setup
(see the note at the bottom of this file).
Run this on a machine with a GPU (a Colab notebook with a T4/A100, or any cloud GPU box — this will not run fine-tuning on CPU in reasonable time).
pip install -r requirements.txt
huggingface-cli login --token $HF_TOKEN
Drop your source material into data/raw/:
.txt or .md files — Odoo documentation, internal wiki exports, etc..pdf files — manuals, SOPs (text will be extracted automatically).jsonl — if you already have instruction/response pairs, format:
{"instruction": "How do I create a new sales order in Odoo?", "response": "Go to Sales > Orders > New..."}
Then run:
python prepare_data.py
This produces data/train.jsonl in instruction/response format, ready for
fine-tuning. Review it before training — model quality depends entirely on
this data being clean and accurate.
python train.py --base_model Qwen/Qwen2.5-1.5B-Instruct --output_dir ./captivea_odoo_lora
Defaults to Qwen2.5-1.5B-Instruct because it's small enough to fine-tune
on a single free-tier Colab GPU. For better quality with more GPU budget,
swap in mistralai/Mistral-7B-Instruct-v0.3 or meta-llama/Llama-3.1-8B-Instruct
(both gated — you'll need to accept their license on Hugging Face first).
This uses LoRA (via peft), so it trains a small adapter rather than the
full model — much cheaper, and the adapter can be merged into the base
model or kept separate.
captivea_odoo Hugging Face repoTraining already pushes automatically at the end (see train.py), or push
manually:
python -c "
from huggingface_hub import HfApi
api = HfApi()
api.upload_folder(
folder_path='./captivea_odoo_lora',
repo_id='yatri-modi/captivea_odoo', # replace with your actual username/repo
repo_type='model'
)
"
python inference.py --prompt "How do I set up a multi-warehouse routing in Odoo?"
sentence-transformers →
store in a vector store like chromadb → retrieve relevant chunks →
feed them into this model's prompt as context). Say the word and I'll
write that pipeline too — it's a separate, smaller project.diffusers, or an API) as its own step, triggered whenever the user asks
for a diagram/image. It isn't something this LLM fine-tune adds.