v0.4.2Üretim yansısı sürüm — bugün noplag.com ile aynı commit

Açık kaynaklı intihal denetleyicisi.

Üretim bulut katmanına sahip ve tamamen açık kaynaklı bir motor sunan tek intihal tespit ürünü. noplag.com'da çalışan kodun aynısı GitHub'da github.com/NoplagLabs/noplag-engine adresinde mevcut — inceleyin, çatallayın, kendi sunucunuzda çalıştırın.

github.com/NoplagLabs/noplag-engineApache 2.012,400 yıldız
DEPO

noplag.com'da kullandığınız commit, GitHub'da da aynı commit.

Açık kaynaklıymış gibi gösteren pazarlama yok. Motorun kapalı kodda tutulduğu sadece SDK içeren bir depo yok. Parçalayıcı, parmak izi oluşturucu, alma kademesi ve rapor birleştirici; hepsi üretim konteynerimizi oluşturan aynı Apache 2.0 deposunda yer alıyor.

noplag/engineHerkese Açık
Yıldızla12.4kÇatalla892

noplag.com'u çalıştıran intihal tespit motoru — bölme, winnowing parmak izleri, alma kademesi, hizalama ve rapor derleme. Apache 2.0.

DİL
Python · Rust
LİSANS
Apache 2.0
KATKIDA BULUNANLAR
38
COMMIT
2.847
SON SÜRÜM
v0.4.2 · 3 gün önce
CI
geçti · 412 test
BAHİS

Kapalı kaynak bir hata, bir özellik değil.

Bizden önceki her intihal denetleyicisi güvenmeniz için bir kara kutu sundu. Skora güvenin. Detayını göremeyeceğiniz yönteme güvenin. Algoritmanın yazı stilinizi aşırı işaretlemeye göre ayarlanmadığına güvenin. Tam tersine oynadık.

01

Göremediğinize güvenemezsiniz

Benzerlik skoru ekli kanıtsız bir sayıdır. Cümle örtüşmesi mi, anlamca değişmiş tahmini mi, AI dedektörü uydurması mı? Yabancı dil yazı stilinize göre kalibre edildi mi? Kapalı denetleyiciler açıklamaz — çünkü avantajları soramayacak olmanızdır. Bunu intihal tespiti için gereken bir bedel olarak kabul etmiyoruz.

02

Açık kaynaklı ürün, açık kaynaklı pazarlama değil

github.com/NoplagLabs/noplag-engine adresindeki Apache 2.0 deposu, algoritması kapalı kaynakta kalan sadeleştirilmiş bir istemci SDK değildir. Parçalayıcı, winnowing parmak izi oluşturucu, alma kademesi, hizalama, yinelenenleri kaldırma ve rapor oluşturma işlemlerinin tamamı, noplag.com'da çalışan aynı Docker konteynerini oluşturur. Bulut katmanı, motora değil, korpus ve web arama adaptörlerini ekler.

03

Sizin için anlamı

Skora güvenmeden önce algoritmayı okuyun. Belgeleriniz ortamdan çıkamıyorsa motoru kendi altyapınızda çalıştırın. Yol haritamız sizinkinden ayrılırsa çatallayın. Parça seviyesinde aralıklar nasıl bir benzerlik skoruna dönüşüyor; bir hata bulursanız herkese açık bir issue açarak açıkça karşı çıkın.

MİMARİ

Dört katmanlı alma kademesi. Diyagram, mecaz değil.

Her katman adayları düşükten yükseğe maliyet/doğruluk takasıyla daraltır. Tüm katmanlar açık depoda. Bulut, korpus ve web arama bağdaştırıcılarını ekler.

L1AÇIK

Winnowing parmak izleri

Postgres'te bigint[] sütunlarında GIN indeksli 64-bit örtüşme. Milyarlarca aday parçayı sorgu başına O(log n) ile en iyi K'ye indirir.

gecikme~12ms / parça
neredeengine/retrieval/l1_winnowing.py
L2AÇIK

