v0.4.2Produkcijas spoguļversija — tāds pats commits kā noplag.com šodien

Atvērtā pirmkoda plaģiātisma pārbaudes rīks.

Vienīgais plaģiāta pārbaudes risinājums ar produkcijas mākoņpakalpojumu un pilnībā atvērtā pirmkoda dzinēju. Tas pats kods, kas darbojas noplag.com, ir pieejams GitHub adresē github.com/NoplagLabs/noplag-engine — pārbaudiet, atzarojiet, izvietojiet savā infrastruktūrā.

github.com/NoplagLabs/noplag-engineApache 2.012,400 zvaigznes
REPOZITORIJS

Tas pats commits, ko pārbaudiet vietnē noplag.com, ir atvērts arī GitHub.

Nav “it kā atvērtā pirmkoda” atrunu. Nav tikai SDK repozitorija ar dzinēju slēgtā kodā. Chunker, fingerprinter, retrieval cascade un report assembler ir vienā Apache 2.0 repozitorijā, kas veido mūsu produkcijas konteineru.

noplag/enginePublisks
Zvaigznīt12.4kAtzarot892

Plaģiātisma noteikšanas dzinējs, kas darbina noplag.com — griezumi, winnowing pirkstu nospiedumi, kandidātu iegūšanas kaskāde, salīdzināšana, atskaišu ģenerēšana. Apache 2.0.

VALODA
Python · Rust
LICENCE
Apache 2.0
IESNIEDZĒJI
38
IEGULDĪJUMI
2,847
JAUNĀKAIS IZLAIDUMS
v0.4.2 · pirms 3 dienām
CI
iziet · 412 testi
LIKMES

Slēgtais pirmkods bija kļūda, nevis priekšrocība.

Katrs plaģiātisma pārbaudītājs pirms mums prasīja uzticēties melnajai kastei. Uzticēties rezultātam. Uzticēties metodikai, kuru nevarat pārbaudīt. Uzticēties, ka algoritms nav pielāgots tieši jūsu rakstīšanas stilam. Mēs izvēlējāmies pretējo likmi.

01

Ko nevarat pārbaudīt, tam nevarat uzticēties

Līdzības rādītājs ir tikai skaitlis — nav informācijas par tā izcelsmi. Vai tas bija teikumu pārklāšanās, parafrāzēšanas pieļāvums, vai halucinācija no AI detektora? Vai ņemts vērā cilvēkiem ar angļu kā otro valodu raksturīgais stils? Slēgtie pārbaudītāji neatklāj — viņu priekšrocība ir tieši tajā, ka Jūs nevarat pajautāt. Mēs nepiekrītam tam kā plaģiātisma detekcijas cenai.

02

Atvērtā pirmkoda produkts, nevis atvērtā pirmkoda mārketings

Apache 2.0 repozitorijs github.com/NoplagLabs/noplag-engine nav tikai samazināts klienta SDK ar slēgtu atbilstības algoritmu. Teksta sadalīšana, winnowing pirkstu nospiedumu veidošana, meklēšanas kaskāde, izlīdzināšana, dublējošo rezultātu noņemšana un atskaites ģenerēšana — viss tiek būvēts tajā pašā Docker konteinerā, kas darbojas noplag.com. Mākoņpakalpojums pievieno korpusu un tīmekļa meklēšanas adapterus, nevis dzinēju.

03

Ko tas nozīmē Jums

Izlasiet algoritmu pirms uzticaties rezultātam. Varat palaist dzinēju tikai savā infrastruktūrā, ja dokumenti nevar to atstāt. Varat atzarot ja mūsu ceļvedis nesakrīt ar Jūsu vajadzībām. Pārbaudiet, kā griezumu intervāli saplūst vienā līdzības skaitlī — un ja atrodat kļūdu, norādiet to publiskā issue.

ARHITEKTŪRA

Četru slāņu kandidātu iegūšanas kaskāde. Diagramma, nevis metafora.

Katrs slānis samazina kandidātu daudzumu, mainot izmaksu/precizitātes attiecību. Visi slāņi atrodami atvērtajā repo. Mākoņa slānis pievieno korpusu + web meklēšanas adapterus.

L1ATVĒRTS

