v0.4.2Lansare-mirror de producție — același commit ca pe noplag.com azi

Verificator de plagiat open-source.

Singurul produs de detectare a plagiatului cu un nivel cloud de producție și un motor complet open source. Același cod care rulează pe noplag.com este disponibil pe GitHub la github.com/NoplagLabs/noplag-engine — poate fi auditat, bifurcat sau instalat pe infrastructura proprie.

github.com/NoplagLabs/noplag-engineApache 2.012.400 stele
REPOZITORIUL

Același commit pe care îl verificați pe noplag.com este commit-ul de pe GitHub.

Fără ambiguități de tip „aproape open-source”. Fără repo doar cu SDK și motorul cu cod închis. Chunker-ul, fingerprinter-ul, sistemul de recuperare și generatorul de rapoarte sunt toate în același repo Apache 2.0 care construiește containerul nostru de producție.

noplag/enginePublic
Star12,4kFork892

Motorul de detectare a plagiatului care stă la baza noplag.com — chunking, amprente winnowing, cascada de extragere, aliniere și asamblare raport. Apache 2.0.

LIMBAJ
Python · Rust
LICENȚĂ
Apache 2.0
CONTRIBUITORI
38
COMMITS
2.847
ULTIMA VERSIUNE
v0.4.2 · 3 zile în urmă
CI
passing · 412 teste
PARIUL

Codul închis a fost o greșeală, nu un avantaj.

Fiecare verificator de plagiat înaintea noastră v-a cerut să aveți încredere într-o cutie neagră. Încredere în scor. Încredere în o metodologie invizibilă. Încredere că algoritmul nu a fost adaptat să supra-depisteze stilul dumneavoastră. Noi am mers pe opus.

01

Ce nu puteți vedea, nu puteți verifica

Un scor de similaritate este doar o cifră fără sursă. A fost o potrivire pe fraze, o presupunere de parafrază, o halucinație AI-detector? S-a calibrat pentru scrisul ESL? Soluțiile închise nu spun — avantajul lor este că nu puteți întreba. Nu acceptăm asta ca preț pentru detectarea plagiatului.

02

Produs open-source, nu doar marketing open-source

Repo-ul Apache 2.0 de la github.com/NoplagLabs/noplag-engine nu este un SDK client limitat, cu algoritmul de potrivire ascuns. Chunker-ul, amprenta winnowing, cascada de recuperare, alinierea, deduplicarea și generarea raportului construiesc același container Docker care rulează pe noplag.com. Nivelul cloud adaugă corpusul și adaptoarele de căutare web, nu motorul.

03

Ce înseamnă asta pentru dumneavoastră

Citiți algoritmul înainte să aveți încredere în scor. Găzduiți-vă motorul dacă documentele nu pot părăsi infrastructura. Fork-uiti dacă direcția noastră diverge de a dumneavoastră. Auditați modul cum intervalele la nivel de chunk devin un scor — și reacționați cu un bug public dacă găsiți o problemă.

ARHITECTURA

Cascadă de extragere în patru straturi. Diagramă, nu metaforă.

Fiecare strat reduce setul de candidați cu un compromis rapiditate/acuratețe. Fiecare strat e în repo-ul deschis. Nivelul cloud adaugă corpusul + adaptoarele web-search.

L1OPEN

Amprente winnowing

Overlap GIN indexat pe 64 de biți pe coloane bigint[] în Postgres. Filtrează miliarde de chunk-uri la top-K în O(log n) per interogare.

latență~12ms / chunk
locengine/retrieval/l1_winnowing.py
L2OPEN

MinHash LSH — planificare v1.1

Jaccard aproximativ pentru copii parafrazate sau ușor modificate, pentru a detecta ce scapă L1 după reformulări reale. Proiectat, dar încă neimplementat — nu se află în repo-ul public.

latențăv1.1
locîncă nu este în repo-ul public
L3OPEN

Sentence embeddings — planificare v1.2

Vectori SBERT multilingvi cu pgvector ANN, pentru rescrieri semantic echivalente și copiere între limbi. Proiectat, dar încă neimplementat — nu se află în repo-ul public.

latențăv1.2
locîncă nu este în repo-ul public
LWOPEN

Verificare web live

Adaptoarele Google + Brave verifică în timp real candidații de top-N pe web-ul actual. Disponibil doar în varianta cloud pentru abonamente plătite; adaptoarele nu sunt incluse în pachetul open source.

