Open-source detektor plagiátů.
Jediný nástroj pro detekci plagiátů s produkční cloudovou vrstvou a plně open-source enginem. Stejný kód, který běží na noplag.com, je dostupný na GitHubu na adrese github.com/NoplagLabs/noplag-engine — můžete jej zkontrolovat, forknout nebo provozovat na vlastní infrastruktuře.
Stejný commit, který kontrolujete na noplag.com, je ten na GitHubu.
Žádné „open-source-ish“ výmluvy. Žádné repozitáře pouze se SDK, zatímco engine je uzavřený. Chunker, fingerprinter, retrieval cascade i report assembler jsou všechny ve stejném repozitáři s licencí Apache 2.0, který sestavuje náš produkční kontejner.
Engine na detekci plagiátorství, který pohání noplag.com — chunkování, winnowing otisky, retrieval cascade, alignment a sestavení reportu. Apache 2.0.
- JAZYK
- Python · Rust
- LICENCE
- Apache 2.0
- PŘISPĚVATELÉ
- 38
- COMMITY
- 2 847
- POSLEDNÍ RELEASE
- v0.4.2 · před 3 dny
- CI
- prošlo · 412 testů
Uzavřený kód byl chyba, ne vlastnost.
Každý kontrolní nástroj na plagiátorství před námi chtěl, abyste důvěřovali černé skříňce. Věřili skóre. Věřili metodologii, kterou nevidíte. Věřili, že algoritmus nebyl vyladěn na nadhodnocení vašeho stylu psaní. My jsme si vybrali opačnou sázku.
Co nevidíte, tomu nemůžete věřit
Score podobnosti je číslo bez původu. Bylo to nalezení překrývajících se vět, odhad parafráze, halucinace AI detektoru? Byla zohledněna vaše ESL úroveň? Uzavřené kontrolní nástroje to nikdy neřeknou — jejich výhoda je, že se ptát nemůžete. My to za cenu detekce plagiátorství neakceptujeme.
Open-source produkt, ne jen open-source marketing
Repozitář pod licencí Apache 2.0 na github.com/NoplagLabs/noplag-engine není omezené klientské SDK s uzavřeným algoritmem pro porovnávání. Chunker, winnowing fingerprinter, retrieval cascade, zarovnání, deduplikace a sestavení reportu tvoří stejný Docker kontejner, který běží na noplag.com. Cloudová vrstva přidává korpus a webové adaptéry pro vyhledávání, ne engine.
Co to znamená pro vás
Přečtěte si algoritmus, než uvěříte skóre. Hostujte engine u sebe, pokud vaše dokumenty nesmí opustit vaše prostředí. Forkněte ho, pokud naše roadmapa nedává smysl pro váš případ. Auditujte, jak se intervaly na úrovni chunků slévají do čísla podobnosti — a nesouhlaste s námi veřejně, pokud najdete chybu.
Čtyřvrstvý retrieval cascade. Diagram, ne metafora.
Každá vrstva zúží kandidáty s poměrem cena/přesnost. Všechny vrstvy jsou v otevřeném repu. Cloud přidává korpus + web-search adaptéry.
Winnowing fingerprints
GIN-indexovaný 64bit překryv na bigint[] sloupcích v Postgresu. Filtrování miliard chunků na top-K v O(log n) na dotaz.
MinHash LSH — plán pro v1.1
Přibližné Jaccardovo porovnání pro parafrázované a lehce upravené kopie, aby zachytilo případy, které L1 po přeformulování neodhalí. Navrženo, dosud nerealizováno — není v public repo.
Sentence embeddings — plán pro v1.2
Vícejazyčné SBERT vektory s pgvector ANN pro detekci sémanticky ekvivalentních přeformulování a překladů. Navrženo, dosud nerealizováno — není v public repo.
Live web ověření
Adaptéry Google + Brave ověřují top-N kandidáty proti aktuálnímu webu v reálném čase. Běží v cloudové vrstvě pro placené tarify; tyto adaptéry nejsou součástí open-source balíčku.
noplag.toml.Co je opravdu v repu.
Není to SDK wrapper. Není to osekaný klient. Detekční algoritmus celý — stejná struktura balíčku jako nás produkční kontejner.
- src/noplag_engine/balíček
- chunking/věta + sluování okno-chunkery
- fingerprinting/winnowing 64bit hashe
- retrieval/L1 aktuálně; L2 / L3 / LW zatím v tomto balíčku nejsou
- l1_winnowing.pyGIN-překryv top-K
- fingerprint_df.pystatistiky četnosti dokumentů
- stop_list.pyfiltr nediskriminujících fingerprintů
- alignment/sloučení intervalů seed-and-extend
- workflows/Pipeline kontrol řízená časovým plánováním
- api/HTTP rozhraní FastAPI
- reports/zvýraznění shod + export do PDF
- tests/412 testů · pytest + property + integrační
- migrations/migrace schématu pomocí Alembic
- Dockerfilestejný image jako v produkci
- docker-compose.ymlrychlý start pro self-hosting
- LICENSEApache 2.0
- README.mdarchitektura + rychlý start
- 12.4kGitHub hvězdiček
- 38přispěvatelé
- 2 847commitů
- 412testů v CI
- 1:1cloud / repo parita
Tři věci, které uzavřený nástroj nikdy nedovolí ověřit.
Uzavřené nástroje pošlou jen číslo. Práh mezi „plagiát a parafráze“, váha mezi n-gram překryvem a sémantikou, způsob filtrování krátkých zápasů — vše za uzavřeným kódem. Nelze reprodukovat, auditovat, nikdo nenajde commit s bugem.
Co můžete ověřit: každý threshold, každá váha, každé dedupe pravidlo je v src/noplag_engine/. Otevřete si tag na GitHubu, najděte přesný commit pro vaši kontrolu (X-Engine-Commit v hlavičce) a projděte si výpočet čísel řádek po řádku.
Kam váš dokument odešel po odeslání? Byl uložen? Přidal se do společného DB přístupného ostatním? Odešel na hodnocení třetí straně? Uzavřené nástroje odpoví v marketingových textech, kód nikdy neukážou.
Co můžete ověřit: workflows/ ukazuje každý bod, kde se submission čte, hašuje, uchovává a maže. Migrations/ ukazuje všechny sloupce, kterých se dotýká. Api/ ukazuje, co kdy opustí engine po síti — a kde to můžete ve forku změnit.
Černá skříňka „63% podobné“ znamená verdikt bez původu. Bylo to 63 % přes 12 krátkých úseků? Jeden dlouhý odstavec? Chybný retrieval? Vaše ESL styl má jinou váhu? Číslo přijde, matiku za ním nikdy nevidíte.
Co můžete ověřit: alignment/ ukazuje seed-and-extend slévání intervalů. reports/ ukazuje, jak se per-chunk shody skládají do celkového procenta. Můžete znovu spustit stejný dokument na stejném commitu, podívat se na každý interval a zpochybnit to veřejně na GitHubu.
Dvě cesty ke stejnému enginu.
Většina uživatelů volí cloudovou vrstvu na noplag.com — spravovaný Postgres + Temporal + Coolify, korpus je již indexovaný a webové adaptéry mají platné API klíče. Varianta pro self-hosting je určena organizacím, jejichž dokumenty nesmí opustit jejich infrastrukturu: naklonujte repozitář, použijte vlastní Postgres a Redis, nasměrujte engine na vlastní korpus (nebo naimportujte OpenAlex + Common Crawl z našeho manifestu) a připojte vlastní Google/Brave klíče. Stejný engine, stejné algoritmy, stejný formát reportu — mění se pouze provozní hranice.
Přečtěte si self-host návodOpravdové open-source dotazy, které dostáváme.
- Je ten engine opravdu stejný kód jako noplag.com?
- Ano. Dockerfile v repo sestavuje image, kterou deployujeme. Každá kontrola na noplag.com běží na tom commitu a hash commitu se vrací v hlavičce X-Engine-Commit, abyste mohli kontrolu svázat s konkrétním vydáním. Cloud tier přidává korpus a web-search klíče — ne jiný algoritmus.
- Proč Apache 2.0 a ne AGPL nebo BSL?
- Apache 2.0 umožňuje organizacím self-host bez právní kontroly. AGPL by nás nutila do licence jako umělé překážky, což nesedí s naší sázkou — chceme, aby skutečně auditoři a forkeři tento engine běžně používali. Těžítko je korpus a operation, ne algoritmus.
- Mohu provozovat self-host bez cloudu?
- Ano. Naklonujte repozitář, spusťte `docker compose up`, použijte vlastní Postgres + Redis a naimportujte manifest veřejného korpusu (OpenAlex + Common Crawl + Wikipedia). Adaptéry Layer W jsou modulární — můžete přidat vlastní Google/Brave API klíče, nebo Layer W úplně vynechat, pokud potřebujete jen porovnání s indexovaným korpusem.
- Je Noplag Database (dokumenty uživatelů) otevřený?
- Ne. Noplag Database obsahuje uživatelské příspěvky a zůstává jen v cloud tieru — dát cizí dokumenty pod Apache 2.0 by bylo evidentně špatné. Odeslané dokumenty se tam přidávají standardně, dá se to vypnout. Engine, který se na ně ptá, je otevřený; samotná data ne.
- A co AI detektor — bude taky otevřený?
- Ano. Detekce AI bude brzy dostupná — je na roadmapě v1.2, nebude spuštěna hned při uvedení — a bude otevřená jako vše ostatní: zapojení perplexity modelu, kalibrace, úprava ESL-biasu i pásma verdiktu budou ve složce src/noplag_engine/ai_detection/. Samotné váhy modelu jsou open-source (Qwen 2.5 1.5B 4-bit na CPU tieru, volitelně Mistral 7B na GPU tieru). V call graphu není žádný uzavřený detektor třetí strany.
- Jak nahlásit chybu v algoritmu shody?
- Otevřete veřejné GitHub issue s minimálním příkladem (nebo popište vadný úsek). Třídíme veřejně. Bezpečnostní nahlaste na security@noplag.com.
- Bude cloud tier vždy obsahovat stejný algoritmus jako repo?
- Ano, podle naší politiky. Pokud bychom někdy potřebovali nasadit chování pouze pro cloud v rámci experimentu, bylo by to za feature flagem s open-source výchozím nastavením; hlavní algoritmus zůstává v main. Pokud bychom to porušili, uvidíte to v response headeru a v public release notes.
- Jaký je model přispívání?
- Issues a malé PR vítány. Větší změny — nové retrieval vrstvy, nové korpus adaptéry, nové jazyky — začněte RFC issue, ať je architektura veřejně. Nepřijímáme PR, které přidává uzavřené závislosti, trackovací telemetrii nebo vendor lock-in.
- Existuje nějaký managed self-host? (spravované Apache 2.0 nasazení)
- Zatím ne. Enterprise plán v cloudu nabízí dedikovanou infrastrukturu a BYO korpus, což pokrývá většinu požadavků. Managed self-host SKU je v roadmapě v1.2.
- Jak to ovlivňuje cenu?
- Neovlivňuje. Cloud tier je naceněn podle korpusu + nákladů na provoz (Hetzner + Coolify + Stripe + Lago + hledání na webu), ne licenci engine. Self-host je zdarma. To se nemění.
Přečtěte si algoritmus. Pak ho spusťte sami.
github.com/NoplagLabs/noplag-engine je pod licencí Apache 2.0. Cloudová verze na noplag.com běží na stejném commitu. V obou případech získáte stejný engine — zvolte provozní hranici podle toho, jak potřebujete pracovat se svými daty.