Controleer voordat je een onbekend model in Transformers laadt wie het heeft gepubliceerd, welke revisie je gaat gebruiken, hoe de gewichten zijn opgeslagen en of het model aangepaste Python-code of een chattemplate vereist. Installeer een versie met de relevante beveiligingsupdates en voer het model de eerste keer geïsoleerd uit als de bron nieuw voor je is. Deze controles richten zich op verschillende manieren waarop een modelrepository invloed kan hebben op je computer.
Transformers v5.22.2, uitgebracht op 6 november, bevat een wijziging om de Jinja-sandbox beter te beveiligen. De beheerders beschrijven een CPython-probleem dat kan worden bereikt via een dictionary-object dat aan de sandbox beschikbaar is gesteld, en wijzigingen om de toegang van modeltemplates te beperken. De releaseopmerkingen en de patch van de beheerder beschrijven de reikwijdte. Gebruik deze update als aanleiding om je volledige laadproces te controleren.
Wat vertrouw je wanneer je een model downloadt?
Een Hub-repository kan gewichten, configuratie, tokenizerbestanden, een chattemplate en Python-modules bevatten. Je software kan ook adapters of afhankelijkheden van een andere bron ophalen. Beoordeel elk onderdeel op basis van de manier waarop je runtime het gebruikt. Een populaire modelnaam vertelt je niet wie de eigenaar is of wat er precies in een door de community aangepaste versie zit.
Begin met de officiële modelkaart van de ontwikkelaar. Als je een conversie van een andere beheerder nodig hebt, noteer dan het basismodel, de indeling, de kwantiseringsmethode en, indien beschikbaar, de gepubliceerde controlesom. Lees het gebruiksvoorbeeld voordat je opdrachten in een terminal plakt. Controleer of er externe code, afhankelijkheden van een Git-URL of aanvullende scripts worden gevraagd. In de documentatie over aangepaste Transformers-modellen wordt uitgelegd hoe Python-code die op de Hub is gehost, kan worden gebruikt.
Wat is het verschil tussen gewichten, chattemplates en externe code?
Deze drie instellingen staan in veel snelstartgidsen bij elkaar, maar elk heeft een eigen doel. Een veilige keuze voor één component zegt niets over de andere.
| Component | Doel | Wat moet je controleren? |
|---|---|---|
| Gestructureerde gewichtsbestanden | Laad tensorwaarden voor inferentie. | Geef de voorkeur aan een ondersteund safetensors-bestand, controleer de uitgever en controleer alle shards. |
| Chattemplate | Zet berichten en toolmetadata om in de invoertekst die een chatmodel verwacht. | Controleer de template en houd de bibliotheek en Python-runtime up-to-date. |
| Code van een extern model | Laad aangepaste model- of tokenizerklassen vanuit een repository. | Controleer de code en leg de revisie vast voordat je deze inschakelt. |
| Toepassingshulpmiddelen | Bestanden lezen, services aanroepen of opdrachten uitvoeren. | Geef de agent alleen de mogelijkheden die nodig zijn voor de taak. |
Een safetensors-bestand neemt de noodzaak om templates of aangepaste Python-code te beoordelen niet weg. Op dezelfde manier bewijst het uitschakelen van externe code niet dat alle andere modellaadbewerkingen veilig zijn. De documentatie over Safetensors beschrijft de bestandsindeling, en de handleiding voor chattemplates legt uit welke rol Jinja speelt.

