Ruka hadi maudhui makuu
Mafunzo ya AI

Ondoa Alama za Asili ya AI kutoka kwa Maandishi na Faili Zako

Mafunzo haya yanaeleza jinsi ya kusakinisha na kuendesha watermarks-remover, huduma ya Python na ujuzi wa wakala wa kukagua na kuondoa vibeba Unicode, metadata ya hati na alama za asili zinazotumika kutoka kwa maudhui unayomiliki au umeidhinishwa kuyachakata.

Ondoa Alama za Asili ya AI kutoka kwa Maandishi na Faili Zako

Watermarks-remover hufanya nini

watermarks-remover ni ujuzi wa wakala na huduma ya Python ya kukagua na kusafisha alama za asili ya AI kutoka kwenye maandishi na miundo ya faili inayotumika. Imelenga faragha, utafiti, na usafi wa maudhui kwenye nyenzo unazomiliki au umeidhinishwa kuzichakata.

Ujuzi wa wakala ni mteja mwembamba wa HTTP. Hauna utekelezaji wa usafishaji ndani yake na hauhitaji Python kwenye mwenyeji wa wakala. Badala yake, hutuma kazi kwenye huduma inayotumika kando iliyojengwa kwa maktaba ya kawaida ya Python.

Mradi hugawanya kazi yake katika maeneo matatu:

  • Tabaka A la maandishi: huondoa kwa njia bainifu vibeba Unicode visivyoonekana, nafasi zisizo za kawaida, vidhibiti vya mwelekeo wa pande mbili, na herufi za tagi.
  • Tabaka B la maandishi: hutumia uandishi upya wa kiwango kikubwa ili kupunguza alama za watermark za sampuli za tokeni za kitakwimu. Hii ni juhudi ya kadiri ya uwezo na inaweza kubadilisha mtindo au sauti.
  • Usafishaji wa faili: huondoa metadata za C2PA, EXIF, XMP, sifa za hati, na kontena zinazotumika kutoka kwenye aina nyingi za faili.

Hakuna zana inayoweza kuhakikisha kuwa kigunduzi cha muuzaji kitaacha kutambua maudhui. Hifadhi faili asili, kagua kila matokeo yaliyosafishwa, na tumia mradi huu tu kwenye maudhui unayomiliki au umepewa ruhusa ya kuyachakata.

Vipengele muhimu na miundo inayotumika

Scripti kuu zinahitaji Python 3.10 au mpya zaidi na hutumia maktaba ya kawaida pekee. Zana za hiari kama c2patool, exiftool, na qpdf hutumika zinapopatikana.

Malengo ya usafishaji yanayotumika

  • Picha: PNG, JPEG, WebP, AVIF, HEIC, BMP, GIF, TIFF, na SVG.
  • Hati: PDF, DOCX, XLSX, PPTX, EPUB, na ODT.
  • Faili za maandishi na wavuti: HTML na Markdown, ikijumuisha metadata inayotumika, JSON-LD, funguo za AI frontmatter, na alama za maandishi za Tabaka A.
  • Makontena ya midia: MP4, MOV, M4A, M4V, WAV, MP3, na FLAC.

Miundo isiyotambuliwa haisafishwi kiotomatiki. Amri mahususi za maandishi pia hukataa faili za jozi na kukuelekeza kwenye zana za jumla za faili.

Vikomo muhimu

Usafishaji wa msingi haujumuishi C2PA iliyofungwa kwa njia laini au watermark safi za pikseli, sauti, na video. Usafishaji wa PDF unahitaji qpdf kwa uondoaji wa kimuundo kwa sababu uhariri wa metadata unaoongezwa unaweza kuacha baiti zinazoweza kurejeshwa. Hatua ya hiari ya Ghostscript inaweza kushughulikia metadata iliyo ndani ya picha zilizopachikwa kwenye PDF.

Ugunduzi ni tofauti na usafishaji. Vigunduzi vya hiari vya MarkLLM, keyed-Gumbel, seams za Claude, na upimaji wa SynthID ya picha huwashwa kwa hiari na vimeundwa kushindwa kwa upole vinapokosekana.

Sakinisha ujuzi wa wakala

