Instructions to use Rumiii/Qwen-BioTool-1.5B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Rumiii/Qwen-BioTool-1.5B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Rumiii/Qwen-BioTool-1.5B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Rumiii/Qwen-BioTool-1.5B") model = AutoModelForCausalLM.from_pretrained("Rumiii/Qwen-BioTool-1.5B", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Rumiii/Qwen-BioTool-1.5B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Rumiii/Qwen-BioTool-1.5B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Rumiii/Qwen-BioTool-1.5B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Rumiii/Qwen-BioTool-1.5B
- SGLang
How to use Rumiii/Qwen-BioTool-1.5B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Rumiii/Qwen-BioTool-1.5B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Rumiii/Qwen-BioTool-1.5B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Rumiii/Qwen-BioTool-1.5B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Rumiii/Qwen-BioTool-1.5B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Unsloth Studio
How to use Rumiii/Qwen-BioTool-1.5B with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Rumiii/Qwen-BioTool-1.5B to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Rumiii/Qwen-BioTool-1.5B to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Rumiii/Qwen-BioTool-1.5B to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="Rumiii/Qwen-BioTool-1.5B", max_seq_length=2048, ) - Docker Model Runner
How to use Rumiii/Qwen-BioTool-1.5B with Docker Model Runner:
docker model run hf.co/Rumiii/Qwen-BioTool-1.5B
Qwen-BioTool-1.5B
A fine-tuned version of Qwen2.5-1.5B-Instruct specialized for biomedical tool-calling. Given a biomedical question and a set of available tool schemas, the model selects the correct tool and generates properly formatted function-call arguments.
Model Details
| Property | Value |
|---|---|
| Base model | Qwen2.5-1.5B-Instruct |
| Fine-tuning method | QLoRA (4-bit) via Unsloth |
| Trainable parameters | 18,464,768 (1.18% of total) |
| Training dataset | gxx27/BioTool (5,632 samples) |
| Epochs | 3 |
| Final training loss | 0.20 |
Coverage
The model is trained on tool-calling patterns across 127 tools spanning three biomedical API families:
- NCBI E-utilities (esearch, efetch, elink, BLAST, and related endpoints)
- UniProt REST (protein, proteome, and taxonomy lookups)
- Ensembl REST (coordinate mapping, variant effect prediction, comparative genomics)
This covers genomics, proteomics, and comparative biology tool-use. It does not cover clinical-facing APIs such as ICD-10 lookup, drug databases, or clinical trial registries.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "Rumiii/Qwen-BioTool-1.5B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
tools = [
{
"type": "function",
"function": {
"name": "esearch",
"description": "Search an NCBI Entrez database and return UIDs matching a text query.",
"parameters": {
"type": "object",
"properties": {
"db": {"type": "string", "description": "Entrez database name"},
"term": {"type": "string", "description": "Search query"},
},
"required": ["db", "term"],
},
},
}
]
messages = [{"role": "user", "content": "Search PubMed for articles on BRCA1 mutations."}]
inputs = tokenizer.apply_chat_template(
messages,
tools=tools,
add_generation_prompt=True,
tokenize=True,
return_tensors="pt",
return_dict=True,
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
Known Limitations
- The
argumentsfield in generated tool calls is a JSON-encoded string, not a nested JSON object. Downstream code should apply an additionaljson.loads()to it before use. - Trained exclusively on tool-calling examples; conversational ability is inherited from the base model rather than reinforced during fine-tuning.
- Tool coverage is limited to NCBI, UniProt, and Ensembl. Queries requiring other biomedical or clinical APIs are outside its trained scope.
- Not intended for clinical decision-making or diagnostic use.
Training Data
BioTool: a biomedical function-calling dataset of 7,040 human-verified query-to-API-call pairs across NCBI, UniProt, and Ensembl.
@misc{gao2026biotoolcomprehensivetoolcallingdataset,
title={BioTool: A Comprehensive Tool-Calling Dataset for Enhancing Biomedical Capabilities of Large Language Models},
author={Xin Gao and Ruiyi Zhang and Meixi Du and Peijia Qin and Pengtao Xie},
year={2026},
eprint={2605.05758},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2605.05758},
}
This model was trained with Unsloth and Hugging Face's TRL library.
License
Apache 2.0
- Downloads last month
- 424
