Instructions to use CodeXomics/CodeXomics-ToolAgent-4B-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use CodeXomics/CodeXomics-ToolAgent-4B-v1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="CodeXomics/CodeXomics-ToolAgent-4B-v1") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("CodeXomics/CodeXomics-ToolAgent-4B-v1") model = AutoModelForMultimodalLM.from_pretrained("CodeXomics/CodeXomics-ToolAgent-4B-v1", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.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(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use CodeXomics/CodeXomics-ToolAgent-4B-v1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "CodeXomics/CodeXomics-ToolAgent-4B-v1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "CodeXomics/CodeXomics-ToolAgent-4B-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/CodeXomics/CodeXomics-ToolAgent-4B-v1
- SGLang
How to use CodeXomics/CodeXomics-ToolAgent-4B-v1 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 "CodeXomics/CodeXomics-ToolAgent-4B-v1" \ --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": "CodeXomics/CodeXomics-ToolAgent-4B-v1", "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 "CodeXomics/CodeXomics-ToolAgent-4B-v1" \ --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": "CodeXomics/CodeXomics-ToolAgent-4B-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use CodeXomics/CodeXomics-ToolAgent-4B-v1 with Docker Model Runner:
docker model run hf.co/CodeXomics/CodeXomics-ToolAgent-4B-v1
CodeXomics-ToolAgent-4B-v1
CodeXomics-ToolAgent-4B-v1 (internally qwen3.5:4b-codexomics-tools-v5) is a 4.2B-parameter
tool-calling model fine-tuned from Qwen/Qwen3.5-4B for the CodeXomics genomics workbench. It
performs native function calling against the CodeXomics tool registry (file loading, navigation,
sequence analysis, annotation, track control, export, BLAST, primer design, database/protein
retrieval, task management, and UI control).
CodeXomics is an AI-native genome browser: a cross-platform desktop application in which conversational AI agents drive genome visualization and run real biological analyses, with built-in tool execution, a dynamic tool registry, plugin development, and Model Context Protocol (MCP) integration. Source code and documentation: github.com/Scilence2022/CodeXomics and scilence2022.github.io/CodeXomics.
Fine-tuning
- Method: QLoRA (rank 16, scale 32.0, dropout 0.05, 4 layers) with MLX-LM 0.31.2 / MLX 0.32.0
- Trainable parameters: 4.058M (0.096%)
- Optimizer: AdamW, learning rate 1.0e-5, effective batch size 4, 200 iterations
- Maximum sequence length: 3,072 tokens; prompt masking enabled
- Hardware: Apple M3 Max; peak memory 191 GB (including swap)
- Checkpoint selection: iteration 75 (validation loss 0.020); test loss 0.074 (perplexity 1.077)
- Training data: CodeXomics-ToolCalling-v1 (373/123/30 train/validation/test examples)
Evaluation
On the CodeXomics Benchmark (172 automatic tests: 143 single-operation, 29 multi-step), evaluated in the real application loop with task-completion scoring plus execution evidence. Both the fine-tuned model and the un-fine-tuned Qwen3.5-4B baseline were evaluated in three independent complete sessions; results were identical across sessions for both models.
| Suite | Qwen3.5-4B (base) | CodeXomics-ToolAgent-4B-v1 |
|---|---|---|
| Simple | 139/143 | 143/143 |
| Complex | 26/29 | 29/29 |
| Total | 165/172 (95.9%) | 172/172 (100%) |
Fine-tuning improved the overall accuracy by 7 tests (+4 simple, +3 complex). Inference settings: temperature 0, thinking enabled.
Inference speed (mean ± SD over three independent runs; offline harness, 172 tests, Ollama Q4_K_M on Apple M3 Max):
| Metric | Qwen3.5-4B (base) | CodeXomics-ToolAgent-4B-v1 |
|---|---|---|
| Average latency per test (s) | 12.0 ± 0.1 | 10.7 ± 0.9 |
| Simple suite (s) | 9.2 ± 0.1 | 8.6 ± 0.7 |
| Complex suite (s) | 25.8 ± 0.3 | 21.5 ± 1.9 |
| Average latency per tool call (s) | 7.9 ± 0.1 | 7.3 ± 0.6 |
| Generation throughput (tokens/s) | 33.9 ± 0.4 | 33.9 ± 2.8 |
| Generated tokens per test | 408 (identical across runs) | 363 (identical across runs) |
| Prompt tokens per test | 9,004 (identical across runs) | 8,777 (identical across runs) |
Figure 1. Two-panel comparison between the un-fine-tuned Qwen3.5-4B baseline and CodeXomics-ToolAgent-4B-v1. Left: CodeXomics Benchmark pass rates (simple/complex/total; three sessions each, identical results). Right: average inference latency per test with error bars (mean ± SD over three runs; Ollama Q4_K_M, Apple M3 Max). Latency values are the mean of the per-suite rows above; error bars show the run-to-run SD.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("CodeXomics-ToolAgent-4B-v1")
tokenizer = AutoTokenizer.from_pretrained("CodeXomics-ToolAgent-4B-v1")
For deployment in CodeXomics, the model is served through Ollama as qwen3.5:4b-codexomics-tools-v5
(Q4_K_M, 2.7 GB) with native tool calling and thinking enabled.
Limitations
- The model is specialized for CodeXomics genomic workflows; generalization to other tool-calling domains was not evaluated.
Citation
@software{codexomics-toolagent-v1,
title = {CodeXomics-ToolAgent-4B-v1},
author = {Song, Lifu},
year = {2026},
license = {Apache-2.0},
publisher = {Hugging Face},
base_model = {Qwen/Qwen3.5-4B}
}
- Downloads last month
- 841
