alexmarques commited on
Commit
3d700a9
·
verified ·
1 Parent(s): dc17f56

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +290 -170
README.md CHANGED
@@ -1,227 +1,347 @@
1
  ---
2
  library_name: transformers
3
- base_model: Qwen/Qwen3.5-9B
4
- tags:
5
- - qwen3.5
6
- - code
7
- - agent
8
- - sft
9
- - omnicoder
10
- - tesslate
11
  license: apache-2.0
12
  language:
13
- - en
14
  pipeline_tag: text-generation
15
- model-index:
16
- - name: OmniCoder-9B
17
- results:
18
- - task:
19
- type: text-generation
20
- dataset:
21
- name: AIME 2025
22
- type: custom
23
- metrics:
24
- - name: pass@5
25
- type: accuracy
26
- value: 90.0
27
- - task:
28
- type: text-generation
29
- dataset:
30
- name: GPQA Diamond
31
- type: custom
32
- metrics:
33
- - name: pass@1
34
- type: accuracy
35
- value: 83.8
36
- - name: pass@3
37
- type: accuracy
38
- value: 86.4
39
- - task:
40
- type: text-generation
41
- dataset:
42
- name: Terminal-Bench 2.0
43
- type: custom
44
- metrics:
45
- - name: Pass Rate
46
- type: accuracy
47
- value: 28.1
48
- ---
49
-
50
- <div align="center">
51
-
52
- <img src="omnicoder-banner.png" alt="OmniCoder" width="720">
53
-
54
- # OmniCoder-9B
55
-
56
- ### A 9B coding agent fine-tuned on 425K agentic trajectories.
57
-
58
- [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
59
- [![Base Model](https://img.shields.io/badge/Base-Qwen3.5--9B-purple)](https://huggingface.co/Qwen/Qwen3.5-9B)
60
- [![GGUF](https://img.shields.io/badge/GGUF-Available-green)](https://huggingface.co/Tesslate/OmniCoder-9B-GGUF)
61
-
62
- !! 3/12/26 Update -> [Install For Your Coding Agents](https://tesslate.com/install#omnicoder)
63
-
64
- [Get Started](#quickstart) | [Benchmarks](#benchmarks) | [GGUF Downloads](https://huggingface.co/Tesslate/OmniCoder-9B-GGUF)
65
-
66
  ---
67
 
68
- </div>
69
-
70
- ## Overview
71
 
72
- **OmniCoder-9B** is a 9-billion parameter coding agent model built by [Tesslate](https://tesslate.com), fine-tuned on top of [Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B)'s hybrid architecture (Gated Delta Networks interleaved with standard attention). It was trained on **425,000+ curated agentic coding trajectories** spanning real-world software engineering tasks, tool use, terminal operations, and multi-step reasoning.
 
 
 
 
 
 
 
 
 
73
 
74
- The training data was specifically built from **Claude Opus 4.6 agentic and coding reasoning traces**, targeting scaffolding patterns from Claude Code, OpenCode, Codex, and Droid. The dataset includes successful trajectories from models like Claude Opus 4.6, GPT-5.4, GPT-5.3-Codex, and Gemini 3.1 Pro.
75
 
76
- The model shows strong agentic behavior: it recovers from errors (read-before-write), responds to LSP diagnostics, and uses proper edit diffs instead of full rewrites. These patterns were learned directly from the real-world agent trajectories it was trained on.
77
 
78
- ### Key Features
79
 
80
- - **Trained on Frontier Agent Traces** : Built from Claude Opus 4.6, GPT-5.3-Codex, GPT-5.4, and Gemini 3.1 Pro agentic coding trajectories across Claude Code, OpenCode, Codex, and Droid scaffolding
81
- - **Hybrid Architecture** : Inherits Qwen3.5's Gated Delta Networks interleaved with standard attention for efficient long-context processing
82
- - **262K Native Context** : Full 262,144 token context window, extensible to 1M+
83
- - **Error Recovery** : Learns read-before-write patterns, responds to LSP diagnostics, and applies minimal edit diffs instead of full rewrites
84
- - **Thinking Mode** : Supports `<think>...</think>` reasoning chains for complex problem decomposition
85
- - **Apache 2.0** : Fully open weights, no restrictions
86
 
87
- ---
88
-
89
- ## Benchmarks
90
 
91
- <div align="center">
92
 
93
- | Benchmark | **OmniCoder-9B** | Qwen3.5-9B | Qwen3-Next-80B | GPT-OSS-120B | GPT-OSS-20B | GLM-4.7-Flash | GLM 4.7 | Claude Haiku 4.5 |
94
- |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
95
- | **AIME 2025** (pass@5) | 90 | | | | 91.7 | 91.6 | | |
96
- | **GPQA Diamond** (pass@1) | **83.8** | 81.7 | 77.2 | 80.1 | 71.5 | | | 73 |
97
- | **GPQA Diamond** (pass@3) | **86.4** | | | | | | | |
98
- | **Terminal-Bench 2.0** | **23.6** | 14.6 | | | | | 33.4 | 27 |
99
 
100
- </div>
101
 
102
- - **GPQA Diamond pass@1: 83.8%** (166/198). +2.1 points over the Qwen3.5-9B base model (81.7). At pass@3: **86.4** (171/198).
103
- - **AIME 2025 pass@5: 90%** (27/30).
104
- - **Terminal-Bench 2.0: 23.6%** (21/89). +8.99 points (+61% improvement) over the Qwen3.5-9B base model (14.6%, 13/89).
105
-
106
- ---
107
-
108
- ## Quickstart
109
 
110
- ### Transformers
111
 
112
  ```python
113
- from transformers import AutoModelForCausalLM, AutoTokenizer
114
 
115
- model_id = "Tesslate/OmniCoder-9B"
 
116
 
117
- tokenizer = AutoTokenizer.from_pretrained(model_id)
118
- model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto")
 
 
 
 
119
 
120
  messages = [
121
- {"role": "system", "content": "You are a helpful coding assistant."},
122
- {"role": "user", "content": "Write a Python function to find the longest common subsequence of two strings."},
123
  ]
124
 
125
- text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
126
- inputs = tokenizer([text], return_tensors="pt").to(model.device)
 
 
 
127
 
128
- outputs = model.generate(**inputs, max_new_tokens=2048, temperature=0.6, top_p=0.95, top_k=20)
129
- print(tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True))
130
  ```
131
 
132
- ### vLLM
133
 
134
- ```bash
135
- vllm serve Tesslate/OmniCoder-9B --tensor-parallel-size 1 --max-model-len 65536
136
- ```
137
 
138
- ```python
139
- from openai import OpenAI
140
 
141
- client = OpenAI(base_url="http://localhost:8000/v1", api_key="token")
142
- response = client.chat.completions.create(
143
- model="Tesslate/OmniCoder-9B",
144
- messages=[{"role": "user", "content": "Explain the difference between a mutex and a semaphore."}],
145
- temperature=0.6,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  )
147
- print(response.choices[0].message.content)
148
- ```
149
 
150
- ### llama.cpp (GGUF)
 
151
 
152
- ```bash
153
- llama-cli --hf-repo Tesslate/OmniCoder-9B-GGUF --hf-file omnicoder-9b-q4_k_m.gguf -p "Your prompt" -c 8192
 
 
154
  ```
155
 
156
- All quantizations: [Tesslate/OmniCoder-9B-GGUF](https://huggingface.co/Tesslate/OmniCoder-9B-GGUF)
157
-
158
- ---
159
-
160
- ## Training Details
161
-
162
- | | |
163
- |:---|:---|
164
- | **Base Model** | [Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B) |
165
- | **Method** | LoRA SFT (r=64, alpha=32) |
166
- | **Dataset** | 425K agentic trajectories from 5 sources |
167
- | **Packing** | Sample packing with 99.35% efficiency |
168
- | **Hardware** | 4x NVIDIA H200 (DDP) |
169
- | **Framework** | Axolotl |
170
- | **Precision** | bf16 |
171
- | **Optimizer** | AdamW (lr=2e-4, cosine schedule) |
172
-
173
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
 
175
- ## Architecture
 
 
176
 
177
- OmniCoder inherits Qwen3.5-9B's hybrid architecture:
178
 
179
- - **Gated Delta Networks** : Linear attention layers interleaved with standard attention for efficient long-range dependencies
180
- - **VLM Backbone** : Built on `Qwen3_5ForConditionalGeneration`
181
 
182
- ---
 
 
 
 
 
 
 
 
 
183
 
184
- ## Recommended Sampling Parameters
 
 
 
 
 
 
 
 
 
 
185
 
186
- | Parameter | Value |
187
- |:---|:---|
188
- | Temperature | 0.6 |
189
- | Top-P | 0.95 |
190
- | Top-K | 20 |
191
- | Presence Penalty | 0.0 |
 
 
 
 
 
192
 
193
- For agentic / tool-calling tasks, consider lower temperature (0.2-0.4) for more deterministic behavior.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
 
195
- ---
 
 
 
 
 
 
196
 
197
- ## Limitations
 
 
 
 
 
 
198
 
199
- - Performance on non-English tasks has not been extensively evaluated
200
- - Tool-calling format is flexible but works best with the scaffolding patterns seen in training
201
 
202
- ---
203
 
204
- ## Acknowledgments
205
 
206
- Special thanks to the [Axolotl](https://github.com/axolotl-ai-cloud/axolotl) team and the discussion in [axolotl#3453](https://github.com/axolotl-ai-cloud/axolotl/issues/3453) for helping get Qwen3.5 packing support working.
 
 
 
 
 
 
 
 
 
 
207
 
208
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
209
 
210
- ## Citation
211
 
212
- ```bibtex
213
- @misc{omnicoder2025,
214
- title={OmniCoder-9B: A Frontier Open Coding Agent},
215
- author={Tesslate},
216
- year={2025},
217
- url={https://huggingface.co/Tesslate/OmniCoder-9B}
218
- }
 
219
  ```
220
 
221
- ---
222
-
223
- <div align="center">
224
 
225
- **Built by [Tesslate](https://tesslate.com)**
 
 
 
 
 
 
 
226
 
227
- </div>
 
1
  ---
2
  library_name: transformers
 
 
 
 
 
 
 
 
3
  license: apache-2.0
4
  language:
5
+ - en
6
  pipeline_tag: text-generation
7
+ tags:
8
+ - fp8
9
+ - vllm
10
+ - llm-compressor
11
+ - compressed-tensors
12
+ - qwen3.5
13
+ - code
14
+ - agent
15
+ - sft
16
+ - omnicoder
17
+ - tesslate
18
+ base_model: Tesslate/OmniCoder-9B
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  ---
20
 
21
+ # OmniCoder-9B-FP8-Dynamic
 
 
22
 
23
+ ## Model Overview
24
+ - **Model Architecture:** Qwen3_5ForConditionalGeneration
25
+ - **Input:** Text
26
+ - **Output:** Text
27
+ - **Model Optimizations:**
28
+ - **Weight quantization:** FP8
29
+ - **Activation quantization:** FP8
30
+ - **Release Date:** 2026-05-29
31
+ - **Version:** 1.0
32
+ - **Model Developers:** RedHatAI
33
 
34
+ This model is a quantized version of [Tesslate/OmniCoder-9B](https://huggingface.co/Tesslate/OmniCoder-9B). See the Evaluation section below for accuracy relative to the unquantized model.
35
 
36
+ ### Model Optimizations
37
 
38
+ This model was obtained by quantizing the weights and activations of [Tesslate/OmniCoder-9B](https://huggingface.co/Tesslate/OmniCoder-9B) to FP8 data type, ready for inference with vLLM.
39
 
40
+ This optimization reduces the number of bits per parameter from 16 to 8, reducing the disk size and GPU memory requirements by approximately 50%.
 
 
 
 
 
41
 
42
+ Only the weights and activations of the linear operators within transformer blocks are quantized using [LLM Compressor](https://github.com/vllm-project/llm-compressor).
 
 
43
 
44
+ ## Deployment
45
 
46
+ ### Use with vLLM
 
 
 
 
 
47
 
48
+ 1. Initialize vLLM server:
49
 
50
+ ```
51
+ vllm serve RedHatAI/OmniCoder-9B-FP8-Dynamic --reasoning-parser qwen3 --enable-auto-tool-choice --tool-call-parser qwen3_coder --language-model-only --max-model-len 262144
52
+ ```
 
 
 
 
53
 
54
+ 2. Send requests to the server:
55
 
56
  ```python
57
+ from openai import OpenAI
58
 
59
+ openai_api_key = "EMPTY"
60
+ openai_api_base = "http://<your-server-host>:8000/v1"
61
 
62
+ client = OpenAI(
63
+ api_key=openai_api_key,
64
+ base_url=openai_api_base,
65
+ )
66
+
67
+ model = "RedHatAI/OmniCoder-9B-FP8-Dynamic"
68
 
69
  messages = [
70
+ {"role": "user", "content": "Explain the difference between a mutex and a semaphore."},
 
71
  ]
72
 
73
+ outputs = client.chat.completions.create(
74
+ model=model,
75
+ messages=messages,
76
+ temperature=0.6,
77
+ )
78
 
79
+ generated_text = outputs.choices[0].message.content
80
+ print(generated_text)
81
  ```
82
 
83
+ ## Creation
84
 
85
+ This model was created by applying [LLM Compressor](https://github.com/vllm-project/llm-compressor) with FP8 dynamic (W8A8) quantization and exported in compressed-tensors format.
 
 
86
 
87
+ <details>
 
88
 
89
+ ```python
90
+ from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration
91
+
92
+ from llmcompressor import oneshot
93
+ from llmcompressor.modifiers.quantization import QuantizationModifier
94
+
95
+ MODEL_ID = "Tesslate/OmniCoder-9B"
96
+
97
+ # Load model and processor.
98
+ model = Qwen3_5ForConditionalGeneration.from_pretrained(MODEL_ID, dtype="auto")
99
+ processor = AutoProcessor.from_pretrained(MODEL_ID)
100
+
101
+ # Configure FP8 dynamic quantization:
102
+ # * weights: FP8 with per-channel static scales
103
+ # * activations: FP8 with dynamic per-token scales
104
+ recipe = QuantizationModifier(
105
+ targets="Linear",
106
+ scheme="FP8_DYNAMIC",
107
+ ignore=[
108
+ "lm_head",
109
+ "re:.*model.embed_tokens.*",
110
+ "re:.*visual.*",
111
+ "re:.*conv1d.*",
112
+ ],
113
  )
 
 
114
 
115
+ # Apply quantization (no calibration data required).
116
+ oneshot(model=model, recipe=recipe)
117
 
118
+ # Save in compressed-tensors format.
119
+ SAVE_DIR = MODEL_ID.rstrip("/").split("/")[-1] + "-FP8-Dynamic"
120
+ model.save_pretrained(SAVE_DIR)
121
+ processor.save_pretrained(SAVE_DIR)
122
  ```
123
 
124
+ </details>
125
+
126
+ ## Evaluation
127
+
128
+ This model was evaluated on GSM8K-Platinum, MMLU-Pro, IFEval, Math 500, GPQA Diamond, AIME 25, and LiveCodeBench v6 using [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) and [lighteval](https://github.com/huggingface/lighteval), served with [vLLM](https://github.com/vllm-project/vllm). SWE-Bench Verified was evaluated using [mini-swe-agent](https://github.com/SWE-agent/mini-swe-agent) and the [SWE-bench](https://github.com/SWE-bench/SWE-bench) harness.
129
+
130
+ ### Accuracy
131
+
132
+ <table>
133
+ <thead>
134
+ <tr>
135
+ <th>Category</th>
136
+ <th>Benchmark</th>
137
+ <th>Tesslate/OmniCoder-9B</th>
138
+ <th>RedHatAI/OmniCoder-9B-FP8-Dynamic</th>
139
+ <th>Recovery</th>
140
+ </tr>
141
+ </thead>
142
+ <tbody>
143
+ <tr>
144
+ <td rowspan="5"><b>Reasoning</b></td>
145
+ <td>GSM8K-Platinum (0-shot)</td>
146
+ <td>94.27</td>
147
+ <td>93.19</td>
148
+ <td>98.9%</td>
149
+ </tr>
150
+ <tr>
151
+ <td>MMLU-Pro (0-shot)</td>
152
+ <td>82.42</td>
153
+ <td>81.69</td>
154
+ <td>99.1%</td>
155
+ </tr>
156
+ <tr>
157
+ <td>Math 500 (0-shot)</td>
158
+ <td>83.20</td>
159
+ <td>84.47</td>
160
+ <td>101.5%</td>
161
+ </tr>
162
+ <tr>
163
+ <td>AIME 25 (0-shot)</td>
164
+ <td>77.08</td>
165
+ <td>74.17</td>
166
+ <td>96.2%</td>
167
+ </tr>
168
+ <tr>
169
+ <td>GPQA Diamond (0-shot)</td>
170
+ <td>81.99</td>
171
+ <td>81.48</td>
172
+ <td>99.4%</td>
173
+ </tr>
174
+ <tr>
175
+ <td rowspan="2"><b>Instruction Following</b></td>
176
+ <td>IFEval prompt-level strict (0-shot)</td>
177
+ <td>74.92</td>
178
+ <td>69.19</td>
179
+ <td>92.4%</td>
180
+ </tr>
181
+ <tr>
182
+ <td>IFEval inst-level strict (0-shot)</td>
183
+ <td>76.42</td>
184
+ <td>70.70</td>
185
+ <td>92.5%</td>
186
+ </tr>
187
+ <tr>
188
+ <td rowspan="2"><b>Coding</b></td>
189
+ <td>LiveCodeBench v6 (0-shot)</td>
190
+ <td>54.10</td>
191
+ <td>54.86</td>
192
+ <td>101.4%</td>
193
+ </tr>
194
+ <tr>
195
+ <td>SWE-Bench Verified (resolve rate)</td>
196
+ <td>28.20</td>
197
+ <td>30.20</td>
198
+ <td>107.1%</td>
199
+ </tr>
200
+ </tbody>
201
+ </table>
202
+
203
+ ### Reproduction
204
+
205
+ The results were obtained using the following commands:
206
+
207
+ <details>
208
+
209
+ The model was served with vLLM using the following command:
210
 
211
+ ```
212
+ vllm serve RedHatAI/OmniCoder-9B-FP8-Dynamic --reasoning-parser qwen3 --enable-auto-tool-choice --tool-call-parser qwen3_coder --language-model-only --max-model-len 262144
213
+ ```
214
 
215
+ Each benchmark was run multiple times with different random seeds. Most tasks used 3 seeds (42, 1234, 4158). AIME 25 used 8 seeds (42, 1234, 4158, 5322, 1356, 9843, 3344, 5678). Scores are averaged across all seeds.
216
 
217
+ #### lm-eval benchmarks
 
218
 
219
+ ##### IFEval (0-shot)
220
+ ```
221
+ lm_eval --model local-chat-completions \
222
+ --tasks ifeval \
223
+ --model_args "model=RedHatAI/OmniCoder-9B-FP8-Dynamic,max_length=262144,base_url=http://0.0.0.0:8000/v1/chat/completions,num_concurrent=64,max_retries=3,tokenized_requests=False,tokenizer_backend=None,timeout=2400" \
224
+ --apply_chat_template \
225
+ --output_path results_ifeval.json \
226
+ --seed 42 \
227
+ --gen_kwargs "do_sample=True,temperature=0.6,top_p=0.95,top_k=20,min_p=0.0,max_gen_toks=64000,presence_penalty=0.0,seed=42"
228
+ ```
229
 
230
+ ##### MMLU-Pro (0-shot)
231
+ ```
232
+ lm_eval --model local-chat-completions \
233
+ --tasks mmlu_pro_chat \
234
+ --model_args "model=RedHatAI/OmniCoder-9B-FP8-Dynamic,max_length=262144,base_url=http://0.0.0.0:8000/v1/chat/completions,num_concurrent=128,max_retries=3,tokenized_requests=False,tokenizer_backend=None,timeout=1200" \
235
+ --num_fewshot 0 \
236
+ --apply_chat_template \
237
+ --output_path results_mmlu_pro.json \
238
+ --seed 42 \
239
+ --gen_kwargs "do_sample=True,temperature=0.6,top_p=0.95,top_k=20,min_p=0.0,max_gen_toks=64000,presence_penalty=0.0,seed=42"
240
+ ```
241
 
242
+ ##### GSM8K-Platinum (0-shot)
243
+ ```
244
+ lm_eval --model local-chat-completions \
245
+ --tasks gsm8k_platinum_cot_llama \
246
+ --model_args "model=RedHatAI/OmniCoder-9B-FP8-Dynamic,max_length=262144,base_url=http://0.0.0.0:8000/v1/chat/completions,num_concurrent=64,max_retries=3,tokenized_requests=False,tokenizer_backend=None,timeout=1200" \
247
+ --num_fewshot 0 \
248
+ --apply_chat_template \
249
+ --output_path results_gsm8k_platinum.json \
250
+ --seed 42 \
251
+ --gen_kwargs "do_sample=True,temperature=0.6,top_p=0.95,top_k=20,min_p=0.0,max_gen_toks=64000,presence_penalty=0.0,seed=42"
252
+ ```
253
 
254
+ #### lighteval benchmarks
255
+
256
+ **litellm_config.yaml**
257
+
258
+ ```yaml
259
+ model_parameters:
260
+ provider: "hosted_vllm"
261
+ model_name: "hosted_vllm/RedHatAI/OmniCoder-9B-FP8-Dynamic"
262
+ base_url: "http://0.0.0.0:8000/v1"
263
+ api_key: ""
264
+ timeout: 2400
265
+ concurrent_requests: 256
266
+ generation_parameters:
267
+ temperature: 0.6
268
+ max_new_tokens: 50000
269
+ top_p: 0.95
270
+ presence_penalty: 0.0
271
+ top_k: 20
272
+ seed: 42
273
+ ```
274
 
275
+ ##### Math 500, GPQA Diamond, LiveCodeBench v6 (0-shot)
276
+ ```
277
+ lighteval endpoint litellm litellm_config.yaml \
278
+ "math_500|0,gpqa:diamond|0,lcb:codegeneration_v6|0" \
279
+ --output-dir results_lighteval \
280
+ --save-details
281
+ ```
282
 
283
+ ##### AIME 25 (0-shot)
284
+ ```
285
+ lighteval endpoint litellm litellm_config.yaml \
286
+ "aime25|0" \
287
+ --output-dir results_aime25 \
288
+ --save-details
289
+ ```
290
 
291
+ #### SWE-Bench Verified
 
292
 
293
+ SWE-Bench Verified was evaluated with [mini-swe-agent](https://github.com/SWE-agent/mini-swe-agent) for agent rollouts against the vLLM server, and scored with the [SWE-bench](https://github.com/SWE-bench/SWE-bench) evaluation harness.
294
 
295
+ **registry.yaml**
296
 
297
+ ```yaml
298
+ {
299
+ "RedHatAI/OmniCoder-9B-FP8-Dynamic": {
300
+ "max_tokens": 262144,
301
+ "input_cost_per_token": 0.0,
302
+ "output_cost_per_token": 0.0,
303
+ "litellm_provider": "hosted_vllm",
304
+ "mode": "chat"
305
+ }
306
+ }
307
+ ```
308
 
309
+ Set the model endpoint in `swebench.yaml`:
310
+
311
+ ```yaml
312
+ model:
313
+ model_name: "hosted_vllm/RedHatAI/OmniCoder-9B-FP8-Dynamic"
314
+ model_kwargs:
315
+ api_base: "http://0.0.0.0:8100/v1"
316
+ api_key: ""
317
+ temperature: 0.2
318
+ top_p: 0.95
319
+ presence_penalty: 0.0
320
+ top_k: 20
321
+ max_new_tokens: 240000
322
+ ```
323
 
324
+ Run agent rollouts:
325
 
326
+ ```
327
+ LITELLM_MODEL_REGISTRY_PATH=registry.yaml \
328
+ mini-extra swebench \
329
+ --subset inference-optimization/SWE-bench_Verified \
330
+ --split test \
331
+ --config swebench.yaml \
332
+ --workers 64 \
333
+ --output verified_swe_instances
334
  ```
335
 
336
+ Score predictions with the SWE-bench harness:
 
 
337
 
338
+ ```
339
+ python -m swebench.harness.run_evaluation \
340
+ --dataset_name inference-optimization/SWE-bench_Verified \
341
+ --predictions_path ./verified_swe_instances/preds.json \
342
+ --max_workers 8 \
343
+ --run_id validate-verified_swe_instances \
344
+ --cache_level instance
345
+ ```
346
 
347
+ </details>