Winnowing pirkstu nospiedumi

GIN indeksēta 64-bitu pārklāšanās uz bigint[] kolonnām Postgres. Filtrē miljardiem kandidātu līdz top-K ar O(log n) vaicājumā.

latentums~12ms / griezums
kurengine/retrieval/l1_winnowing.py
L2ATVĒRTS

MinHash LSH — v1.1 plāns

Aptuvens Jaccard rādītājs pārfrāzētiem un nedaudz mainītiem tekstiem, lai atklātu to, ko L1 neatrod pēc būtiskas pārveidošanas. Izstrādāts, bet vēl nav ieviests — publiskajā repozitorijā nav pieejams.

latentumsv1.1
kurvēl nav publiskajā repozitorijā
L3ATVĒRTS

Teikumu iegultnes — v1.2 plāns

Daudzvalodu SBERT vektori ar pgvector ANN, semantiski līdzvērtīgu pārrakstu un starpvalodu kopēšanas noteikšanai. Izstrādāts, bet vēl nav ieviests — publiskajā repozitorijā nav pieejams.

latentumsv1.2
kurvēl nav publiskajā repozitorijā
LWATVĒRTS

Tiešsaistes pārbaude tīmeklī

Google un Brave adapteri reāllaikā pārbauda top-N kandidātus tiešsaistes tīmeklī. Šī funkcija pieejama tikai mākoņpakalpojumu līmenī maksas plāniem; adapteri nav iekļauti atvērtā pirmkoda paketē.

latentums~2.2s / dokuments
kurmākoņpakalpojums — nav publiskajā repozitorijā
v1.0 piegādā L1 + LW. L2 nāk v1.1. L3 — v1.2. Kaskādes kārtība konfigurējama noplag.toml.
ATKLĀTA KODSASTĀVDAĻA

Kas tiešām ir repozitorijā.

Nav SDK iesaiņojums. Nav apgraizīts klienta kods. Pilns pārbaudes algoritms — tāds pats izkārtojums kā mūsu produkcijas konteinerim.

engine/main
  • src/noplag_engine/galvenais pakotnes kods
  • chunking/teikumu + logu griezēji
  • fingerprinting/winnowing 64-bitu hash
  • retrieval/Pašlaik L1; L2 / L3 / LW šajā paketē vēl nav pieejami
  • l1_winnowing.pyGIN pārklāšanās top-K
  • fingerprint_df.pydokumentu biežuma statistika
  • stop_list.pynediskriminējošo pirkstu nospiedumu filtrs
  • alignment/seed-and-extend intervālu apvienošana
  • workflows/Pārbaudes caurules ar laika koordināciju
  • api/FastAPI HTTP saskarne
  • reports/izcelšanas apstrāde + PDF eksports
  • tests/412 testi · pytest + īpašību testi + integrācijas testi
  • migrations/Alembic shēmas migrācijas
  • Dockerfiletāds pats attēls kā produkcijā
  • docker-compose.ymlpašuzstādīšanas ātrā palaišana
  • LICENSEApache 2.0
  • README.mdarhitektūra + ātrā palaišana
KAS IR ATVĒRTS
Griezumi + pirkstu nospiedumiviss algoritms, visi sliekšņi
L1 / L2 / L3 iegūšanapunktu skaitīšana + indeksēšana
Tiešsaistes adapterilimitēšana + parsēšana + kārtošana
Salīdzināšanasēklu un intervālu apvienošana, deduplēšana
Atskaites ģenerēšanaizceltie intervāli, līdzības aprēķins
HTTP API + shēmasPydantic modeļi, FastAPI maršruti
KAS IR TIKAI MĀKOŅA SLĀNĪ
KorpussOpenAlex + Common Crawl + Noplag Database (150M+ dokumentu)
Web-meklēšanas API atslēgasGoogle un Brave; pašmitināšanā izmantojiet savus piekļuves datus
Norēķini + autentifikācijaStripe + Better Auth; pašhostā var aizvietot
Mākoņa pārvaldīts Postgres + TemporalHetzner + Coolify ops
  • 12.4kGitHub zvaigznes
  • 38iesniedzēji
  • 2,847ieguldījumi
  • 412testi CI
  • 1:1paritāte mākonis / repo
