Hyppää sisältöön

Miten mintbot käsittelee tiedostoja

Kun lähetät mintbot-agentillesi valokuvan, dokumentin, ääniviestin, taulukon, kuvakaappauksen tai PDF:n – Telegramin, web-paneelin tai API:n kautta – tiedosto ei kulje mintbotin keskusinfrastruktuurin läpi matkallaan kielimallille. Se päätyy suoraan agenttisi omalle VPS:lle, pysyy siellä niin kauan kuin haluat, ja LLM saa siitä itselleen optimoidun kopion.

Tämä on hiljainen suunnitteluvalinta, jolla on äänekkäät seuraukset. Se kannattaa avata, sillä se on yksi merkittävimmistä kohdista, joissa mintbot eroaa kuluttajille suunnatuista LLM-chateista.

Kulku alusta loppuun

  1. Lähetetty tiedosto saapuu agentin VPS:lle. Valokuva Telegramista, web-paneeliin raahattu PDF, äänimuistio, chattiin liitetty kuvakaappaus. Agentin paikallinen API ottaa tavut vastaan, tunnistaa tiedostotyypin sen alkutavuista (puhelimet ja selaimet merkitsevät tyypin väärin yllättävän usein), laskee SHA-256-tiivisteen ja kirjoittaa tiedoston polkuun /var/lib/mintbot-agent/uploads/<shard>/<sha256>.<ext> agenttisi omalla VPS:llä. Paikalliseen luetteloon kirjataan rivi, jossa on lähde (telegram / panel / api), lähettäjän tunniste, MIME-tyyppi ja alkuperäinen tiedostonimi.

  2. Alkuperäinen on pyhä. Tästä eteenpäin mikään mintbotin sisällä ei koskaan muuta tallennettua tiedostoa. Adapterit, jotka valmistelevat sen LLM:lle, tuottavat vain työkopioita – pienennettyjä JPEG-kuvia, uudelleenkoodattua tekstiä, irrotettuja pikkukuvia. Tavulleen alkuperäinen tiedosto pysyy levyllä, kunnes poistat sen agentin tiedostohallinnasta. Ei keskitettyä tallennussäiliötä, ei säilytysajastinta, ei vuotoja agenttien välillä: jokainen agentti-VPS tuntee vain oman omistajansa tiedostot.

  3. Malli saa LLM-optimoidun version. Kun agentti päättää näyttää tiedoston LLM:lle, pieni jakelija valitsee MIME-tyypin ja tiedostopäätteen perusteella oikean adapterin, ja adapteri tuottaa sisältölohkoja, joita malli osaa lukea:

    Adapteri Käsittelee Tulos
    Kuva JPG, PNG, WebP, GIF, HEIC (iPhone), AVIF ja kaikki muu, minkä Pillow osaa avata Skaalataan pitkältä sivulta 1568 pikseliin, koodataan uudelleen JPEG-muotoon (laatu 85) ja upotetaan base64-muodossa mallin kontekstiin
    PDF .pdf ≤ 32 Mt Upotetaan base64-muodossa natiivina PDF:nä (Anthropicin mallit lukevat sen suoraan)
    Teksti .md, .csv, .json, .yaml, lähdekoodi (.py, .js, .ts, .go, .rs, …), lokit, diffit Dekoodataan UTF-8:na (latin-1 varalla) ja upotetaan tekstinä kokorajaan asti
    Ääni .mp3, .ogg, .opus, .m4a, .wav, .flac Telegramin ääniviestit botti litteroi jo valmiiksi; suoraan lähetetyt tiedostot saavat toistaiseksi paikkamerkin, Whisper-puheentunnistus tulee seuraavassa aallossa
    Video .mp4, .mov, .webm, .mkv Toistaiseksi paikkamerkki; ffmpeg-avainkuvien ja äänen litteroinnin irrotus tulee myöhemmässä aallossa
    Office-dokumentit .docx, .xlsx, .pptx, .odt, .ods, .odp Toistaiseksi paikkamerkki; natiivi tekstin irrotus (python-docx / openpyxl / python-pptx) tulee myöhemmässä aallossa
    Tuntematon Kaikki muu Tekstipaikkamerkki: ”käyttäjä liitti <mime>-tiedoston, se on tallessa levyllä lataustunnisteella <id> – jotta malli voi vähintään päätellä, mitä lähetettiin

    Jokainen muunnos tallennetaan välimuistiin alkuperäisen viereen tiedostoon <sha256>.cache/v<N>.json, joten kun malli tarvitsee tiedoston seuraavan kerran, se latautuu välittömästi. Adapterin version nosto mitätöi välimuistin automaattisesti.

  4. Ei vanhenevia URL-osoitteita mallin kontekstissa. Kun kuva tai PDF menee LLM:lle, se upotetaan base64-muodossa samaan vuoroon – ei URL-osoitetta, joka voisi myöhemmin palauttaa 404:n, ei ajastettua allekirjoitettua linkkiä. Suuremmille tiedostoille, joista malli tarvitsee vain osoittimen, URL on sisäinen https://agent<id>.<domain>/<panel_token>/api/local/uploads/<upload_id>/raw – suojattu oman agenttisi paneelitokenilla ja voimassa niin kauan kuin tiedosto on levyllä.