Hoe controleer je de geïnstalleerde versie en leg je de modelrevisie vast?
Controleer de omgeving die daadwerkelijk verzoeken verwerkt. Een notebook op een laptop en een Docker-container kunnen verschillende Python- en Transformers-installaties hebben. Vraag Python welke module vanuit die omgeving wordt geladen:
python -c "import sys, transformers; print(sys.version); print(transformers.__version__); print(transformers.__file__)"
Gebruik de pakketbeheerder en het lockbestand van je project om te upgraden naar een compatibele release met de oplossing en controleer de versie opnieuw nadat je de service opnieuw hebt gestart. Als de app de runtime bundelt, volg dan de ondersteunde upgradeprocedure voor de app. Een bijgewerkt globaal Python-pakket heeft mogelijk geen effect op een container of een vergrendelde omgeving.
Leg bij het laden van een nieuw model in een reproduceerbare omgeving de exacte commit-SHA van de geverifieerde repository vast. Gebruik dezelfde revisie voor het laden van de tokenizer en het model. Als je aangepaste code beoordeelt, noteer dan de specifieke commit die je hebt geïnspecteerd en controleer hoe de runtime code of afhankelijkheden uit andere repositories ophaalt. De Hub-downloadhandleiding behandelt revisies en het downloaden van snapshots.
Hoe voer je de eerste run uit?
Download de artefacten naar een speciale cache en gebruik een tijdelijke werkruimte zonder projecttokens, SSH-agentsockets of privémounts. Voer het kleinst mogelijke inferentievoorbeeld uit. Test indien ondersteund één keer met uitgeschakelde netwerkverbinding, nadat alle goedgekeurde artefacten in de cache zijn opgeslagen. Houd bij welke bestanden het proces leest en schrijft. Een ontbrekende afhankelijkheid of niet-ondersteunde architectuur moet een begrijpelijke foutmelding opleveren.
Als het model aangepaste code vereist, begin dan met het lezen van de configuratie van de repository en de relevante Python-modules. Controleer ook de installatie-instructies en vastgezette afhankelijkheden. Als een standaardruntime het model zonder die code ondersteunt, test dan eerst die aanpak. Als het model code nodig heeft die je niet kunt controleren, gebruik dan een sandbox met strenger beleid voor bestanden en netwerkverkeer voordat je een privéwerklast uitvoert.
Houd bij het gebruik van agents uitvoeringsmachtigingen gescheiden van het laden van modellen. Zelfs een geïsoleerd controlepunt kan tekst produceren die een krachtige harness als opdracht interpreteert. Zie de handleiding voor worktree-isolatie en de handleiding voor broncode en geheimen.
Wat moet je testen voordat je privébestanden of toolaanroepen inschakelt?
Voer een gewone chatprompt uit, een prompt met gestructureerde toolinvoer en een prompt met een onverwacht of ontbrekend veld. Controleer of het juiste sjabloon wordt gebruikt en of de uitvoerparser ongeldige aanroepen afwijst. Controleer bij een privéserveerstack voor modellen het eindpunt, waar de logboeken worden opgeslagen en of een externe terugvaloptie is ingeschakeld. Gebruik synthetische invoer totdat je deze grenzen kent.
Leg de model-ID, revisie, gewichtsindeling, geïnstalleerde pakketversies en een minimale opdracht waarmee het resultaat kan worden gereproduceerd vast. In een teamomgeving kan een andere beheerder met die gegevens onderscheid maken tussen een probleem met een controlepunt en een regressie in een bibliotheek. Zie voor een voorbeeld van het beperken van de reikwijdte van een experimentele agent de installatiehandleiding voor DeepSeek Super Agent.
Veelgestelde vragen
Betekent deze patch dat elke oudere versie is misbruikt?
De gekoppelde wijziging van de beheerder beschrijft een bereikbaar probleem met de sandbox en een beperking ervan. Dit bewijst niet dat een bepaalde installatie is misbruikt.
Maakt safetensors een hele repository betrouwbaar?
Dit heeft betrekking op het serialiseren van tensors. Sjablonen, aangepaste code, het installeren van afhankelijkheden en machtigingen voor tools zijn afzonderlijke aandachtspunten.
Is het veilig om trustremotecode in te schakelen voor een populair model?
Beschouw dit als toestemming om aangepaste code te laden. Controleer de broncode, zet de revisie vast en kies indien nodig een geïsoleerde omgeving.
Is vastzetten voldoende om een implementatie te beschermen?
Vastzetten beperkt onverwachte wijzigingen. Het bewijst niet dat de vastgezette bestanden veilig zijn en houdt je bibliotheken niet bijgewerkt met patches.
Moet ik de controles bij een upgrade herhalen?
Herhaal de controles voor gewijzigde bestanden en afhankelijkheden. Controleer opnieuw of de geïmplementeerde omgeving de nieuwe versie gebruikt en de beoogde isolatie behoudt.
Conclusie
Controleer de uitgever en revisie, behandel gewichten, sjablonen en uitvoerbare code afzonderlijk en voer het eerste voorbeeld uit met minimale toegangsrechten. Houd de serveeromgeving bijgewerkt met patches en controleer de daadwerkelijke versie. Met een kort, reproduceerbaar installatierecord zijn toekomstige updates gemakkelijker te beoordelen.
Ondersteuning en tips
Meer om te lezen

Voer Mirage lokaal uit: OCR en objectdetectie vanuit één afbeelding
Probeer het kleine lokale visiemodel van Cactus Compute, test OCR en objectextractie met echte invoer en krijg inzicht in de beperkingen op het gebied...

Een codeeragent plannen in Open WebUI op een homeserver
Stel een rapportage-only automatisering van een codeeragent in Open WebUI in, selecteer de terminal en werkruimte en controleer de machtigingen, logboeken en herstel na...

DeepSeek Super Agent veilig instellen: accounts, machtigingen en isolatie
Begin geen dsh-superagent-experiment onder je dagelijkse account of in een waardevolle productierepository. In de implementatiedocumentatie staat dat zowel de router- als de workerpresets met...




