Skip to main content

معلومات المصدر

المستودع
replicate/cog
آخر نشاط في المصدر
٣١ مارس ٢٠٢٦ في ١٣:٢٥
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٩٬٤٩٧
التفرعات
٧٠١

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
cog-review
description
Cog architecture and cross-cutting review guidelines
## Cog architecture review guidelines Cog packages ML models into production-ready containers. Use this skill for changes that cross language boundaries or touch core architecture. ### Component overview - **CLI** (Go): `cmd/cog/` and `pkg/` -- builds, runs, and deploys models - **Python SDK**: `python/cog/` -- predictor interface, types, HTTP/queue server - **Coglet** (Rust): `crates/` -- prediction server inside containers (HTTP, worker management, IPC) ### Key design patterns **Wheel resolution**: The CLI discovers SDK and coglet wheels from `dist/` at Docker build time. Wheels are NOT embedded in the binary. Changes to build artifacts need to account for this. **Dockerfile generation**: `pkg/dockerfile/` generates Dockerfiles from `cog.yaml` config. Template injection and escaping matter here. **Config parsing**: `pkg/config/config.go` parses `cog.yaml`. Schema is at `pkg/config/data/config_schema_v1.0.json`. Changes must keep schema and Go code in sync. **Two-process coglet**: Parent process (HTTP server + orchestrator) and child worker process (Python predictor execution) communicate via IPC. Changes to the IPC protocol affect both Rust and Python code. **Compatibility matrix**: CUDA/PyTorch/TensorFlow compatibility is managed in `tools/compatgen/`. Framework version changes have wide blast radius. ### Cross-cutting concerns - **VERSION.txt** is the single source of truth for versioning. `Cargo.toml` must match. - Changes to `python/cog/base_predictor.py` affect all downstream model authors. - Changes to `docs/` require running `mise run docs:llm` to regenerate `docs/llms.txt`. - CLI reference docs are auto-generated -- changes to `cmd/` or `pkg/cli/` require `mise run docs:cli`. - Integration tests in `integration-tests/` use Go's testscript and need a built cog binary. ### What to watch for - Breaking changes to the predictor interface or cog.yaml schema - Docker build changes that affect layer caching or build time - IPC protocol changes without updating both Rust and Python sides - Version bumps that miss one of the places VERSION.txt needs to match - New ML framework versions without compatibility testing
عرض على GitHub