
Splash nima?
Splash Apple silicon uchun maxsus ishlab chiqilgan mahalliy inferens dvigatelidir. U OpenAI yoki Anthropic API'larini qo‘llab-quvvatlaydigan kodlash agentlari va ilovalariga optimallashtirilgan til modellarini taqdim etadi. Server bitta Mac kompyuterida mahalliy ishlaydi va API'ni 127.0.0.1:8000 manzilida ochadi.
Umumiy maqsadli inferens dvigatelidan farqli ravishda, Splash har bir qo‘llab-quvvatlanadigan model uchun yadrolarini, spekulyativ dekodlash draft modelini, og‘irliklar joylashuvini va xotira rejasini maxsus optimallashtiradi. Model paketlari ishga tayyor holda keladi, shuning uchun Xcode, kompilyator vositalari yoki modelga xos sozlash talab qilinmaydi.
Asosiy imkoniyatlar
- Mahalliy Apple silicon inferensi: Splash modellarni bevosita qo‘llab-quvvatlanadigan Mac kompyuterida ishga tushiradi.
- OpenAI bilan moslik: U
/v1/chat/completionsmanzilida Chat Completions va/v1/responsesmanzilida Responses API'larini taqdim etadi. - Anthropic bilan moslik: Anthropic Messages so‘rovlari
/v1/messagesmanzilida mavjud. - Kengaytirilgan so‘rovlarni qo‘llab-quvvatlash: API'lar oqimli uzatish, vosita chaqiruvlari, JSON Schema chiqishi, rasmlar va so‘rov ichidagi PDF fayllarni qo‘llab-quvvatlaydi.
- Kodlash agentlari bilan integratsiya: Splash OpenCode, Claude, Codex va Hermes uchun buyruqlarni o‘z ichiga oladi.
- Modelga xos tezlashtirish: Har bir model paketi spekulyativ dekodlash uchun DFlash 2 draft modeli hamda modelning aniq o‘lchamlariga moslab oldindan kompilyatsiya qilingan Metal yadrolarini o‘z ichiga oladi.
- Avtomatik xotira rejalashtirish: Splash ishga tushganda Metal uchun mavjud xotiraga asoslanib kontekst, KV-kesh sig‘imi va paket limitlarini hisoblaydi.
- Promptni tekshirish:
/tokenizeva/apply-templateendpointlari inferensni ishga tushirmasdan token ID'lari yoki tayyorlangan promptlarni qaytaradi.
Tizim talablari
Splash'ni o‘rnatishdan oldin tizimingiz quyidagi barcha talablarga javob berishini tekshiring:
- Apple M3 yoki undan yangiroq protsessor
- macOS 26.4 yoki undan keyingi versiya
- Homebrew
- Kamida 36 GB yagona xotira
- 48 GB yoki undan ko‘p yagona xotira tavsiya etiladi
Foydalanish mumkin bo‘lgan kontekst sig‘imi mavjud xotiraga bog‘liq. Qo‘llab-quvvatlanadigan modellar native kontekst oynasi 256K gacha bo‘lsa-da, to‘liq oyna har bir Mac kompyuteriga sig‘masligi mumkin.
Splash'ni o‘rnatish
Paketlangan versiyani Inco Homebrew tap'i orqali o‘rnating:
brew install incoai/tap/splash
Yaratish kerak bo‘lgan konfiguratsiya fayli mavjud emas. Splash ixtiyoriy sozlamalar uchun buyruq qatori flaglari va muhit o‘zgaruvchilaridan foydalanadi.
Model serverini ishga tushirish
Optimallashtirilgan Qwen3.8-27B paketini quyidagi buyruq bilan taqdim eting:
splash serve --model incoai/Qwen3.8-27B-Splash
Birinchi ishga tushirishda Splash model paketini yuklab oladi va tekshiradi, mavjud xotirani tekshiradi, xotira rejasini yaratadi hamda serverni 127.0.0.1:8000 manzilida ishga tushiradi. Qwen3.8-27B paketi 17.4 GB hajmda yuklanadi va 4-bitli asosiy model hamda uning DFlash 2 draft modelini o‘z ichiga oladi.
Terminalda Ready yozuvi chiqmaguncha kuting. Modeldan foydalanayotganingizda shu terminalni ochiq qoldiring. Shundan so‘ng chat sahifasiga kirish uchun brauzerda http://127.0.0.1:8000 manzilini ochishingiz mumkin.
Splash'ni to‘xtatmoqchi bo‘lganingizda server terminalida Ctrl+C tugmalarini bosing.
Muqobil modeldan foydalanish
Splash 4-bitli Qwen3.6-35B-A3B modeli va uning DFlash 2 draft modelini o‘z ichiga olgan 20.9 GB hajmdagi paketni ham taqdim etadi:
splash serve --model incoai/Qwen3.6-35B-A3B-Splash
--model opsiyasi yaroqli Splash paketini o‘z ichiga olgan boshqa owner/repo repozitoriyasiga yo‘naltirilishi mumkin. Oddiy MLX va Transformers checkpoint'lari mos kelmaydi. Shaxsiy Hugging Face repozitoriyasi uchun mos HF_TOKEN qiymatini taqdim eting.
Kodlash agentini ulash
Server tayyorligi haqida xabar bergach, boshqa terminalni oching va qo‘llab-quvvatlanadigan o‘rnatilgan kodlash agentlaridan birini ishga tushiring:
splash opencode
splash claude
splash codex
splash hermes
Faqat foydalanmoqchi bo‘lgan agentingiz buyrug‘ini ishga tushiring. Agent so‘rov yuborayotgan paytda dastlabki server jarayoni faol qolishi kerak.
OpenAI Chat Completions API'ni chaqirish
Ilovalar Splash'ni OpenAI bilan mos mahalliy server sifatida chaqirishi mumkin. Quyidagi so‘rov taqdim etilayotgan modeldan bir jumlalik tushuntirish so‘raydi:
curl http://127.0.0.1:8000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "incoai/Qwen3.8-27B-Splash",
"messages": [
{
"role": "user",
"content": "Explain speculative decoding in one sentence."
}
]
}'
model xossasi ixtiyoriy. Agar uni qo‘shsangiz, qiymati ayni paytda taqdim etilayotgan paket nomiga mos kelishi kerak.
Tegishli API endpointini tanlash
- OpenAI Chat Completions mijozlari uchun
/v1/chat/completionsdan foydalaning. - OpenAI Responses mijozlari uchun
/v1/responsesdan foydalaning. - Anthropic Messages mijozlari uchun
/v1/messagesdan foydalaning. - Modelni ishga tushirmasdan token ID'larini olish uchun
/tokenizedan foydalaning. - Inferensni ishga tushirmasdan tayyorlangan promptni tekshirish uchun
/apply-templatedan foydalaning.
Mulohaza yuritishni boshqarish
Mulohaza yuritish sukut bo‘yicha yoqilgan. Uni o‘chirish uchun so‘rov tanasiga "reasoning_effort": "none" ni qo‘shing. Qwen3.8-27B modeli low, medium va xhigh qiymatlarini ham qabul qiladi.
{
"model": "incoai/Qwen3.8-27B-Splash",
"reasoning_effort": "none",
"messages": [
{
"role": "user",
"content": "Summarize speculative decoding."
}
]
}
Mulohaza yuritishni o‘chirish vazifa kengaytirilgan mulohaza jarayonini talab qilmaganda foydali bo‘lishi mumkin. Mulohaza yuritishdan foydalanish foydali bo‘lgan Qwen3.8-27B vazifalari uchun ish yuklamasiga mos qo‘llab-quvvatlanadigan harakat darajasini tanlang.
Xotira va kontekst cheklovlarini sozlash
Splash mos standart qiymatlarni avtomatik aniqlaydi, ammo splash serve bu jarayonni aniqroq boshqarish uchun ixtiyoriy bayroqlarni taqdim etadi:
--max-memory 28GMetal ajratmalarining yuqori chegarasini belgilaydi.--max-context 100Kkontekst oynasini modelning 256K hajmdagi mahalliy chegarasigacha cheklaydi.--max-image-pixelshar bir rasm uchun o‘lchami o‘zgartirilgandan keyingi maksimal piksel sonini boshqaradi. Standart qiymati 4,194,304.--allowed-hostqo‘shimcha HTTPHostnomiga, masalan, proksi ishlatadigan nomga ruxsat beradi. Bu parametrni takrorlash mumkin.--no-webuibrauzerdagi chat sahifasini o‘chiradi.
Masalan, quyidagi buyruq Metal ajratmalarini 28 GB bilan cheklaydi va kontekstni 100K gacha qisqartiradi:
splash serve \
--model incoai/Qwen3.8-27B-Splash \
--max-memory 28G \
--max-context 100K
Agar model mavjud xotiraga sig‘masa, Splash xotira budjeti taqsimotini chiqaradi va ishlamaydigan serverni ishga tushirish o‘rniga to‘xtaydi. Kontekst yoki xotira talablarini kamaytirish yordam berishi mumkin, ammo model og‘irliklari va ish vaqtida zarur bo‘ladigan holat baribir xotiraga sig‘ishi kerak.
Mahalliy API’ni himoyalash
Autentifikatsiya sukut bo‘yicha o‘chirilgan. Serverni ishga tushiradigan shell’da SPLASH_API_KEY ni belgilash orqali kalit talab qilishingiz mumkin:
export SPLASH_API_KEY='replace-with-your-key'
splash serve --model incoai/Qwen3.8-27B-Splash
Splash boshqaradigan kodlash agentini ishga tushirish uchun foydalaniladigan shell’da ham xuddi shu muhit o‘zgaruvchisini belgilang:
export SPLASH_API_KEY='replace-with-your-key'
splash opencode
API mijozlari kalitni bearer token sifatida yoki x-api-key sarlavhasi orqali yuborishi mumkin. Kalitni serverning --api-key parametri bilan bevosita taqdim etish ham mumkin. Health va readiness tekshiruvlari ochiq qoladi.
Ilg‘or maslahatlar
Model keshini hisobga oling
Yuklab olingan paketlar Hugging Face keshida saqlanadi. brew upgrade splash bu paketlar, model havolalari va agent seanslarini saqlab qoladi, shuning uchun dvigatelni yangilash ularni o‘chirib tashlashni talab qilmaydi.
Proksi bilan hostlar ro‘yxatini cheklang
Server mahalliy ravishda 127.0.0.1:8000 manziliga ulanadi. Agar mahalliy proksi boshqa HTTP Host qiymatini yuborsa, ushbu host nomini --allowed-host bilan qo‘shing. Bir nechta host nomiga ruxsat berish kerak bo‘lsa, bayroqni takrorlang.
Faqat API uchun foydalanilganda veb-interfeysni o‘chiring
Agar Splash faqat ilovalar yoki agentlarga xizmat ko‘rsatsa, uni --no-webui bilan ishga tushiring. Bu chat sahifasini o‘chiradi, biroq qo‘llab-quvvatlanadigan API endpointlarini faol qoldiradi.
Inferensiyadan oldin promptlarni tekshiring
Token identifikatorlari kerak bo‘lsa /tokenize dan, yakuniy ko‘rsatilgan promptni tekshirish kerak bo‘lsa /apply-template dan foydalaning. Bu endpointlar modelni ishga tushirmagani uchun kontekst hajmi va prompt formatini tuzatishda foydalidir.
SSD keshiga yuklashni sinab ko‘ring
3-pull request dagi eksperimental amalga oshirish KV-kesh va GDN holatlarini SSD’ga yuklashi mumkin. Bu branch’ni yig‘ing va funksiyani yoqish uchun serverni --max-cache-disk 8G bilan ishga tushiring. Bu RAM cheklanganida qayta foydalanish mumkin bo‘lgan prefikslarni saqlab qolishi va takroriy prefill ishlarini kamaytirishi mumkin.
SSD’ga yuklash funksiyasi eksperimental bo‘lib, quick start’da tavsiflangan standart paketlangan ish jarayonining bir qismi emas.
Splash unumdorligini tushunish
Splash inferensiya stekining katta qismini har bir model uchun maxsus optimallashtirish orqali tezlikka erishadi. Spekulyativ dekodlash ixtiyoriy rejim emas, balki standart dekodlash yo‘lidir. Modelga xos DFlash 2 draft token bloklarini taklif qiladi, maqsad model esa ularni parallel ravishda tekshiradi.
Uning birlashtirilgan Metal yadrolari modelning aniq shakllari uchun kompilyatsiya qilinadi va qo‘shimcha nusxalashsiz diskdan aks ettirilgan, maxsus qadoqlangan og‘irliklarni o‘qiydi. Ishga tushirish vaqtida Splash joriy kompyuter uchun kontekst, kesh va batch cheklovlarini ham hisoblab chiqadi.
16 yadroli GPU va 48 GB xotiraga ega M5 Pro’da loyiha o‘lchovlariga ko‘ra, Qwen3.8-27B qisqa promptlarni dekodlashda soniyasiga 74 token tezlikka erishgan va keshlangan 32K kontekstni qayta ishlaganda birinchi tokenini 282 ms’da qaytargan. Natijalar model, prompt, parallellik, qurilma va xotira sharoitlariga bog‘liq. Splash ishga tushirilishi haqidagi maqola benchmark usuli va taqqoslashlarni batafsil yoritadi.
Xulosa
Splash so‘nggi Apple silicon qurilmalarida tanlangan, yuqori darajada optimallashtirilgan modellarni ishga tushirishning soddalashtirilgan usulini taqdim etadi. Uni Homebrew orqali o‘rnating, mos Splash model paketini ishga tushiring, so‘ng brauzer, qo‘llab-quvvatlanadigan kodlash agenti yoki OpenAI- va Anthropic-mos API orqali ulang. Avtomatik standart qiymatlar dastlabki sozlashni osonlashtiradi, xotira, kontekst, xavfsizlik, host va interfeys parametrlari esa boshqariladiganroq joylashtirishlarni qo‘llab-quvvatlaydi.
