--- license: apache-2.0 language: - en base_model: Qwen/Qwen2.5-14B-Instruct tags: - pharmacovigilance - gvp - regulatory - qwen2.5 - medical - drug-safety - instruction-tuning - gguf - safetensors - llama.cpp - ollama pipeline_tag: text-generation library_name: transformers --- # πŸ’Š Open-GVP-Qwen2.5-14B-Instruct > Domain-adapted **Qwen2.5-14B** model specialized in **Good Pharmacovigilance Practices (GVP)** guidelines issued by the European Medicines Agency (EMA). This repository contains both the **merged Safetensors** version and **GGUF quantized** versions of the model. **Available formats:** - Merged Safetensors (for Transformers / vLLM / etc.) - GGUF: `BF16`, `Q8_0`, `Q6_K` --- ## πŸ“– Model Description **Open-GVP-Qwen2.5-14B-Instruct** is a domain-specialized version of [Qwen/Qwen2.5-14B-Instruct](https://huggingface.co/Qwen/Qwen2.5-14B-Instruct), fine-tuned using **LoRA** on a curated dataset of approximately **15,000 high-quality question-answer pairs** derived from the official EMA Good Pharmacovigilance Practices (GVP) guidelines. The model covers **all GVP Modules and related Addendums**, with particular strength in areas such as: - ICSR collection, management, and submission (Module VI) - Signal management (Module IX) - Risk management systems (Module V) - Periodic safety update reports (PSUR / PBRER) - Pharmacovigilance system master file (PSMF) > **Important**: This model performs best when used as part of a **RAG (Retrieval-Augmented Generation)** pipeline alongside the original GVP PDF documents, rather than as a standalone source of regulatory advice. --- ## πŸ—‚οΈ Coverage | Category | Details | | :--- | :--- | | **GVP Modules** | All Modules | | **Addendum** | Included | | **Training Data Size** | ~15,000 instruction-format Q&A pairs | | **Primary Focus** | Regulatory interpretation & PV operations | --- ## πŸ“¦ Available Formats | Format | Files | Best For | | :--- | :--- | :--- | | **Merged Safetensors** | `model-00001-of-00004.safetensors` (4 shards) + config | Transformers, vLLM, TGI, full-precision inference | | **GGUF BF16** | `Open-GVP-Qwen2.5-14B-BF16.gguf` | Highest quality GGUF | | **GGUF Q8_0** | `Open-GVP-Qwen2.5-14B-Q8_0.gguf` | Excellent quality / speed balance | | **GGUF Q6_K** | `Open-GVP-Qwen2.5-14B-Q6_K.gguf` | Good quality with lower resource usage | **Recommendation**: - Use **Safetensors** for maximum quality and flexibility. - Use **Q8_0** or **Q6_K** GGUF for local / CPU-friendly deployment. --- ## πŸš€ Quick Start ### 1. Transformers (Safetensors) ```python import torch from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "drvivekpoojary/Open-GVP-Qwen2.5-14B-Instruct" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype=torch.bfloat16, device_map="auto" ) messages = [ {"role": "system", "content": "You are an expert pharmacovigilance assistant specialized in EMA Good Pharmacovigilance Practices (GVP)."}, {"role": "user", "content": "What is the definition of a serious adverse reaction according to GVP Module VI?"} ] text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) inputs = tokenizer([text], return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.2) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` ### 2. Ollama (GGUF) ```bash # Recommended (Q8_0) ollama run hf.co/drvivekpoojary/Open-GVP-Qwen2.5-14B-Instruct:Q8_0 # Alternative options ollama run hf.co/drvivekpoojary/Open-GVP-Qwen2.5-14B-Instruct:Q6_K ollama run hf.co/drvivekpoojary/Open-GVP-Qwen2.5-14B-Instruct:BF16 ``` ### 3. llama.cpp ```bash ./llama-cli \ -m Open-GVP-Qwen2.5-14B-Q8_0.gguf \ -p "What is the definition of a serious adverse reaction according to GVP Module VI?" \ -n 512 \ -c 4096 \ --temp 0.2 ``` ### 4. Python (llama-cpp-python) ```python from llama_cpp import Llama llm = Llama( model_path="Open-GVP-Qwen2.5-14B-Q8_0.gguf", n_ctx=4096, n_gpu_layers=-1, # set to 0 for pure CPU verbose=False ) response = llm.create_chat_completion( messages=[ { "role": "system", "content": "You are an expert pharmacovigilance assistant specialized in EMA Good Pharmacovigilance Practices (GVP)." }, { "role": "user", "content": "What is the definition of a serious adverse reaction according to GVP Module VI?" } ], max_tokens=512, temperature=0.2 ) print(response["choices"][0]["message"]["content"]) ``` --- ## βœ… Recommended Use Cases | Use Case | Description | | :--- | :--- | | **GVP Knowledge Assistant** | Answer questions on GVP modules, definitions, and requirements | | **PV Staff Training & Onboarding** | Support training of new pharmacovigilance team members | | **RAG Pipeline** | Use as the generator together with official GVP PDFs | | **Internal Regulatory Chatbot** | Backend for company-internal PV compliance assistants | | **Offline / Air-gapped Environments** | Run completely locally without internet access | | **Edge & Low-Resource Deployment** | Suitable for laptops and workstations (especially GGUF versions) | ### ❌ Not Recommended For - Standalone regulatory decision-making - High-stakes compliance or submission decisions without human review - Replacing qualified pharmacovigilance professionals - Use outside the scope of EMA GVP guidelines - Generating content for regulatory submissions without expert verification --- ## πŸ”§ Training Details | Property | Value | | :--- | :--- | | **Base Model** | Qwen/Qwen2.5-14B-Instruct | | **Fine-tuning Method** | QLoRA | | **LoRA Rank** | 32 | | **LoRA Alpha** | 64 | | **LoRA Dropout** | 0.05 | | **Training Data** | ~15,000 GVP Q&A pairs (all modules) | | **Epochs** | 4 | | **Context Length** | 768 | | **Precision** | bfloat16 | | **Framework** | LlamaFactory | | **Hardware** | NVIDIA GPU (16 GB VRAM) | --- ## ⚠️ Disclaimer - This model is intended for **research, educational, and internal professional support purposes only**. - It does **not** constitute regulatory advice. All outputs should be carefully reviewed by qualified pharmacovigilance professionals before being used in any compliance, case processing, reporting, or decision-making context. - The model may produce incomplete, outdated, or inaccurate responses, particularly on complex or nuanced regulatory questions. The author assumes no liability for any decisions made based on the model’s outputs. - **No In-Training Evaluation:** Evaluation loss (`eval_loss`) was not computed during training, and per-epoch checkpoints were not preserved. --- ## πŸ‘€ Author **Dr. Vivek Poojary** --- ## πŸ“„ License Apache License 2.0