Dosya şeması
Bir component, ihtiyaç duyduğu büyük artifact'leri gömmez. Bunun yerine onları bildirir ve platform, component başlamadan önce her File'ı node üzerinde sağlar. Bildirim, bir backend'in karşısında bağlandığı sözleşmedir: bir component'in doldurduğu slot'ları, her slot'un kabul ettiği türü ve çözümlenmiş dosyayı çalışma zamanında component'e taşıyan yapılandırma parametresini adlandırır.
Dosya bağımlılıklarını bildirme
Giriş dosyaları worker.file_schema altında bildirilir. Her giriş, adlandırılmış bir slot'tur:
worker: file_schema: model: file_type: "weights" config_key: "model_path" is_optional: false tag: "detector"
Slot anahtarı (burada model), bir backend'in karşısında bağlandığı şeydir — ppl backend add-file --key model. file_type, slot'ta hangi yüklenmiş File'ın izinli olduğunu denetler: tek bir değerdir veya component gerçekten birkaç biçim okuduğunda | ile ayrılmış bir listedir. Tam sözcük dağarcığı Dosya türleri içindedir.
config_key, seçilen File'ın çalışan component'e ulaşma yoludur. Platform bu parametreyi bağlamadan sentezler ve dağıtım zamanında yazar, bu nedenle ayrıca config_schema altında görünmemelidir — onu iki kez bildirmek yinelenen parametre hatasıdır. Değerin ne içerdiği, isteğe bağlı component hedefine bağlıdır: hedef yoksa, File bu component'e yüklenir ve değer /files/model gibi component-yerel bir yoldur; bir hedef ayarlıysa (triton, torchserve, vllm, sglang), File o servise yüklenir ve değer, File'ın görünen adıdır.
Kalan alanlar slot'u ayarlar: is_optional slot'un bağlanmamış kalmasına izin verir, tag bağlama anında bir slot kimliği yüzeye çıkarır ve model-artifact adaylarını daraltır, ve mutable backend dağıtık kalırken bağlamanın değişmesine izin verir.
Bir component'in ürettiği dosyaları bildirme
Bir File yazan component, onu worker.generated_file_schema altında bildirir:
worker: generated_file_schema: report: name: "Evidence report" file_type: "pdf" config_key: "report_path"
Çıktı bildirimleri girişlerden daha basittir: name, tek bir file_type ve component'in yolu yazdığı config_key. | liste biçimi burada kabul edilmez — bir çıktı tam olarak bir tür File'dır.
İlgili
- Dosya türleri — bir slot'un bildirebileceği her
file_typedeğeri. - Bundle yapı sözdizimi — dizin yerleşimi için
bundle{…}yapıları. - Dosya bağlama — bir File yükleyin ve onu bu slot'lardan birine bağlayın.
- component.yml — bu şemanın parçası olduğu tam sözleşme.
- Modeller — model-artifact slot'ları ve onları yükleyen runtime.