Text Generation
Transformers
Safetensors
English
qwen3_5
image-text-to-text
genomics
tool-calling
function-calling
qwen3.5
qwen
conversational
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
| license: apache-2.0 | |
| language: | |
| - en | |
| library_name: transformers | |
| tags: | |
| - genomics | |
| - tool-calling | |
| - function-calling | |
| - qwen3.5 | |
| - qwen | |
| pipeline_tag: text-generation | |
| base_model: Qwen/Qwen3.5-4B | |
| pretty_name: 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](https://github.com/Scilence2022/CodeXomics) and | |
| [scilence2022.github.io/CodeXomics](https://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 | |
| ```python | |
| 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 | |
| ```bibtex | |
| @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} | |
| } | |
| ``` | |