MinHash LSH — v1.1 yol haritası

Parafraz ve hafifçe değiştirilmiş kopyalar arasında yaklaşık Jaccard, gerçek yeniden yazımdan sonra L1'in kaçırdıklarını yakalamak için. Tasarlandı, henüz uygulanmadı — şu anda herkese açık depoda yok.

gecikmev1.1
neredehenüz herkese açık depoda yok
L3AÇIK

Cümle gömme — v1.2 yol haritası

Anlamsal olarak eşdeğer yeniden yazımlar ve diller arası kopyalama için çok dilli SBERT vektörleri ve pgvector ANN. Tasarlandı, henüz uygulanmadı — şu anda herkese açık depoda yok.

gecikmev1.2
neredehenüz herkese açık depoda yok
LWAÇIK

Canlı web doğrulama

Google + Brave adaptörleri, en iyi N adayı gerçek zamanlı olarak canlı web üzerinde doğrular. Ücretli planlarda bulut katmanında çalışır; adaptörler açık kaynak paketine dahil değildir.

gecikme~2.2s / doküman
neredebulut katmanı — herkese açık depoda yok
v1.0, L1 + LW ile gelir. L2, v1.1’de; L3, v1.2’de çıkar. Kademe sırası noplag.toml dosyasında ayarlanabilir.
AÇIK ÇEKİRDEK

Depoda gerçekten ne var.

Bir SDK sarmalayıcı değil. Kırpılmış bir istemci değil. Tespit algoritmasının tamamı — üretim kapsayıcımızı oluşturan paket yapısı aynı.

engine/main
  • src/noplag_engine/paket
  • chunking/cümle + kayan pencere böleyiciler
  • fingerprinting/winnowing 64-bit hash’ler
  • retrieval/Şu anda L1; L2 / L3 / LW bu pakette henüz yok
  • l1_winnowing.pyGIN-overlap top-K
  • fingerprint_df.pydocument-frequency istatistikleri
  • stop_list.pyayırıcı olmayan parmak izi filtresi
  • alignment/seed-and-extend aralık birleştirme
  • workflows/Zaman tabanlı orkestrasyonlu kontrol hattı
  • api/FastAPI HTTP arayüzü
  • raporlar/vurgulama oluşturma + PDF dışa aktarma
  • testler/412 test · pytest + özellik + entegrasyon
  • migrasyonlar/Alembic şema migrasyonları
  • Dockerfileüretimle aynı imaj
  • docker-compose.ymlself-host hızlı başlangıç
  • LİSANSApache 2.0
  • README.mdmimari + hızlı başlangıç
NELER AÇIK
Bölme + parmak izi çıkarmatüm algoritmalar, tüm eşikler
L1 / L2 / L3 almaskorlama + indeksleme mantığı
Canlı web bağdaştırıcılarıoran limiti + ayrıştırma + sıralama
Hizalamaçekirdek uzatması, aralık birleştirme, yinelenenleri kaldırma
Rapor birleştirmevurgulu aralıklar, benzerlik hesaplaması
HTTP API + şemalarPydantic modelleri, FastAPI rotaları
BULUT SONA ÖZEL
KorpusOpenAlex + Common Crawl + Noplag Database (150M+ doküman)
Web arama API anahtarlarıGoogle + Brave; kendi anahtarınızı self-host kurulumda kullanın
Faturalama + kimlik doğrulamaStripe + Better Auth; kendi sunucunuzda değiştirilebilir
Yönetilen Postgres + TemporalHetzner + Coolify işlemleri
  • 12.4kGitHub yıldızı
  • 38katkıda bulunanlar
  • 2.847commit
  • 412CI’da test
  • 1:1bulut / repo uyumu
DENETİM İZİ

Kapalı kaynak denetleyicinin size asla gösteremeyeceği üç şey.

01 · ALGORİTMA