AUDITA PĒDAS

Trīs lietas, ko slēgtais pārbaudītājs nevar parādīt.

01 · ALGORITMS

Slēgtie pārbaudītāji atdod tikai skaitli. Slieksnis starp „plaģiāts un parafrāze”, svars starp n-gram pārklāšanos un semantisko līdzību, kā īsie sakritību fragmenti tiek nolikti malā — viss aiz slēgtā koda. Jūs to nevarat atkārtot, auditors nevar to pārskatīt, un kļūdas gadījumā nav atsauces commita.

Ko varat pārbaudīt: katrs slieksnis, katrs svars, katrs dedupe noteikums ir src/noplag_engine/. Atveriet marķētu izlaidumu GitHub, atrodiet precīzu commitu, pret kuru Jūsu pārbaude palaista (atgriezts X-Engine-Commit galvenē), un izlasiet aprēķinus pa soļiem.

02 · DATU PLŪSMA

Kur Jūsu dokuments nonāca pēc augšuplādes? Vai tika saglabāts? Vai pievienots kopējam datubāzei, ko var izmantot arī citi? Vai nosūtīts trešās puses AI detektoram? Slēgtie pārbaudītāji var atbildēt tikai mārketingā. Kodā viņi to neatklāj.

Ko varat pārbaudīt: workflows/ rāda visas vietas, kur Jūsu dokuments tiek nolasīts, hashēts, glabāts un dzēsts. Folderis migrations/ parāda katru kolonu ko tas aizskar. Pakotne api/ parāda, kas atstāj dzinēju tīklā — un kur robežu var pārdefinēt savā atzarā.

03 · LĪDZĪBAS SKAITLIS

Melnās kastes „63% līdzīgs” — secinājums bez pamatojuma. Vai tas bija 63% uz 12 īsiem fragmentiem? Viena gara rindkopa? Kandidātu iegūšanas kļūda? Vai Jūsu angļu kā otrās valodas stils tiek vērtēts citādi? Skaitlis atnāk, bet aprēķina soļi paliek noslēpti.

Ko varat pārbaudīt: alignment/ satur sēklu un intervālu apvienošanu. reports/ parāda, kā saskaitās atsevišķo griezumu sakritības. Jūs varat palaist to pašu dokumentu pret to pašu commit, pārskatīt katru intervālu, un publiski nepiekrist aprēķinam GitHub.

MĀKONIS pret PAŠHOSTU

Divi veidi kā palaist to pašu dzinēju.

Lielākā daļa lietotāju izvēlas mākoņpakalpojumu noplag.com — pārvaldīts Postgres, Temporal un Coolify, korpuss jau indeksēts, tīmekļa meklēšanas adapteriem ir derīgas API atslēgas. Pašmitināšana paredzēta organizācijām, kuru dokumenti nedrīkst atstāt to infrastruktūru: klonējiet repozitoriju, izmantojiet savu Postgres un Redis, norādiet dzinējam savu korpusu (vai importējiet OpenAlex un Common Crawl no mūsu manifesta) un piesaistiet savas Google/Brave atslēgas. Tas pats dzinējs, tie paši algoritmi, tāda pati atskaites struktūra — mainās tikai darbības robeža.

Lasiet pašhosta ceļvedi
FAQ

Atvērtā pirmkoda jautājumi, ko mums patiešām uzdod.

