deepanshupillm commited on
Commit
e0b903e
·
verified ·
1 Parent(s): a27ac02

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +219 -2
README.md CHANGED
@@ -105,7 +105,6 @@ Training used eight NVIDIA H100 GPUs, with 3,034 GRPO steps across five phases.
105
  > **Evaluation Settings Note:** All benchmarks were evaluated with extended thinking enabled (`enable_thinking: true`), a maximum generation length of `max_tokens: 65536`, and `temperature: 0.0`.
106
  >
107
  > Alpie Seed scores are from the FP16 model and do not apply to the 2-bit, 3-bit, or 4-bit variants. **Bold** indicates the best score in each row. Comparison-model scores are taken from published model cards and reports (including the [Qwen3.5-9B model card](https://huggingface.co/Qwen/Qwen3.5-9B)).
108
-
109
  ### 🧮 Language
110
 
111
  <div style="background-color: #FAF5FF; border: 1.5px solid #C4B5FD; border-radius: 14px; padding: 12px; margin-bottom: 24px; box-shadow: 0 4px 12px rgba(88, 37, 179, 0.05); overflow-x: auto;">
@@ -285,6 +284,8 @@ Training used eight NVIDIA H100 GPUs, with 3,034 GRPO steps across five phases.
285
  </table>
286
  </div>
287
 
 
 
288
  - SWE-Bench Verified: resolved rate using Mini-SWE-agent, with retries disabled.
289
  - Comparison-model scores were not re-run by 169Pi, and harnesses, prompts, and benchmark versions differ, so cross-model comparisons are indicative rather than strictly like-for-like. Scores vary with dataset versions, prompts, evaluation harnesses, and inference settings.
290
  - Empty cells (--) indicate scores not yet available or not applicable.
@@ -299,4 +300,220 @@ Training used eight NVIDIA H100 GPUs, with 3,034 GRPO steps across five phases.
299
  Qwen3.5 support requires a recent Transformers release (Transformers 5 or later).
300
 
301
  ```bash
302
- pip install -U "transformers>=5.2.0" torch torchvision pillow accelerate
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  > **Evaluation Settings Note:** All benchmarks were evaluated with extended thinking enabled (`enable_thinking: true`), a maximum generation length of `max_tokens: 65536`, and `temperature: 0.0`.
106
  >
107
  > Alpie Seed scores are from the FP16 model and do not apply to the 2-bit, 3-bit, or 4-bit variants. **Bold** indicates the best score in each row. Comparison-model scores are taken from published model cards and reports (including the [Qwen3.5-9B model card](https://huggingface.co/Qwen/Qwen3.5-9B)).
 
108
  ### 🧮 Language
109
 
110
  <div style="background-color: #FAF5FF; border: 1.5px solid #C4B5FD; border-radius: 14px; padding: 12px; margin-bottom: 24px; box-shadow: 0 4px 12px rgba(88, 37, 179, 0.05); overflow-x: auto;">
 
284
  </table>
285
  </div>
286
 
287
+
288
+
289
  - SWE-Bench Verified: resolved rate using Mini-SWE-agent, with retries disabled.
290
  - Comparison-model scores were not re-run by 169Pi, and harnesses, prompts, and benchmark versions differ, so cross-model comparisons are indicative rather than strictly like-for-like. Scores vary with dataset versions, prompts, evaluation harnesses, and inference settings.
291
  - Empty cells (--) indicate scores not yet available or not applicable.
 
300
  Qwen3.5 support requires a recent Transformers release (Transformers 5 or later).
301
 
302
  ```bash
303
+ pip install -U "transformers>=5.2.0" torch torchvision pillow accelerate
304
+ ```
305
+
306
+ ### Serve with vLLM (OpenAI-compatible API)
307
+
308
+ Start the standard Alpie Seed 9B server:
309
+
310
+ ```bash
311
+ vllm serve 169Pi/Alpie_seed \
312
+ --port 8000 \
313
+ --max-model-len 262144 \
314
+ --reasoning-parser qwen3
315
+ ```
316
+
317
+ To enable automatic tool-call parsing, use this command instead:
318
+
319
+ ```bash
320
+ vllm serve 169Pi/Alpie_seed \
321
+ --port 8000 \
322
+ --max-model-len 262144 \
323
+ --reasoning-parser qwen3 \
324
+ --enable-auto-tool-choice \
325
+ --tool-call-parser qwen3_coder
326
+ ```
327
+
328
+ The API is available at `http://localhost:8000/v1`. The tool-calling options enable vLLM to parse model-generated tool calls; your application is still responsible for executing the requested tools and returning their results.
329
+
330
+ ### Run with Transformers
331
+
332
+ The following examples load the full vision-language checkpoint using `AutoModelForImageTextToText` and `AutoProcessor`. They retain the model's multimodal architecture. The `enable_thinking` argument is passed to the chat template to select the response mode.
333
+
334
+ #### 1. Thinking mode (`enable_thinking=True`)
335
+
336
+ ```python
337
+ import torch
338
+ from transformers import AutoModelForImageTextToText, AutoProcessor
339
+
340
+ MODEL_ID = "169Pi/Alpie_seed"
341
+
342
+ processor = AutoProcessor.from_pretrained(MODEL_ID)
343
+ model = AutoModelForImageTextToText.from_pretrained(
344
+ MODEL_ID,
345
+ torch_dtype="auto",
346
+ device_map="auto",
347
+ )
348
+ model.eval()
349
+
350
+ messages = [
351
+ {
352
+ "role": "user",
353
+ "content": [
354
+ {"type": "text", "text": "Explain why the sky appears blue."}
355
+ ],
356
+ }
357
+ ]
358
+
359
+ inputs = processor.apply_chat_template(
360
+ messages,
361
+ tokenize=True,
362
+ add_generation_prompt=True,
363
+ enable_thinking=True,
364
+ return_dict=True,
365
+ return_tensors="pt",
366
+ ).to(model.device)
367
+
368
+ with torch.inference_mode():
369
+ output_ids = model.generate(
370
+ **inputs,
371
+ max_new_tokens=4096,
372
+ do_sample=True,
373
+ temperature=0.7,
374
+ top_p=0.8,
375
+ )
376
+
377
+ new_tokens = output_ids[0, inputs["input_ids"].shape[1]:]
378
+ response = processor.decode(new_tokens, skip_special_tokens=True)
379
+ print(response)
380
+ ```
381
+
382
+ #### 2. Non-thinking mode (`enable_thinking=False`)
383
+
384
+ ```python
385
+ import torch
386
+ from transformers import AutoModelForImageTextToText, AutoProcessor
387
+
388
+ MODEL_ID = "169Pi/Alpie_seed"
389
+
390
+ processor = AutoProcessor.from_pretrained(MODEL_ID)
391
+ model = AutoModelForImageTextToText.from_pretrained(
392
+ MODEL_ID,
393
+ torch_dtype="auto",
394
+ device_map="auto",
395
+ )
396
+ model.eval()
397
+
398
+ messages = [
399
+ {
400
+ "role": "user",
401
+ "content": [
402
+ {"type": "text", "text": "Explain why the sky appears blue in two sentences."}
403
+ ],
404
+ }
405
+ ]
406
+
407
+ inputs = processor.apply_chat_template(
408
+ messages,
409
+ tokenize=True,
410
+ add_generation_prompt=True,
411
+ enable_thinking=False,
412
+ return_dict=True,
413
+ return_tensors="pt",
414
+ ).to(model.device)
415
+
416
+ with torch.inference_mode():
417
+ output_ids = model.generate(
418
+ **inputs,
419
+ max_new_tokens=512,
420
+ do_sample=True,
421
+ temperature=0.7,
422
+ top_p=0.8,
423
+ )
424
+
425
+ new_tokens = output_ids[0, inputs["input_ids"].shape[1]:]
426
+ response = processor.decode(new_tokens, skip_special_tokens=True)
427
+ print(response)
428
+ ```
429
+
430
+ #### 3. Tool calling with Transformers
431
+
432
+ Transformers can format the available tool definitions into the prompt. The model generates a tool-call request; your application must parse the request, execute the corresponding function, append the tool result, and ask the model to continue. This example demonstrates generating and inspecting a tool call; it does not execute external tools automatically.
433
+
434
+ ```python
435
+ import json
436
+ import torch
437
+ from transformers import AutoModelForImageTextToText, AutoProcessor
438
+
439
+ MODEL_ID = "169Pi/Alpie_seed"
440
+
441
+ processor = AutoProcessor.from_pretrained(MODEL_ID)
442
+ model = AutoModelForImageTextToText.from_pretrained(
443
+ MODEL_ID,
444
+ torch_dtype="auto",
445
+ device_map="auto",
446
+ )
447
+ model.eval()
448
+
449
+ tools = [
450
+ {
451
+ "type": "function",
452
+ "function": {
453
+ "name": "get_weather",
454
+ "description": "Get the current weather for a city.",
455
+ "parameters": {
456
+ "type": "object",
457
+ "properties": {
458
+ "city": {
459
+ "type": "string",
460
+ "description": "The city to check.",
461
+ }
462
+ },
463
+ "required": ["city"],
464
+ },
465
+ },
466
+ }
467
+ ]
468
+
469
+ messages = [
470
+ {
471
+ "role": "user",
472
+ "content": [
473
+ {"type": "text", "text": "What is the weather like in Patna?"}
474
+ ],
475
+ }
476
+ ]
477
+
478
+ inputs = processor.apply_chat_template(
479
+ messages,
480
+ tools=tools,
481
+ tokenize=True,
482
+ add_generation_prompt=True,
483
+ enable_thinking=True,
484
+ return_dict=True,
485
+ return_tensors="pt",
486
+ ).to(model.device)
487
+
488
+ with torch.inference_mode():
489
+ output_ids = model.generate(
490
+ **inputs,
491
+ max_new_tokens=1024,
492
+ do_sample=True,
493
+ temperature=0.7,
494
+ top_p=0.8,
495
+ )
496
+
497
+ new_tokens = output_ids[0, inputs["input_ids"].shape[1]:]
498
+ generated_text = processor.decode(new_tokens, skip_special_tokens=False)
499
+ print("Model output:")
500
+ print(generated_text)
501
+
502
+ # Tool execution is application-side. Inspect the generated tool-call
503
+ # structure, validate its arguments, and dispatch only to tools you trust.
504
+ ```
505
+
506
+ For image or video inputs, provide the corresponding image/video content items in the user message and use the same `AutoProcessor` + `AutoModelForImageTextToText` loading pattern. See the upstream Qwen3.5 documentation for multimodal message examples and framework-specific details.
507
+
508
+ ## Citation
509
+
510
+ If you use Alpie Seed 9B in your work, please cite:
511
+
512
+ ```bibtex
513
+ @misc{alpie_seed_9b_2026,
514
+ title = {Alpie Seed 9B},
515
+ author = {{169Pi AI}},
516
+ year = {2026},
517
+ howpublished = {\url{https://huggingface.co/169Pi/Alpie_seed}}
518
+ }
519
+ ```