Instructions to use ryanfrancis/smart-catalog-bot with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use ryanfrancis/smart-catalog-bot with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("TinyLlama/TinyLlama-1.1B-Chat-v1.0") model = PeftModel.from_pretrained(base_model, "ryanfrancis/smart-catalog-bot") - Notebooks
- Google Colab
- Kaggle
| tags: | |
| - text-generation | |
| - peft | |
| - lora | |
| - e-commerce | |
| - tinyllama | |
| widget: | |
| - text: "Product Description: A sleek, stainless steel smart watch with heart rate tracking and a breathable silicone strap, perfect for outdoor runners.\nTags:" | |
| example_title: "Smart Watch" | |
| - text: "Product Description: A heavy-duty, waterproof winter coat with a faux-fur lined hood and deep pockets for snowboarding.\nTags:" | |
| example_title: "Winter Coat" | |
| # π€ Smart Catalog Bot: E-Commerce Tagging Assistant | |
| ## π Overview | |
| This is a fine-tuned LoRA adapter for `TinyLlama/TinyLlama-1.1B-Chat-v1.0`. It has been specifically instruction-tuned to act as an automated, highly structured parser for e-commerce product catalogs. | |
| Standard open-source Large Language Models often hallucinate conversational filler (e.g., *"Here are your tags..."*). This model was trained to abandon conversational outputs entirely and strictly generate API-ready metadata tags based on unstructured product descriptions. | |
| ## ποΈ Model Details | |
| - **Developer:** Ryan Francis | |
| - **Model Type:** Causal Language Model (LoRA Fine-Tune) | |
| - **Base Model:** TinyLlama 1.1B | |
| - **Language:** English | |
| - **Primary Use Case:** Automated e-commerce pipeline categorization | |
| ## βοΈ Training Methodology | |
| The model was fine-tuned on a synthetically generated dataset of 100 diverse, unstructured e-commerce product descriptions. It was trained to map these descriptions to a rigid output schema: `[Category: X] [Target: Y] [Material/Style: Z]`. | |
| - **Training Regime:** fp16 mixed precision natively on a T4 GPU | |
| - **Technique:** Parameter-Efficient Fine-Tuning (PEFT) via LoRA | |
| - **Target Modules:** `q_proj`, `v_proj` | |
| - **Optimizer:** `adamw_torch` | |
| ## π Evaluation and Validation | |
| The model was evaluated using a **Format Compliance Rate** metric. On unseen validation prompts, the fine-tuned adapter achieved strict structural adherence, successfully outputting the exact requested bracketed format with zero conversational hallucinations. | |
| ## π» How to Use This Model | |
| You can load this model and run inference using the `peft` and `transformers` libraries. | |
| ```python | |
| import torch | |
| from peft import PeftModel | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| # 1. Load the base model | |
| base_model_id = "TinyLlama/TinyLlama-1.1B-Chat-v1.0" | |
| tokenizer = AutoTokenizer.from_pretrained(base_model_id) | |
| model = AutoModelForCausalLM.from_pretrained(base_model_id, device_map="auto", torch_dtype=torch.float16) | |
| # 2. Load the fine-tuned adapter | |
| repo_id = "ryanfrancis/smart-catalog-bot" | |
| model = PeftModel.from_pretrained(model, repo_id) | |
| # 3. Test the model | |
| prompt = "Product Description: A low-profile velvet sofa in emerald green with tapered wooden legs, perfect for a mid-century modern living room.\nTags:" | |
| inputs = tokenizer(prompt, return_tensors="pt").to("cuda") | |
| # Generate with low temperature for strict formatting | |
| outputs = model.generate(**inputs, max_new_tokens=40, temperature=0.1) | |
| print(tokenizer.decode(outputs[0], skip_special_tokens=True)) |