Clone au pakua hazina, ingia kwenye saraka yake, kisha endesha kisakinishi. Amri ifuatayo husakinisha ujuzi kamili unaotegemea huduma kwa usanidi binafsi wa Claude Code:

python3 install_skill.py --skill remove-ai-marks --target claude-code

Malengo yanayopatikana ya usakinishaji ni pamoja na:

  • --target claude-code husakinisha chini ya ~/.claude/skills/<skill>.
  • --target claude-project --project-dir PATH husakinisha chini ya PATH/.claude/skills/<skill>.
  • --target cowork hutengeneza dist/<skill>.zip kwa ajili ya kupakia kupitia kiolesura cha Skills cha wingu.
  • --target cursor husakinisha chini ya ~/.cursor/skills/<skill>.

Tumia python3 install_skill.py --list kuorodhesha ujuzi uliosafirishwa. Hazina hutoa ujuzi kamili wa remove-ai-marks na ujuzi wa kujitegemea, wa maandishi pekee wa clean-user-facing-text. Usakinishaji uliopo huhifadhiwa kama nakala rudufu isipokuwa utumie --force. Kwa uhariri wa moja kwa moja kutoka kwenye checkout, ongeza --link.

Sakinisha programu-jalizi ya Claude Code

Watumiaji wa Claude Code wanaweza kusakinisha programu-jalizi ya marketplace moja kwa moja:

/plugin marketplace add guillaumemeyer/watermarks-remover
/plugin install watermarks-remover@watermarks-remover

Kisha ujuzi hupakiwa kama /watermarks-remover:remove-ai-marks na /watermarks-remover:clean-user-facing-text. Sasisha programu-jalizi kwa:

/plugin marketplace update watermarks-remover

Unganisha ujuzi kwa Grok

mkdir -p ~/.grok/skills
ln -sfn "$(pwd)/skills/remove-ai-marks" ~/.grok/skills/remove-ai-marks

Anzisha huduma

Endesha huduma ya HTTP ya ndani kutoka kwenye hazina:

make serve

Vinginevyo, zindua scripti ya seva moja kwa moja:

python3 service/scripts/server.py --host 127.0.0.1 --port 8765

Anwani chaguo-msingi ni http://127.0.0.1:8765. Ikiwa huduma inaendeshwa mahali pengine, weka WATERMARKS_SERVICE_URL kwa ajili ya ujuzi. Seva hufungamana na loopback kwa chaguo-msingi, jambo linalozuia kuifichua moja kwa moja kwa mashine nyingine.

Thibitisha kuwa huduma inajibu:

curl -s http://127.0.0.1:8765/health

Kiashiria cha afya hurudisha kitu kilicho na ok na toleo la huduma.

Kagua na safisha faili kutoka kwenye mstari wa amri

Mtiririko salama zaidi ni kukagua faili kwanza, kuandika matokeo yaliyosafishwa kwenye njia mpya, na kulinganisha matokeo na faili asili.

SCRIPTS=service/scripts

python3 "$SCRIPTS/inspect_file.py" draft.md
python3 "$SCRIPTS/clean_file.py" draft.md -o draft.cleaned.md
python3 "$SCRIPTS/clean_file.py" photo.png -o photo.cleaned.png
python3 "$SCRIPTS/clean_file.py" notes.docx -o notes.cleaned.docx

Tumia inspect_file.py na clean_file.py kwa makontena ya maandishi na jozi. Amri hizi huchagua kisafishaji kinachofaa kinachotumika kulingana na faili.

Safisha alama za maandishi za Tabaka A

Kwa ingizo la maandishi wazi, kagua vibeba Unicode visivyoonekana na vinavyotokana na uhariri kwa:

python3 "$SCRIPTS/inspect_text.py" draft.md

Kisha unda nakala iliyosafishwa na uchapishe takwimu:

python3 "$SCRIPTS/clean_text.py" draft.md -o draft.cleaned.md --stats

Layer A ni ya kiamuzi na imekusudiwa kutopoteza taarifa kuhusu maandishi yanayoonekana. Usipitishie amri hizi za maandishi faili za DOCX, PDF, picha au ingizo lingine la jozi; tumia amri za faili badala yake.

Andaa uandishi upya wa Layer B