Miksi tämä päihittää kuluttaja-LLM-chatin

Kun lähetät valokuvan ChatGPT:hen tai PDF:n Claude.ai:hin, tiedosto menee palveluntarjoajan tallennustilaan, liitetään kyseiseen keskusteluun, ja palveluntarjoajan säilytyskäytäntö päättää, milloin se katoaa. Tietyn iän jälkeen tiedosto on poissa, vaikka näkisit yhä keskustelun, johon se kuului. Palveluntarjoajan vaihtaminen tarkoittaa alusta aloittamista.

Yleinen Telegram-bottien sudenkuoppa tekee erosta konkreettisen. Telegram itse säilyttää jokaiselle valokuvalle pysyvän file_id-tunnisteen, mutta kolmannen osapuolen botit, jotka noutavat tiedoston Telegramin file_id-tunnisteella, saavat väliaikaisen URL-osoitteen, joka vanhenee 24 tunnissa. Vanhemmat botit, jotka viittaavat eiliseen valokuvaan, palauttavat 404:n. Mintbot ratkaisee tämän kertaheitolla: kun se näkee Telegram-tiedoston ensimmäistä kertaa, se noutaa tavut uudelleen ikuisesti voimassa olevan file_id-tunnisteen kautta ja kopioi ne sinun agenttisi arkistoon. Siitä hetkestä lähtien valokuva on sinun.

Tästä suunnittelusta seuraa kolme asiaa:

  • Tiedostot kuuluvat sinulle, eivät LLM-palveluntarjoajalle. Jos vaihdat ensi kuussa Claudesta GPT-5:een, tiedostohistoriasi tulee mukana koskemattomana, koska se on sinun VPS:lläsi – ei jonkun toimittajan tallennussäiliössä.
  • Voit palata asiaan myöhemmin. ”Kolme kuukautta sitten analysoit minulle sopimuksen – voitko verrata sitä tähän uuteen luonnokseen?” toimii, koska alkuperäinen on yhä levyllä. Kuluttajachatissa vanhempi tiedosto on yleensä jo poissa.
  • Malli saa aina version, jota se osaa käyttää parhaiten. Näkömallit saavat skaalatun JPEG:n, tekstinlukijat UTF-8:n, PDF-lukijat natiivin PDF:n. Puhelimesta voi lähettää HEIC-kuvan, ja se vain toimii – Pillown HEIF-lisäosa ladataan käynnistyksessä, ja tiedostotyypin tunnistus alkutavuista nappaa puhelimet, jotka merkitsevät tiedoston väärin tyypiksi application/octet-stream.

Missä hallitset tiedostojasi

Agentin web-paneelin yläpalkissa on tiedostohallinta. Sillä voit selata koko agentti-VPS:ää, ja lähetettyjen tiedostojen arkisto /var/lib/mintbot-agent/uploads/ on se osa, jota keskustelusi täyttävät. Siellä voit:

  • nimetä uudelleen, poistaa tai siirtää lähetettyjä tiedostoja
  • selata niitä päivämäärän, lähteen tai tiedostonimen mukaan
  • lisätä uusia tiedostoja raahaamalla (lähetys tapahtuu paloissa, joten kiinteää kokorajaa ei ole – voit lähettää hyvin suuria tiedostoja aina VPS:n vapaan levytilan rajaan asti)
  • muokata pieniä tekstitiedostoja suoraan paneelissa.

Koska tiedostot lähetetään paloissa suoraan omalle VPS:llesi, ainoa koon yläraja on levysi – mintbot ei aseta omaa kattoa. Monen gigatavun videot, datajoukot tai levykuvat siirtyvät ongelmitta, kunhan levyllä on tilaa; jos tila käy vähiin, voit kasvattaa VPS:ää tai siivota vanhoja tiedostoja samasta paneelista.

Kun poistat tiedoston paneelista, sekä itse tiedosto että luettelorivi poistetaan. Agentti ei voi enää näyttää sitä LLM:lle. Tämä tekee alkuperäisestä ”sinun omasi”: olet ainoa, jolla on oikeus poistaa se.

Yhteenveto

Useimmat LLM-chat-tuotteet käsittelevät lähettämiäsi tiedostoja ohimenevänä keskustelukontekstina. Mintbot käsittelee niitä sinun datanasi – tallennettuna sinun VPS:llesi, sinun omistuksessasi, pyynnöstä muunnettuna juuri siihen muotoon, jota malli kullakin vuorolla tarvitsee. Suuri osa mintbotin kiinnostavimmista kyvyistä rakentuu tämän perustan päälle.