منصوبے کے بارے میں
goinfer ایک خالص-Go، بغیر-cgo لائبریری اور بائنریز کا مجموعہ ہے جو مقامی طور پر اوپن-ویٹ LLMs چلانے کے لیے ہے۔ یہ واحد-صارف انفرنس کو ہدف بناتا ہے: ایک پروسیس، ایک مشین، فائل کاپی کر کے تعینات۔ یہ سروِنگ انجن نہیں (کوئی مسلسل بیچنگ یا صفحہ بند توجہ نہیں) اور نہ ہی پرووائیڈر-آرکیسٹریشن پرت۔
کلیدی صلاحیتیں:
- **لائبریری استعمال**: ڈیکوڈر اور ٹوکنائزر پیکجز `go get` کریں، امپورٹ کریں، اور `decoder.Model.Generate` سے متن بنائیں۔ 40 سطروں کی مثال `examples/embed/main.go` میں ہے۔
- **تضمین شدہ آؤٹ پٹ اقسام**: Go اسٹرکٹ سے JSON Schema اخذ کریں، بڑھتی بائٹ-سطح گرامر پر لاگٹ ماسک کے ذریعے جنریشن کو پابند کریں، اور نتیجہ `json.Unmarshal` کریں۔ غلط ٹوکنز ناقابلِ رسائی ہیں، دوبارہ کوشش نہیں۔ کسی بھی JSON Schema سے اور کمانڈ لائن سے کام کرتا ہے۔ ٹول کالز کو Qwen، Nemotron-3-Nano، Mellum2 اور Granite 4.2 خاندانوں پر یکساں سلوک ملتا ہے۔
- **اعتماد کی گرفت**: `.CaptureConfidence(...)` فیصلہ کن مقامات پر enum، boolean اور integer فیلڈز کے لیے اجازت یافتہ اقدار پر ماڈل کا امکان بتاتا ہے۔ روٹنگ کے لیے مفید، مگر کیلیبریٹڈ نہیں۔
- **بائنریز**: `goinfer-serve` (OpenAI + Anthropic APIs، ویب UI، GPU بلٹ اِن)، `goinfer-chat` (سنگل-شاٹ رن ٹائم)، اور ماڈل-شامل اقسام (0.5B اور 1.5B) جو ~0.4s میں بوٹ ہوتی ہیں اور 100 MB سے کم ہیپ لیتی ہیں۔
- **ماڈل حصول**: `pull` سے HuggingFace سے براہِ راست GGUFs کھینچیں؛ رکے ہوئے ٹرانسفرز دوبارہ شروع ہوتے ہیں؛ صرف گمنام رسائی۔
- **بیک اینڈز**: CPU، CUDA، Metal اور WebGPU، سب بغیر cgo۔ GPU بیک اینڈز کے الگ انٹری پوائنٹس ہیں (`-tags metal`، `-tags cuda`)۔
- **کوانٹائزیشن**: f32، int8، int8int8، int4 (W4A8) اور int4mix؛ 15 GGUF اقسام پڑھتا ہے اور پانچ پریسیژنز میں حساب کرتا ہے۔ `--quant int4` ڈیفالٹ ہے۔
- **بڑے ماڈلز**: `-stream-weights` صرف روٹڈ ایکسپرٹس کو مقیم رکھتا ہے (MoE کے لیے)؛ `-moe-cache-experts` ایکسپرٹس کو ہوسٹ→VRAM پر طلب کے مطابق اسٹریم کرتا ہے۔
- **چھوٹے آلات**: `CGO_ENABLED=0` کے ساتھ 64-بٹ ARM Linux (مثلاً Raspberry Pi) پر کراس-کمپائل کرتا ہے؛ 512 MB بورڈ نچلی حد ہے۔
- **ماڈل خاندان**: 39 خاندان بشمول Gemma 1/2/3/4، Qwen 2.5/3، Llama، Mistral، Mixtral، Phi-3، DeepSeek/MLA، GLM، Kimi، Granite، Nemotron، Mellum۔ ہر ایک HuggingFace لاگٹ-پیرٹی گیٹ کے پیچھے۔
- **تسلسل مکسنگ**: softmax·GQA، گیٹڈ-لکیری (DeltaNet)، اسٹیٹ-اسپیس (Mamba-2)، لیٹنٹ-KV (MLA)، نیز ڈینس اور اسپارس-MoE۔
- **لوڈرز**: GGUF، safetensors، GPTQ، AWQ، اور پہلے سے کوانٹائزڈ `.giw` بنڈلز۔
- **سروِنگ**: OpenAI-مطابق اور Anthropic Messages اینڈ پوائنٹس، ملٹی-ماڈل، وژن، ایمبیڈنگز۔ `POST /v1/systemone` TypeSafe کے فیصلوں کی وائر شکل کا جواب دیتا ہے۔
- **کارکردگی**: Ollama کے مقابلے بینچ مارکس تیز کولڈ-اسٹارٹ (M1 Pro پر 25s بمقابلہ 33s)، CUDA پر تیز لالچی ڈیکوڈ (1.05–1.47×) اور Metal (1.5B/7B پر 1.03–1.19×) دکھاتے ہیں، مگر Metal پر طویل-پرامپٹ پریفِل اور Mac پر CPU ڈیکوڈ llama.cpp کے مقابلے سست۔ تمام اعداد و شمار مشین، چیک پوائنٹ، کوانٹ اور تاریخ کے ساتھ دستاویزی ہیں۔
حالت: Pre-1.0۔ فارورڈ-پاس اور کوانٹائزیشن کنٹریکٹ پیرٹی-گیٹڈ اور مستحکم ہے؛ لوڈر اور آرکیٹیکچر-ڈسکرپٹر سطح ابھی متحرک ہے۔ MIT لائسنس یافتہ۔
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.