Vai dzinējs tiešām ir tāds pats kods kā noplag.com?
Jā. Repo Dockerfile būvē to pašu konteinerattēlu, ko mēs darbinām. Katru pārbaudi noplag.com izsauc tieši šo pašu commitu, un hash ir atpakaļ X-Engine-Commit headerī, lai varat sasaistīt pārbaudi ar konkrētu izlaidumu. Mākoņa slānis pievieno tikai korpusu un web meklēšanas API atslēgas — ne atšķirīgu algoritmu.
Kādēļ Apache 2.0, nevis AGPL vai BSL?
Apache 2.0 ļauj organizācijām palaist pašhostu bez juridiskās pārbaudes. AGPL piespiestu mūs veidot licenci kā aizsardzības mehānismu, kas neatbilst mūsu nostājai — vēlamies, lai auditoriem un atzarošanai nav šķēršļu. Aizsargājamais ir korpuss un darbības slānis, nevis algoritms.
Vai varu uzturēt pats, pilnībā izlaižot mākoni?
Jā. Klonējiet repozitoriju, palaidiet `docker compose up`, izmantojiet savu Postgres un Redis, un importējiet publiskā korpusa manifestu (OpenAlex, Common Crawl, Wikipedia). Layer-W adapteri ir pievienojami — ievadiet savas Google/Brave API atslēgas vai izlaidiet Layer W, ja nepieciešama tikai indeksētā korpusa salīdzināšana.
Vai Noplag Database (iesniegtie lietotāju dokumenti) ir atvērts?
Nē. Noplag Database satur lietotāju iesniegumus un paliek mākoņa slānī — Apache-2.0 cita cilvēka dokumentiem būtu acīmredzami nepareizi. Pēc noklusējuma, iesniegtie dokumenti tur tiek pievienoti; varat to atslēgt. Dzīnēja kods, kas tos lasa, ir atvērts; dati — nav.
Kas ar AI detektoru — vai tas būs arī atvērts?
Jā. Mākslīgā intelekta noteikšana drīzumā būs pieejama — tā ir iekļauta v1.2 ceļvedī, bet nebūs pieejama uzreiz palaišanas brīdī — un tā tiks izlaista atvērtā veidā kā viss pārējais: perplexity modeļa sasaistes, kalibrācija, ESL aizspriedumu korekcija un rezultātu joslas būs pieejamas src/noplag_engine/ai_detection/. Paši modeļa svari ir atvērtā pirmkoda (Qwen 2.5 1.5B 4-bit CPU līmenī, pēc izvēles Mistral 7B GPU līmenī). Nav slēgta trešās puses detektora izsaukumu ķēdē.
Kā ziņot par kļūdu atbilstības algoritmā?
Atveriet publisku GitHub issue ar minimālu reproducējamu dokumentu (vai norādiet kļūdaino fragmentu). Mēs triāžējam atklāti. Drošības jautājumos — security@noplag.com.
Vai mākoņa slānis vienmēr palaidīs to pašu algoritmu kā repo?
Jā, pēc politikas. Ja kādreiz būtu nepieciešams ieviest tikai mākoņpakalpojumā pieejamu funkcionalitāti eksperimentam, tā būtu aiz funkciju karodziņa ar atvērtā pirmkoda noklusējumu; galvenais algoritms paliek main. Ja to pārkāptu, jūs to redzētu atbildes galvenē un publiskajos izlaiduma pierakstos.
Kāds ir ieguldījumu modelis?
Priecāsimies par issue un nelieliem PR. Lielākiem papildinājumiem — jauniem meklēšanas slāņiem, korpusa savienotājiem, valodām — sākiet ar RFC issue, lai arhitektūras diskusija būtu atklāta. Nepieņemam PR ar slēgtiem atkarības pakotnēm, telemetrijas izsaukumiem vai vendor lock-in.
Vai ir hostēts pašhosts? (Pārvaldīts Apache 2.0 izvietojums)
Vēl nav. Mākoņa slāņa Enterprise plāns nodrošina atsevišķu infrastruktūru un BYO korpusu, kas apmierina lielāko daļu pieprasījumu pēc šīs funkcijas. Pārvaldīts pašhosta SKU ir plānots v1.2.
Kā tas ietekmē cenu?
Neietekmē. Mākoņa slānis cenas aprēķina pēc korpusa un darbības izmaksām (Hetzner + Coolify + Stripe + Lago + web-meklēšanas API patēriņš), nevis dzinēja licences tiesībām. Pašhostam — bez maksas. Abas iespējas paliek tādas.

Izlasiet algoritmu. Tad palaidiet to pats.

github.com/NoplagLabs/noplag-engine ir Apache 2.0. Mākonī noplag.com darbojas tas pats commits. Abos gadījumos izmantojat to pašu dzinēju — izvēlieties darbības robežu, kas atbilst jūsu datiem.

Atvērtā pirmkoda plaģiātisma pārbaudes rīks — Apache 2.0 dzinējs — Noplag