Pro sürüm
Accelerator
Bir bakışta
“Bir bakışta” başlıklı bölümAccelerator, toplu görüntü yeniden sıkıştırmasını, PDF ayrıştırmasını ve metin gömmeyi, birlikte konumlandırılmış bir CPU yardımcı bileşenine (sidecar) boşaltır. Yardımcı bileşen erişilemez olduğunda, her işlem süreç içi PHP yoluna geri döner; böylece çağıranlar her iki durumda da aynı sonuçları gözlemler.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu yetenek NextPDF Pro (nextpdf/pro) ile sevk edilir ve bir Pro katmanı lisans zarfıyla etkinleşir. Bu yetkilendirmeye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve lisans alın.
Accelerator’ın özellik başına ayrı bir bayrağı yoktur. Hızlandırılmış yol, çalışma zamanında bir yardımcı bileşen erişilebilirlik denetimiyle (ProAcceleratorProvider::isAvailable()) seçilir; yardımcı bileşen erişilemez olduğunda, bunun yerine süreç içi PHP yolu çalışır.
Kurulum
“Kurulum” başlıklı bölümcomposer require nextpdf/pro:^3Premium paketi, nextpdf/pro kodunu NextPDF\Pro\Accelerator ad alanı altında kurar. nextpdf/premium meta paketi ayrıca Enterprise yeteneklerini de kurar; Accelerator’ın kendisi bir Pro katmanı özelliğidir.
Kavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümProAcceleratorProvider giriş noktasıdır. Tembel olarak dört hizmet oluşturur:
- Pro
PdfOptimizer’ı sarmalayan ve toplu görüntü işini yardımcı bileşene boşaltan bir hızlandırılmış optimizer. - Pro
PdfDiffer’ı sarmalayan bir hızlandırılmış differ; yardımcı bileşen yapı ayrıştırmasını paralelleştirirken diff algoritmasının kendisi PHP’de çalışır. - Yardımcı bileşen tarafından barındırılan bir all-MiniLM-L6-v2 ONNX modelini kullanarak 384 boyutlu vektörler döndüren bir CPU gömme hizmeti.
- Bir koleksiyon tanımlayıcısıyla anahtarlanan bellek içi bir HNSW dizini oluşturan ve arayan bir CPU vektör dizini.
Tasarım, alan mantığını PHP’de tutar. Yardımcı bileşen, paralelleştirilebilir, CPU’ya bağlı işi (görüntü dönüştürme, çok belgeli ayrıştırma, ONNX çıkarımı, vektör araması) gerçekleştirir. Her hızlandırılmış yolun, eşdeğer sonuçlar üreten belirleyici bir PHP yedeği vardır.
Neden bu şekilde çalışır
“Neden bu şekilde çalışır” başlıklı bölümYük taşıyan karar, doğruluğun asla yardımcı bileşene bağlı olmamasıdır. Alan mantığı PHP’de kalır; yardımcı bileşen yalnızca paralelleştirilebilir, CPU’ya bağlı işi gerçekleştirir. Optimizer ve differ (AcceleratedOptimizer, AcceleratedDiffer) belirleyici bir PHP yedeği tutar; böylece eksik bir yardımcı bileşen sonuçları değil, zamanlamayı değiştirir. Yalnızca PHP eşdeğeri olmayan iki işlem — CpuEmbeddingService ve CpuVectorIndex — bozulmak yerine kapalı biçimde başarısız olur (fail closed). Orada sessizce yanlış bir yanıt, açık bir hatadan daha kötü olurdu. Bu ayrım, çağıranlar tek bir kod yolu ve tek bir güven sınırı korurken verimin yardımcı bileşen çekirdekleriyle ölçeklenmesini sağlar.
Tasarım arka planı: Yüksek hacimli belge oluşturma.
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölümProAcceleratorProvider::isAvailable(), yardımcı bileşenin yanıt verip vermediğini döndürür. Çağıranlar buna göre dallanabilir, ancak zorunda değildir: optimizer ve differ otomatik olarak geri döner.embedding()->embed(), tek bir 384 elemanlı vektör döndürür;batchEmbed(), girdi başına bir vektör döndürür ve boş bir girdi listesiniInvalidArgumentExceptionile reddeder.vectorIndex($collectionId)->build(),vectorsveids’in aynı uzunlukta olmasını gerektirir ve boş bir girdiyi işlemsiz (no-op) olarak ele alır.vectorIndex()->search($queryVector, $topK), sıralanmış sonuçlar döndürür;delete(), HNSW dizini için desteklenmez ve çağrıyı reddeder — çağıranlar bunun yerine dizini yeniden oluşturur.- Gömme hizmeti ve vektör dizini yardımcı bileşeni gerektirir; ONNX çıkarımı veya HNSW araması için bir PHP eşdeğeri olmadığından, sessizce bozulmak yerine bir “kullanılamıyor” hatası yükseltirler.
- Optimizer ve differ, yardımcı bileşen başarısızlığında asla hata yükseltmez; şeffaf olarak PHP yoluna düşerler.
Kod örneği — Hızlı başlangıç
“Kod örneği — Hızlı başlangıç” başlıklı bölümAşağıdaki, belgelenen genel API’yi (ProAcceleratorProvider) yansıtır. Depo, bu modül için çalıştırılabilir bir örnek sevk etmez.
use NextPDF\Pro\Accelerator\ProAcceleratorProvider;
$provider = new ProAcceleratorProvider($spectrumClient);
$result = $provider->optimizer()->optimizeBatch([ 'invoice-1' => $pdfBytesA, 'invoice-2' => $pdfBytesB,]);
foreach ($result->getItems() as $item) { // Per-document optimization outcome.}Kod örneği — Üretim
“Kod örneği — Üretim” başlıklı bölümuse NextPDF\Pro\Accelerator\ProAcceleratorProvider;
$provider = new ProAcceleratorProvider($spectrumClient);
if ($provider->isAvailable()) { $index = $provider->vectorIndex('contracts'); $index->build($vectors, $ids); $hits = $index->search($queryVector, topK: 10);} else { // No PHP equivalent for HNSW search: route to your own retrieval path // or surface a degraded-capability message.}ProAcceleratorProvider’ı kapsayıcınız aracılığıyla bir tekil (singleton) olarak bağlayın; böylece optimizer ve differ örnekleri yeniden kullanılır. Gömme ve vektör-dizini çağrılarını, yardımcı bileşeni gerektiriyor olarak ele alın.
Uç durumlar ve tuzaklar
“Uç durumlar ve tuzaklar” başlıklı bölüm- Vektör dizini, yardımcı bileşen süreç belleğinde yaşar ve koleksiyon tanımlayıcısıyla anahtarlanır. Bir yardımcı bileşen yeniden başlatması tüm dizinleri temizler; yeniden başlatmadan sonra yeniden oluşturun.
- Vektör dizini üzerinde
count(), yardımcı bileşen erişilemez olduğunda hata yükseltmek yerine0döndürür. - Optimizer ve differ hızlandırması en iyi çabadır; bir toplu işlem ortasındaki bir yardımcı bileşen hatası, o çağrı için sessiz bir geri dönüşe neden olur; böylece doğruluk değil, zamanlama değişir.
Performans
“Performans” başlıklı bölümHızlandırma, CPU’ya bağlı toplu işi hedefler: paralel görüntü dönüştürme, çok belgeli ayrıştırma ve vektör araması. NextPDF burada sabit bir verim çarpanı yayımlamaz; kazançlar, belge karışımına, görüntü yoğunluğuna, yardımcı bileşen çekirdek sayısına ve toplu işlem boyutuna bağlıdır. Belirli bir sayıya güvenmeden önce kendi ortamınızda ölçün. PHP yedeği, tasarım gereği tek iş parçacıklıdır.
Güvenlik notları
“Güvenlik notları” başlıklı bölümBu modül, belgeleri ve vektörleri birlikte konumlandırılmış yardımcı bileşene, yapılandırılmış taşıması üzerinden gönderir. Yardımcı bileşeni güven sınırınızın bir parçası olarak ele alın ve aynı ana makinede veya özel bir ağ segmentinde dağıtın. Modül, gönderimden önce girdi boyutunu ve şeklini doğrular. Hiçbir belge içeriğini günlüğe kaydetmez.
Uygunluk
“Uygunluk” başlıklı bölümBu modül kendisi hiçbir biçim uygunluğu işi gerçekleştirmez; optimizasyonu ve diff’lemeyi Pro Optimizer ve Diff modüllerine devreder. ISO 32000-2 referansları için bu modüllere bakın. Bu sayfa için uygunluk kanıtı, belgelenen genel sınıf sözleşmelerinden ve bunların birim testlerinden alınmıştır; yazım zamanında RAG bütüncesi kullanılamadığı için burada hiçbir harici madde tanımlayıcısı ileri sürülmez.
Enterprise sınır notu
“Enterprise sınır notu” başlıklı bölümEnterprise, Accelerator davranışını değiştirmez. Enterprise, başka yerde belgelenen daha yüksek katmanlı uyumluluk, arşivleme ve imza yaşam döngüsü özellikleri ekler; bunlar bu modülün kapsamı dışındadır ve Accelerator’ı kullanmak için gerekli değildir.
Core yedeği / alternatifi
“Core yedeği / alternatifi” başlıklı bölümPro olmadan, NextPDF Core’un süreç içi optimizasyonunu ve diff’lemesini kullanın. Bu modüldeki hızlandırılmış yollar, yardımcı bileşen yoksa aynı PHP davranışına indirgenir.
Yayımlama sınırı
“Yayımlama sınırı” başlıklı bölümBu sayfa yalnızca dışarıdan gözlemlenebilir davranışı ve desteklenen genel API yüzeyini belgeler. Dahilî ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, runbook dosya adları ve bilet önekleri kapsam dışıdır.