Alama za maandishi za kitakwimu zinahitaji kuandika upya badala ya kuondoa herufi tu. Kwa chaguo-msingi, amri ya kuandika upya huchapisha kidokezo:

python3 "$SCRIPTS/rewrite_text.py" draft.md --backend print-prompt --strength paraphrase

Layer B ni ya kurudiarudia na hufanya kazi kwa kadiri inavyowezekana. Inaweza kupunguza uaminifu kwa mtindo na sauti ya awali. Ubora unapokuwa muhimu zaidi kuliko usafi wa alama, mradi unapendekeza kutumia Layer A na kusafisha faili huku ukihifadhi maandishi ya awali.

Tumia API ya HTTP

Huduma hutoa ukaguzi, utambuzi, usafishaji, uchakataji wa kundi, ugunduzi wa uwezo na vipimo vya OpenAPI.

  • GET /health huripoti hali na toleo la huduma.
  • GET /capabilities huripoti zana na mifumo ya hiari inayopatikana.
  • GET /openapi.json hurejesha vipimo vya OpenAPI 3.0.3.
  • POST /inspect hurejesha aina ya ingizo, hali ya kutiliwa shaka na ripoti.
  • POST /detect hurejesha matokeo ya vitambua vilivyosanidiwa.
  • POST /clean hurejesha data ya base64 iliyosafishwa na ripoti.
  • POST /inspect/batch na POST /clean/batch huchakata hadi faili 50 kwa kila ombi.

Mfano ufuatao husimba faili ya Markdown kuwa base64 na kuituma kwenye kituo cha kusafisha:

WM="http://127.0.0.1:8765"
curl -s "$WM/health"
curl -s -X POST "$WM/clean" -H 'Content-Type: application/json' \
  -d "{\"file\": \"$(base64 < notes.md | tr -d '\n')\", \"name\": \"notes.md\"}"

Weka WATERMARKS_SERVER_API_KEY ili kulazimisha uthibitishaji wa bearer. Ukisambaza nje ya mashine ya ndani ya usanidi, dumisha uthibitishaji na vidhibiti vinavyofaa vya mtandao.

Endesha huduma kwa Docker

Jenga na uendeshe picha ya msingi kwa mfumo wa faili wa kusoma tu na saraka ya muda:

make docker-core-build
docker run --rm -p 127.0.0.1:8765:8765 --read-only --tmpfs /tmp watermarks-remover

Docker Compose inasaidia profaili kadhaa:

docker compose up -d
docker compose --profile harness up -d
docker compose --profile heavy up -d
  • Chaguo-msingi huanzisha huduma ya msingi.
  • Profaili ya harness huongeza vipengele vya MarkLLM na MarkDiffusion.
  • Profaili ya heavy huongeza vipengele vya CtrlRegen na SynthID vinavyojengwa ndani.

Picha za Core, MarkLLM na MarkDiffusion huchapishwa kwenye GHCR. CtrlRegen na kipima cha SynthID hubaki vya ndani pekee kwa sababu ya leseni za watengenezaji wa awali. Nakili .env.example kuwa .env kwa usanidi wa hiari; usafishaji wa msingi wa maandishi hauhitaji mipangilio ya ziada.

Washa ukaguzi wa kiotomatiki kwa hook

Ujuzi wa wakala ni maagizo, kwa hiyo modeli huamua iwapo itauita. Hook ni ya kiamuzi zaidi: huendeshwa kila mara simu ya zana inayolingana inapotokea.

Programu-jalizi ya Claude Code husajili hook ya PostToolUse kwa Write, Edit, MultiEdit na NotebookEdit. Huita service/scripts/hook_written_file.py katika mojawapo ya hali mbili:

  • check: hali chaguo-msingi huripoti alama lakini haibadilishi faili.
  • clean: huondoa alama zinazotumika moja kwa moja kwenye faili na kuujulisha modeli.

Chagua hali kupitia mpangilio wa Hook mode wa programu-jalizi au weka:

WATERMARKS_HOOK_MODE=clean

Bila programu-jalizi, unaweza kusajili hook mwenyewe katika ~/.claude/settings.json. Hook hushughulikia faili zilizoandikwa na wakala na kizuizi cha pre-commit, lakini kusafisha maandishi moja kwa moja katika kumbukumbu za mazungumzo hubaki kazi ya kadiri inavyowezekana na hutegemea ujuzi.

