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_type değ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.

Bu sayfa yardımcı oldu mu?