Moving from theory to a tangible, working system that turns AI mistakes into high-quality training data. Ebben a , beszéltünk az AI fejlesztés zavaros közepéről, amely az ígéretes 85% prototípus és a gyártásra kész 99% -os rendszer közötti frusztráló szakadék. A sorozat első része Ma a kezünk piszkos lesz, és egy egyszerű, működő webes alkalmazást fogunk építeni, amely bemutatja az adatgyűjtő alapköreit.Ez a cikk végére ki fogja javítani az AI hibáját, és tökéletes, finoman beállított adatkészletet generál a munkájából. Mi fogjuk használni a mint például a nyílt forráskódú keretrendszer, Ez a példa önálló, nem igényel külső szolgáltatásokat, mint például a Docker vagy a Redis, és bebizonyítja, hogy milyen erőteljes lehet a core minta. correction_deck_quickstart Alapítvány Alapítvány A forgatókönyv: egy hibás számla AI Képzeld el, hogy egy mesterséges intelligenciát építettünk a strukturált adatok számlákból történő kivonására. Tápláljuk egy számla képét, és azt akarjuk, hogy tiszta JSON objektumot adjon vissza. Első átadásakor az AI tisztességes munkát végez, de nem tökéletes. Ez a hibás kimenet: { "supplier_name": "Lone Star Provisins Inc.", // <-- TYPO! "invoice_number": "785670", "invoice_date": "2025-08-20", "inventory_items": [ { "item_name": "TAVERN HAM WH", "total_quantity": 15.82, "total_unit": "LB", "total_cost": 87.80 }, { "item_name": "ONIONS YELLOW JBO", "total_quantity": 5, // <-- WRONG QUANTITY! Should be 50. "total_unit": "LB", "total_cost": 35.50 } ] } Célunk, hogy olyan rendszert hozzunk létre, amely lehetővé teszi az ember számára, hogy könnyen kijavítsa ezeket a két hibát, és döntő fontosságú, hogy rögzítse ezeket a javításokat az átképzéshez. A repülőgépünk három fő összetevője Ehhez a Foundry keretrendszerünk három egyszerű, de erőteljes Python absztrakcióra támaszkodik: Munkahely: Gondolj erre, mint egy jegyet egy nyomonkövetési rendszerben. Ez egy adatbázis-modell, amely az AI egyetlen munkaterületét képviseli. Tartja a input_data-t (a számla képét), az initial_ai_output-t (a fenti hibás JSON-t), és egy helyet a corrected_output tárolásához, miután egy ember megjavította. CorrectionRecord: Ez az arany jegy. Amikor egy ember mentette a korrekcióját, nem csak frissítjük a munkát. Egy különálló, önálló CorrectionRecord-et hozunk létre. Ez a rekord célja a finomhangolás. Ez tárolja az eredeti bemenet tiszta példányát, az AI rossz kísérletét és az emberi "föld igazság" korrekcióját. Ez egy tökéletes, hordozható képzési példa. CorrectionHandler: Ez az üzleti logika. Ez egy egyszerű osztály, amely megszervezi a folyamatot: átveszi a benyújtott űrlap adatait a webes felhasználói felületről, érvényesíti azt, frissíti a feladatot, létrehozza a CorrectionRecord-ot, és kezeli az összes rekordot egy képzési fájlba történő exportálását. Ezek a három darab együttműködnek, hogy képezzék repülőkerékünk gerincét. Let's Build It: A gyorsindítás a cselekvésben Ha követed, klónozd a Navigáljon a vezérlő, és telepítse a függőségeket. Repository tárolása examples/correction_deck_quickstart 1. lépés: Indítsa el a Quickstart Script A terminálból egyszerűen futtatja: python quickstart.py Egy üzenet jelenik meg, amelyben egy helyi webkiszolgáló elindult . http://localhost:8000 --- Foundry Quickstart Server running at http://localhost:8000 --- --- Open the URL in your browser to use the Correction Deck. --- --- Press Ctrl+C to stop the server and complete the flywheel. --- 2. lépés: Használja a korrekciós fedélzetet Nyissa meg ezt az URL-t a böngészőben. Egyszerű korrekciós fedélzeti felhasználói felületet fog látni. A bal oldalon a forrásszámla kép. A jobb oldalon egy webes űrlap van, amely előre kitöltve van az AI hibás adataival. Az Ön feladata, hogy az ember legyen a körben. Tegye meg ezeket a két korrekciót: Javítsa ki a Typo-t: A Lone Star Provisins Inc. változása a Lone Star Provisions Inc. Javítsa a mennyiséget: Változtassa meg az ONIONS YELLOW JBO mennyiségét 5-ről 50-re. Kattints Save Correction. 3. lépés: Végezze el a repülőgépet Most térjen vissza a terminálhoz, és állítsa le a szervert A forgatókönyv automatikusan kiváltja a flywheel utolsó lépését: a munka exportálása. Ctrl+C --- Server stopped. --- --- Exporting approved corrections to fine-tuning format... --- --- Data successfully exported to 'corrected_data.jsonl' --- --- QUICKSTART COMPLETE --- Most fejezted be az adatgyűjtő egyik teljes fordulóját. A kifizetés: A tökéletes képzési fájl Nyissa meg a Megtalál egy új fájlt: Ez az Ön munkájának kézzelfogható eredménye, tökéletesen rögzítve és formázva egy modern AI modell finomhangolásához. examples/correction_deck_quickstart corrected_data.jsonl Vessünk egy pillantást belülről. tartalmaz egy egyetlen sort a strukturált JSON: {"contents": [{"role": "user", "parts": [{"fileData": {"mimeType": "image/jpeg", "fileUri": "/static/example_invoice.jpeg"}}, {"text": "Extract the key business data from the provided input."}]}, {"role": "model", "parts": [{"text": "{\"supplier_name\": \"Lone Star Provisions Inc.\", \"invoice_number\": \"785670\", \"invoice_date\": \"2025-08-20\", \"inventory_items\": [{\"item_name\": \"TAVERN HAM WH\", \"total_quantity\": 15.82, \"total_unit\": \"LB\", \"total_cost\": 87.8}, {\"item_name\": \"ONIONS YELLOW JBO\", \"total_quantity\": 50.0, \"total_unit\": \"LB\", \"total_cost\": 35.5}]}"}]}]}``` Ez bonyolultnak tűnhet, de ez a pontos beszélgetési formátum, amelyet a modellek, mint a Google Gemino és az OpenAI GPT sorozat várnak a finomhangoláshoz. „Role”: „user”: Ez a felhívás. tartalmazza a bemeneti képet (fileUri) és az AI-nak adott utasítást. „Role”: „model”: Ez a tökéletes válasz. tartalmazza a JSON-láncot a javítások alkalmazásával. Sikeresen átalakítottuk néhány másodpercnyi emberi erőfeszítést egy kiváló minőségű, géppel olvasható képzési példává. Most képzeld el, hogy ezt 100 javításra teszed. Vagy 1000. Már nem csak hibákat javítasz; aktívan és hatékonyan építesz egy adatkészletet, amely megszünteti ezt az egész hibakategóriát a modell következő verziójában. Mi a következő? Bizonyítottuk a flywheel alapköreit: Correct -> Capture -> Format for Training. Ez egy erős kezdet, de ez egy offline folyamat. Vártuk, hogy az AI befejezze a tételét, majd kijavítottuk a munkáját. De mi van, ha interaktívabbak lehetnénk? A sorozat következő cikkében pontosan ezt fogjuk építeni. egy ellenálló, Human-in-the-Loop csővezetéket fogunk építeni, amely tudja, amikor bajban van, és nem fél tisztázást kérni.