Ongeza ukaguzi wa pre-commit

Ili kuzuia faili zenye alama kabla hazijaingia kwenye commit ya Git, ongeza hook ya ukaguzi ya hazina kwenye .pre-commit-config.yaml:

repos:
  - repo: https://github.com/guillaumemeyer/watermarks-remover
    rev: v0.5.0
    hooks:
      - id: watermarks-remover-check

Hook ya watermarks-remover-check hushindwa alama zinapopatikana. Hook mbadala ya watermarks-remover-clean husafisha faili moja kwa moja na inahitaji kuwashwa kwa hiari.

Vidokezo vya kina

Hifadhi nakala za awali na linganisha matokeo

Andika data iliyosafishwa kwenye njia tofauti ya kutoa kila inapowezekana. Hili ni muhimu hasa kwa uandishi upya wa Layer B na kontena changamano za hati, ambapo uchakataji unaweza kuathiri maandishi, vipengee vilivyopachikwa au sifa maalum za programu.

Sakinisha zana sahihi za PDF

Tumia qpdf unapohitaji uondoaji halisi wa muundo wa PDF. README inaonya kuwa exiftool pekee hufanya sasisho la nyongeza ambalo linaweza kuacha baiti za zamani zikiwa zinaweza kurejeshwa. Tumia hatua ya hiari ya kina ya Ghostscript wakati metadata inaweza kuwa ndani ya picha zilizopachikwa.

Chukulia utambuzi na usafishaji kama shughuli tofauti

Shughuli ya kusafisha huondoa vibebaji na metadata zinazotumika, huku kitambua kikikadiria iwapo mpango wa alama uliosanidiwa upo. Kwa mfano, uthibitishaji wa MarkLLM una maana tu chini ya usanidi uleule, na uchezaji tena wa keyed-Gumbel unahitaji ufunguo wa uzalishaji. Zana hizi si vitambua vya jumla vya wauzaji wote.

Chagua Layer B kwa uangalifu

Ukitumia Layer B, mradi unapendekeza modeli isiyotoka kwenye chanzo asilia ili kupunguza uwezekano wa kutumia tena aina ileile ya alama. Kwa kuwa ubadilishaji mkubwa wa maneno unaweza kuharibu toni na usahihi, uuruke wakati kuhifadhi ubora wa uandishi ndilo jambo la kipaumbele.

Chunguza mifumo ya hiari ya nyuma

Scripti za kuanzisha zilizo chini ya service/scripts/ zinaweza kusanidi reverse-SynthID kwa ajili ya uchanganuzi wa picha, CtrlRegen kwa uondoaji katika kikoa cha pikseli, MarkLLM kwa uthibitishaji wa watermark za maandishi uliosanidiwa, na MarkDiffusion kwa majaribio ya watermark za picha. Mifumo hii ya nyuma ina mahitaji na vikwazo tofauti; soma scripti zake za usanidi kabla ya kuiwasha.

Matumizi yenye uwajibikaji

Tumia watermarks-remover pekee kwa faragha, utafiti, na usafishaji wa maudhui unayomiliki au umeidhinishwa kuyachakata. Haijakusudiwa kwa udanganyifu wa kitaaluma au madai ya uwongo kwamba maudhui yaliyotengenezwa na AI yaliandikwa na binadamu. Zingatia sheria zinazotumika na sera za taasisi.

Mradi huu unapatikana chini ya Leseni ya MIT. Kwa matoleo na msimbo wa chanzo, tembelea hazina ya watermarks-remover kwenye GitHub.

Hitimisho

watermarks-remover huunganisha usafishaji wa maandishi wa kubainika, uondoaji wa metadata katika aina nyingi za kontena za faili, mifumo ya hiari ya utambuzi, ujumuishaji wa mawakala, hooks, na API ya HTTP. Anza kwa ukaguzi, hifadhi nakala ya awali, tumia safu nyembamba zaidi ya usafishaji inayofaa, na kagua matokeo badala ya kuchukulia matokeo yoyote ya kitambua kuwa ya uhakika.