latență~2.2s / doc
locnivel cloud — nu este în repo-ul public
v1.0 oferă L1 + LW. L2 urmează în v1.1. L3 în v1.2. Ordinea cascadei configurabilă din noplag.toml.
OPEN CORE

Ce e efectiv în repo.

Nu doar un wrapper SDK. Nu doar un client limitat. Algoritmul complet — același pachet care creează containerul nostru de producție.

engine/main
  • src/noplag_engine/pachetul
  • chunking/chunk-er pe propoziție + sliding-window
  • fingerprinting/amprente winnowing 64 biți
  • retrieval/L1 disponibil acum; L2 / L3 / LW nu sunt încă incluse în acest pachet
  • l1_winnowing.pyGIN-overlap top-K
  • fingerprint_df.pystatistici de frecvență a documentelor
  • stop_list.pyfiltru de amprente nediscriminative
  • alignment/fuzionare interval seed-and-extend
  • workflows/pipeline de verificare orchestrat temporal
  • api/Interfață HTTP FastAPI
  • rapoarte/asamblare evidențiere + export PDF
  • teste/412 teste · pytest + property + integrare
  • migrări/migrări de schemă Alembic
  • Dockerfileaceeași imagine ca în producție
  • docker-compose.ymlghid rapid pentru self-host
  • LICENSEApache 2.0
  • README.mdarhitectură + ghid rapid
CE E DESCHIS
Chunking + amprentaretoți algoritmii, toate pragurile
Extracție L1 / L2 / L3logica scor + indexare
Adaptoare live-webrate-limit, parsare, ranking
Aliniereseed-and-extend, îmbinare intervale, dedupe
Asamblare raportintervale highlight, matematică similaritate
HTTP API + schememodele Pydantic, rute FastAPI
CE E DOAR ÎN CLOUD
CorpusulOpenAlex + Common Crawl + Noplag Database (150M+ doc-uri)
Chei API web-searchGoogle + Brave; BYO în varianta self-host
Facturare + autentificareStripe + Better Auth; înlocuibile la self-host
Postgres + Temporal gestionateHetzner + Coolify ops
  • 12,4kstele GitHub
  • 38contributori
  • 2.847commits
  • 412teste în CI
  • 1:1paritate cloud / repo
TRASEU AUDIT

Trei lucruri pe care un verificator închis nu vă lasă să le verificați.

01 · ALGORITMUL

Soluțiile închise oferă un scor. Pragul pentru „plagiat vs parafrază”, ponderarea dintre overlap-ul n-gram și similaritatea semantică, modul de eliminare a fragmentelor scurte — toate ascunse. Nu-l puteți reproduce, auditorul nu poate verifica, iar un bug nu are commit de referință.

Ce puteți verifica: toate pragurile, toate ponderile, toate regulile de dedupe sunt în src/noplag_engine/. Deschideți o versiune etichetată pe GitHub, identificați exact commit-ul pe care a rulat verificarea (în header-ul X-Engine-Commit) și citiți calculul pas cu pas.

02 · FLUXUL DE DATE

Unde a ajuns documentul după trimitere? S-a salvat? S-a adăugat într-o bază de date comună? S-a transmis către un furnizor AI pentru scor? Soluțiile închise pot răspunde în marketing. Codul sursă nu e public.

Ce puteți verifica: workflows/ arată orice punct unde o trimitere se citește, se hash-uiește, se salvează și se șterge. migrations/ arată toate coloanele folosite. api/ arată ce părăsește motorul pe rețea — și unde puteți muta limita la fork.

03 · SCORUL DE SIMILARITATE

Un „63% similar” opac rămâne o decizie fără sursă. Sunt 63% din 12 fragmente scurte? Un paragraf lung? Meci ratat în extracție? Scrisul ESL e tratat altfel? Scorul apare, logica lipsește.

Ce puteți verifica: alignment/ expune logica seed-and-extend. reports/ arată cum potrivirile per-chunk colapsează în procentul total. Poate fi reluat același document pe același commit, vedeți fiecare interval și contestați calculul pe GitHub, public.

CLOUD vs SELF-HOST

Două moduri de a rula același motor.