Kapalı denetleyiciler size sadece skor sunar. "intihal vs. parafraz" eşiği, n-gram örtüşme ile anlamsal benzerlik arasındaki ağırlıklandırma, kısa eşleşmelerin elenme yöntemi — hepsi kapalı kodla. Yeniden üretilemez, denetçiniz gözden geçiremez, içindeki bug için sabit bir commit yoktur.

Doğrulayabileceğiniz: her eşik, her ağırlık, her yinelenen giderme kuralı src/noplag_engine/ altında. GitHub'dan etiketli bir sürümü açın, kontrolünüzde çalışan commit’i bulun (X-Engine-Commit başlığında döner) ve matematiği satır satır okuyun.

02 · VERİ AKIŞI

Belgeniz gönderildikten sonra nereye gitti? Saklandı mı? Başka bir müşterinin erişebileceği, paylaşılan gönderi DB’sine eklendi mi? Derecelendirme için üçüncü taraf bir AI dedektörüne yollandı mı? Kapalı denetleyiciler bunu pazarlama metniyle yanıtlar. Kod yolunu gösteremezler.

Doğrulayabileceğiniz: workflows/ paketi, bir gönderimin okunduğu, hash’lendiği, saklandığı ve silindiği tüm noktaları gösterir. migrations/ klasörü dokunduğu her sütunu gösterir. api/ paketi motordan ağ üzerinden ne çıktığını — ve çatalla sınırı nerede değiştirebileceğinizi gösterir.

03 · BENZERLİK SKORU

Kara kutu bir “%63 benzer” gerekçesiz bir karardır. 12 kısa fragmanın toplamında mı %63? Bir uzun paragraf mı? Alma hatası mı? Yabancı dilde yazı sitiliniz farklı mı ağırlıklandı? Skor gelir ama üreten matematik gelmez.

Doğrulayabileceğiniz: alignment/ dosyasında seed-and-extend aralık birleştirmesi var. reports/ her parça eşleşmesinin genel yüzdeye nasıl dönüştüğünü gösterir. Aynı belgeyi aynı commit ile tekrar çalıştırabilirsiniz; her aralığı inceleyip, matematiğe herkese açık GitHub issue’sunda itiraz edebilirsiniz.

BULUT vs KENDİ SUNUCU

Aynı motoru çalıştırmanın iki yolu.

Çoğu kullanıcı noplag.com üzerindeki bulut katmanını seçer — yönetilen Postgres + Temporal + Coolify, korpus zaten indekslenmiş olur ve web arama adaptörleri geçerli API anahtarlarıyla gelir. Self-host seçeneği, dokümanlarının altyapı dışına çıkmaması gereken kurumlar içindir: repoyu klonlayın, kendi Postgres ve Redis’inizi kurun, motoru kendi korpusunuza yönlendirin (veya manifest dosyamızdan OpenAlex + Common Crawl’u içe aktarın), Google/Brave anahtarlarınızı entegre edin. Aynı motor, aynı algoritmalar, aynı rapor formatı — sadece operasyonel sınır değişir.

Kendi sunucu rehberini okuyun
SSS

Gerçekten aldığımız açık kaynak soruları.

