--- language: - vi - en tags: - qwen - qwen2.5 - lora - peft - unsloth - administrative - legal - sft - vietnamese license: apache-2.0 base_model: unsloth/Qwen2.5-3B-Instruct --- ![Linh Huong Linux Office AI Banner](banner.png) # 🏢 Linh Hương Linux Office: Văn Bản Hành Chính (Qwen2.5-3B-Instruct LoRA) **Linh Hương Linux Office AI** là mô hình Trí tuệ Nhân tạo (AI) chuyên biệt đầu tiên dành cho tác vụ soạn thảo văn bản hành chính theo tiêu chuẩn **Nghị định 30/2020/NĐ-CP** của Chính phủ Việt Nam. Mô hình này được tinh chỉnh (Fine-tuned) bằng phương pháp **LoRA (Low-Rank Adaptation)** trên nền tảng model `Qwen2.5-3B-Instruct`, giúp mô hình cực kỳ nhẹ bé mà vẫn duy trì khả năng suy luận xuất sắc về thể thức văn bản tiếng Việt. 🔗 **Trang chủ Dự án:** [Linh Hương Linux Chat](https://linhhuonglinux-chat.vercel.app/) --- ## 🎯 Giới thiệu (Model Description) - **Developed by:** Linh Huong Linux Research Team (Nguyen Dinh Duy) - **Model type:** Causal Language Model with LoRA adapter - **Language(s):** Vietnamese (Primary), English - **Base Model:** `unsloth/Qwen2.5-3B-Instruct` - **Training Framework:** [Unsloth](https://github.com/unslothai/unsloth) Mô hình này không chỉ là một chatbot thông thường. Nó được thiết kế để xuất dữ liệu dưới định dạng **Cấu trúc JSON khắt khe**, cho phép tích hợp trực tiếp (plug-and-play) vào hệ thống Frontend Svelte/Vite của trình soạn thảo Linh Hương Linux Office. ### ✨ Các Tính Năng Cốt Lõi (Key Capabilities) 1. **Soạn thảo tự động:** Sinh bản thảo Quyết định, Thông báo, Tờ trình, Công văn chỉ từ vài từ khóa (Trích yếu). 2. **Kiểm soát Thể thức (Nghị định 30):** Tự động điền [CƠ QUAN CHỦ QUẢN], [TÊN CƠ QUAN BAN HÀNH], [QUYỀN HẠN KÝ]. 3. **Cấu trúc JSON:** Khả năng định dạng đầu ra thành JSON ổn định, phân tách rõ `can_cu_phap_ly`, `dieu_khoan`, `noi_nhan` để Render ra UI. --- ## 🚀 Hướng Dẫn Sử Dụng (Usage) Mô hình này được huấn luyện ở dạng **Adapter LoRA**. Để chạy hiệu quả nhất trong môi trường Node.js / Web, chúng tôi khuyên dùng định dạng **GGUF** qua thư viện `node-llama-cpp`. ### Tích hợp qua Python (Transformers) ```python from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel base_model_name = "Qwen/Qwen2.5-3B-Instruct" adapter_repo = "nguyendinhduybigtreetc/linhhuonglinux-office-van-ban-hanh-chinh" # Load Base Model model = AutoModelForCausalLM.from_pretrained(base_model_name) tokenizer = AutoTokenizer.from_pretrained(base_model_name) # Load LoRA Adapter model = PeftModel.from_pretrained(model, adapter_repo) prompt = "Soạn thảo Quyết định về việc thành lập ban chỉ đạo chuyển đổi số." inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_new_tokens=1024) print(tokenizer.decode(outputs[0])) ``` --- ## 📊 Tập Dữ Liệu Huấn Luyện (Training Data) Mô hình được SFT (Supervised Fine-Tuning) trên tập dữ liệu tổng hợp (Synthetic Dataset) với định dạng **Alpaca**, bao gồm hàng ngàn mẫu Quyết định, Thông báo, Tờ trình và Công văn tuân thủ nghiêm ngặt thể thức hành chính Việt Nam. ## ⚙️ Chi Tiết Huấn Luyện (Training Procedure) - **Framework:** Unsloth (Giúp tăng tốc độ train x2 và giảm VRAM). - **Quantization:** 4-bit (bitsandbytes). - **Epochs:** 2 - **Context Length:** 2048 - **Learning Rate:** 2e-4 --- ## 🛡️ Giới hạn và Khuyến cáo (Limitations) - Mô hình này nhằm mục đích **Hỗ trợ Soạn thảo** (Drafting Assistant). Người dùng phải rà soát lại nội dung, thông tin pháp lý, số thứ tự văn bản và chức danh người ký trước khi ban hành chính thức. - Mô hình đôi khi có thể bị "ảo giác" (hallucination) với các số hiệu Nghị định/Luật nếu không được cung cấp rõ trong Prompt. *🌟 Nếu bạn thấy mô hình này hữu ích cho dự án mã nguồn mở hoặc công việc của bạn, hãy thả 1 💖 (Like) cho Repo này nhé!*