📖 Model Description
Open-GVP-Qwen2.5-14B-Instruct is a domain-specialized version of 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
Table with columns: Category, Details| Category | Details |
|---|
| GVP Modules | All Modules |
| Addendum | Included |
| Training Data Size | ~15,000 instruction-format Q&A pairs |
| Primary Focus | Regulatory interpretation & PV operations |
Table with columns: Format, Files, Best For| 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 |
Recommendation:
- Use Safetensors for maximum quality and flexibility.
- Use Q8_0 or Q6_K GGUF for local / CPU-friendly deployment.
🚀 Quick Start
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)
# 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
./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)
from llama_cpp import Llama
llm = Llama(
model_path="Open-GVP-Qwen2.5-14B-Q8_0.gguf",
n_ctx=4096,
n_gpu_layers=-1,
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
Table with columns: Use Case, Description| 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
Table with columns: Property, Value| 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 |
⚠️ 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