Motor gerçekten noplag.com’dakiyle aynı kod mu?
Evet. Repoda bulunan Dockerfile, dağıttığımız kapsayıcıyı oluşturur. noplag.com’da yapılan her denetim o commit ile çalışır ve commit hash’i X-Engine-Commit başlığında döner; sürüme sabitlemek için kullanabilirsiniz. Bulut katmanı sadece korpus ve web arama API anahtarlarını ekler — algoritma farklı değil.
Neden Apache 2.0, AGPL veya BSL değil?
Apache 2.0, kuruluşların yasal denetim yükü olmadan kendi sunucularında çalıştırmasına izin verir. AGPL bizi savunmadan ziyade lisans bariyeri oyununa zorlar; bu, yaptığımız bahisle çelişir — denetçilerin ve çatallayanların bunu gerçekten kullanabilmesini istiyoruz. Savunulabilir olan korpus ve operasyon katmanı; algoritma değil.
Bulut katmanını hiç kullanmadan kendi sunucumda çalıştırabilir miyim?
Evet. Repoyu klonlayın, `docker compose up` komutunu çalıştırın, kendi Postgres + Redis’inizi kurun ve açık korpus manifestini (OpenAlex + Common Crawl + Wikipedia) içe aktarın. Layer-W adaptörleri tak-çıkar yapıdadır — kendi Google/Brave API anahtarlarınızı ekleyebilir veya sadece indeksli korpus eşleştirmesi gerekiyorsa Layer W’yi tamamen atlayabilirsiniz.
Noplag Database (kullanıcıdan gelen belgeler) açık mı?
Hayır. Noplag Database, kullanıcı gönderimlerini içerir ve bulut katmanında tutulur — başkalarının belgelerini Apache-2.0 ile açmak açıkça yanlış olurdu. Gönderilen belgeler varsayılan olarak eklenir; bunu kapatıp devre dışı bırakabilirsiniz. Onu sorgulayan motor kodu açıktır; veri açık değildir.
AI dedektörü de açık olacak mı?
Evet. Yapay zeka tespiti yakında geliyor — v1.2 yol haritasında, lansmanda aktif değil — ve diğer her şey gibi açık olarak sunulacak: karmaşıklık modeli bağlantısı, kalibrasyon, ESL-yanlılığı ayarı ve karar bantları src/noplag_engine/ai_detection/ dizininde yer alacak. Model ağırlıkları da açık kaynaklı (CPU katmanında Qwen 2.5 1.5B 4-bit, GPU katmanında isteğe bağlı Mistral 7B). Çağrı grafiğinde kapalı üçüncü taraf bir dedektör yok.
Eşleşme algoritmasında bir hata nasıl raporlanır?
GitHub’da herkese açık bir issue açın, kısa bir örnek belge (veya yanlış pozitif aralığı) ekleyin. Tüm süreç açıkta. Güvenlik açıklarını önce security@noplag.com adresine bildirin.
Bulut katmanı her zaman repoyla aynı algoritmayı mı kullanacak?
Politikamız gereği evet. Deneysel olarak sadece bulutta çalışan bir davranış sunmamız gerekirse, bu bir özellik bayrağı arkasında ve açık kaynaklı varsayılanla olur; temel algoritma ana dalda kalır. Bunu bozarsak, yanıt başlığında ve herkese açık sürüm notlarında görürsünüz.
Katkı modeli nedir?
Issue ve küçük PR’lara açığız. Büyük değişiklikler — yeni alma katmanları, yeni korpus bağdaştırıcıları, yeni diller — için önce bir RFC issue ile başlayın; mimari tartışma açık olsun. Kapalı kaynaklı bağımlılık, telemetri, vendor lock-in ekleyen PR’lar kabul edilmez.
Barındırılan kendi sunucu (Yönetilen Apache 2.0 dağıtımı) var mı?
Henüz yok. Bulut katmanında Enterprise planı özel altyapı ve BYO-korpus ile çoğu ihtiyacı kapsıyor. Yönetilen kendi sunucu sürümü v1.2 yol haritasında.
Bu fiyatlandırmayı nasıl etkiler?
Etkilemez. Bulut katmanı korpus + operasyon maliyetiyle fiyatlandırılır (Hetzner + Coolify + Stripe + Lago + web arama API harcaması), motor lisansı ile değil. Kendi sunucu ücretsiz. İkisi de böyle kalacak.

Algoritmayı okuyun. Sonra kendiniz çalıştırın.

github.com/NoplagLabs/noplag-engine Apache 2.0 lisanslıdır. noplag.com üzerindeki bulut ortamında da aynı commit çalışır. Her iki yol da aynı motoru sunar — veriniz için uygun operasyonel sınırı seçin.

Açık kaynaklı intihal denetleyicisi — Apache 2.0 Motoru — Noplag