Majoritatea utilizatorilor aleg varianta cloud pe noplag.com — Postgres + Temporal + Coolify gestionate, corpusul deja indexat, adaptoarele de căutare web vin cu chei API valide. Varianta self-host este pentru organizațiile care nu pot transfera documentele în afara infrastructurii proprii: clonează repo-ul, folosește propriul Postgres și Redis, configurează engine-ul pe corpusul propriu (sau importă OpenAlex + Common Crawl din manifestul nostru) și adaugă propriile chei Google/Brave. Același engine, aceleași algoritmi, același format de raport — doar limita operațională se schimbă.

Ghid self-host
FAQ

Întrebările reale pe care le primim despre open-source.

Chiar este motorul același cod ca noplag.com?
Da. Dockerfile-ul din repo construiește imaginea container pe care o rulăm. Orice verificare pe noplag.com rulează acel commit, iar hash-ul commit se returnează în header-ul X-Engine-Commit ca să asociați un check cu o versiune etichetată. Nivelul cloud adaugă corpusul și cheile API web-search — nu alt algoritm.
De ce Apache 2.0 și nu AGPL sau BSL?
Apache 2.0 permite organizațiilor self-host fără bătăi de cap juridice. AGPL ar transforma licența într-o barieră, ceea ce e opusul pariului nostru — vrem ca auditori și fork-eri să poată folosi efectiv codul. Partea defensibilă e corpusul și operaționalul, nu algoritmul.
Pot da self-host fără să folosesc cloud-ul?
Da. Clonează repo-ul, rulează `docker compose up`, folosește propriul Postgres + Redis și importă manifestul corpusului public (OpenAlex + Common Crawl + Wikipedia). Adaptoarele Layer W sunt modulare — poți adăuga propriile chei API Google/Brave sau poți omite complet Layer W dacă ai nevoie doar de potrivire pe corpusul indexat.
Este Noplag Database (documente user) deschis?
Nu. Noplag Database conține trimiteri de useri și rămâne pe cloud — Apache-2.0 pe documente ale altora ar fi clar greșit. Documentele ajung implicit acolo; puteți opta să dezactivați. Codul engine care interoghează e deschis; datele nu.
Ce se întâmplă cu detectorul AI — va fi open?
Da. Detectarea AI va fi disponibilă în curând — este pe roadmap-ul v1.2, nu la lansare — și va fi publicată open-source ca restul: conectarea modelului de perplexitate, calibrarea, ajustarea pentru bias ESL și benzile de verdict vor fi în src/noplag_engine/ai_detection/. Greutățile modelelor sunt open-source (Qwen 2.5 1.5B 4-bit pe nivelul CPU, opțional Mistral 7B pe nivelul GPU). Nu există niciun detector terț cu cod închis în fluxul de apeluri.
Cum raportez un bug în algoritmul de potrivire?
Deschideți un GitHub public cu document minim-reproducător (sau descrieți intervalul fals-pozitiv). Trierea e publică. Problemele de securitate se trimit prima dată la security@noplag.com.
Va rula întotdeauna cloud același algoritm ca repo-ul?
Da, ca politică. Dacă ar fi nevoie să lansăm vreodată un comportament doar în cloud pentru un experiment, acesta ar fi controlat printr-un feature flag cu valoare implicită open-source; algoritmul principal rămâne în main. Dacă am încălca această regulă, ai vedea în headerul de răspuns și în notele publice de lansare.
Care este modelul de contribuții?
Issue-uri și PR-uri mici acceptate. Pentru schimbări mari — straturi noi de extracție, corpus adaptere, limbi noi — deschideți întâi un RFC pentru transparență arhitecturală. Nu acceptăm PR-uri ce adaugă dependențe închise, telemetrie, sau vendor lock-in.
Există un self-host găzduit? (Managed Apache 2.0)
Nu încă. Planul Enterprise din cloud oferă infrastructură dedicată și BYO-corpus, care acoperă nevoile pentru aceste cereri. Un SKU managed-self-host este pe roadmap v1.2.
Ce impact are asta la preț?
Nu are. Cloud-ul se tarifează pe corpus + cost operațional (Hetzner + Coolify + Stripe + Lago + web-search API), nu licență engine. Self-host e gratis. Ambele rămân așa.

Citiți algoritmul. Apoi rulați-l singuri.

github.com/NoplagLabs/noplag-engine este sub Apache 2.0. Cloud-ul de la noplag.com rulează același commit. Oricare opțiune oferă același engine — alege limita operațională potrivită pentru datele tale.

Verificator de plagiat open-source — Motor Apache 2.0 — Noplag