---
base_model: arcee-ai/Trinity-Mini
library_name: peft
pipeline_tag: text-generation
license: other
tags:
- peft
- lora
- grpo
- reinforcement-learning
- drug-discovery
- bioinformatics
- tool-use
- gene-ontology
---
Trinity-Mini-AI-Scientist
`Trinity-Mini-AI-Scientist` is a LoRA adapter for
[`arcee-ai/Trinity-Mini`](https://huggingface.co/arcee-ai/Trinity-Mini),
post-trained with Group Relative Policy Optimization (GRPO) for scientific
tool use, drug-discovery workflows, and Gene Ontology reasoning.
This is an adapter, not a standalone model; the base Trinity Mini weights are
required.
## Intended use
The adapter is designed for research workflows that combine:
- grounded use of drug-discovery and biomedical tools;
- evidence-backed synthesis from tool results;
- protein-function reasoning and structured Gene Ontology prediction;
- multi-agent AI-scientist applications.
It is a research model and must not be used as a substitute for qualified
medical, clinical, or laboratory judgment.
## Training
The adapter was trained for 100 GRPO steps with a 16,384-token training
sequence length and a balanced mixture of two environments:
- `lokahq/drug-tool-rl@1`
- `lokahq/bioreason-go-rl@1`
| Setting | Value |
|---|---:|
| LoRA rank / alpha | 64 / 128 |
| Batch size / group size | 256 / 16 |
| Optimizer | Muon |
| Learning rate | 3e-5 |
| Scheduler | Cosine, 8 warmup steps, 5e-6 minimum LR |
| KL coefficient | 1e-3 |
| Maximum tool turns | 12 (training), 8 (evaluation) |
## Evaluation
Accuracy is reported as Avg@1: the score from a single model response on each
held-out evaluation example.
| Evaluation | Metric | Result |
|---|---|---:|
| Drug Tool | Avg@1 | 0.812 |
| BioReason | Avg@1 | 0.863 |
## Usage
```python
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base_model_id = "arcee-ai/Trinity-Mini"
adapter_id = "lokahq/Trinity-Mini-AI-Scientist"
tokenizer = AutoTokenizer.from_pretrained(base_model_id, trust_remote_code=True)
base_model = AutoModelForCausalLM.from_pretrained(
base_model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
model = PeftModel.from_pretrained(base_model, adapter_id)
```