0Pricing
AI Prompt Engineering · Lekcja

Łączenie tekstu i obrazów

Ujednolicone prompty multimodalne

Łączenie tekstu i obrazów to bezpłatna lekcja AI Prompt Engineering na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Prompt Engineering, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Ujednolicony prompt multimodalny

Prompt multimodalny to nie tekst z dołączonym obrazem. To pojedyncza przeplatana sekwencja, w której tokeny obrazu i tokeny tekstowe znajdują się w tym samym kontekście i wzajemnie na siebie oddziałują. Model nie „ogląda obrazu, a potem czyta tekstu” — przetwarza scalony strumień tokenów.

  • Fragmenty obrazu są rzutowane do tej samej przestrzeni osadzeń co tokeny tekstowe.
  • Kolejność ma znaczenie: pytanie umieszczone przed obrazem kieruje uwagę inaczej niż pytanie umieszczone po obrazie.
  • Należy tworzyć jeden prompt w dwóch postaciach wejścia, a nie dwa prompty.

Kolejność przeplatania i zakotwiczanie

Miejsce umieszczenia obrazu względem instrukcji zmienia zachowanie modelu. Umieszczenie instrukcji po obrazie pozwala modelowi oprzeć pytanie na tym, co już zakodował; umieszczenie jej przed obrazem sprawia, że obraz staje się dowodem na potrzeby wcześniej określonego zadania.

W promptach zawierających wiele obrazów należy oznaczać każdy obraz bezpośrednio w tekście, aby późniejszy tekst mógł jednoznacznie się do niego odwoływać ([Image 1], [Image 2]).

messages = [
  {'role': 'user', 'content': [
    {'type': 'text', 'text': 'You will see two product photos.'},
    {'type': 'text', 'text': 'Image 1:'},
    {'type': 'image', 'source': img_a},
    {'type': 'text', 'text': 'Image 2:'},
    {'type': 'image', 'source': img_b},
    {'type': 'text', 'text': 'Which has better lighting? Cite the image label.'}
  ]}
]

Formułowanie zadania przed kodowaniem

Enkodery wizyjne są stratne: szczegóły, które nie mają znaczenia dla niejawnego zadania, mogą zostać odrzucone podczas operacji pooling. Jeśli określi Pan/Pani zadanie przed obrazem, model będzie skłonny zwracać uwagę na istotne obszary.

  • Ogólne prośby o podpisy generują ogólne cechy.
  • Konkretne pytanie („policz rezystory na płytce”) koncentruje budżet reprezentacji na odpowiednich podobszarach.

Jeśli potrzebne są drobne szczegóły, należy od początku jasno określić zadanie.

Budżety rozdzielczości i kafelkowania

Większość modeli wizyjnych dzieli obrazy o wysokiej rozdzielczości na fragmenty o stałym rozmiarze, z których każdy kosztuje tokeny. Obraz o wymiarach 2000x2000 może zostać podzielony na wiele kafelków, z których każdy jest pomniejszany. Budżet tokenów to ukryte ograniczenie promptowania multimodalnego.

  • Przed wysłaniem należy przyciąć obraz do interesującego obszaru — nie należy liczyć na to, że model sam wykona zbliżenie.
  • W przypadku gęstych dokumentów należy wysyłać wycinki stron zamiast jednego obrazu całej strony.
  • Należy znać maksymalną liczbę kafelków obsługiwaną przez dostawcę; po jej przekroczeniu drobny tekst staje się nieczytelny.
def estimate_image_tokens(w, h, tile=512, per_tile=256):
    import math
    tiles = math.ceil(w / tile) * math.ceil(h / tile)
    return tiles * per_tile + per_tile  # + thumbnail

Tekst jako ustrukturyzowany schemat dla wizji

Obraz należy połączyć z jawnym schematem wyjścia w kanale tekstowym. Obraz dostarcza treści, a tekst — kontraktu. Jest to znacznie bardziej niezawodne niż opis w swobodnej formie.

Należy poprosić o JSON z kluczami odpowiadającymi oczekiwanym encjom oraz polecić modelowi zwracanie null dla pól, których nie widać — ogranicza to zmyślanie szczegółów.

instruction = (
  'Extract from the receipt image. Return JSON: '
  '{"merchant": str|null, "total": number|null, '
  '"date": str|null, "line_items": [{"name": str, "price": number}]}. '
  'Use null when a field is not legible. Do not invent values.'
)

Rozstrzyganie niejednoznaczności za pomocą wyrażeń deiktycznych

Wskazujące odniesienia („ten”, „ten po lewej”, „zaznaczone pole”) wiążą tekst z obszarami obrazu. Jeśli można wcześniej opisać obraz adnotacjami (narysować ramkę, dodać strzałkę), odniesienie tekstowe staje się znacznie bardziej niezawodne niż sam język opisujący położenie.

  • Określenia położenia („prawy górny róg”) są podatne na błędy po obróceniu lub przycięciu obrazu.
  • Nałożony numerowany znacznik wraz z określeniem „obiekt nr 3” jest jednoznaczny.
  • Wstępne przetworzenie obrazu w celu dodania znaczników jest uzasadnioną techniką prompt engineeringu.

Few-shot z mieszanymi modalnościami

Można dostarczyć przykłady image-to-text, aby utrwalić format i styl rozumowania. Każdy przykład jest przeplatanym zestawem (obraz, idealna odpowiedź). Model wywnioskuje sposób mapowania na podstawie demonstracji.

Obrazy przykładowe powinny odzwierciedlać rzeczywisty rozkład danych — przykład z innej domeny uczy niewłaściwego wyboru cech.

shots = [
  ('image', chart_a), ('text', 'Trend: upward. Peak: Q3. Anomaly: none.'),
  ('image', chart_b), ('text', 'Trend: flat. Peak: Q1. Anomaly: Q4 dip.'),
  ('image', target_chart), ('text', 'Trend:')  # model completes
]

Ugruntowywanie twierdzeń w pikselach

W przypadku ekstrakcji o wysokiej stawce należy wymagać od modelu wskazania, gdzie w obrazie ma źródło każde twierdzenie. Przybliżone ramki ograniczające lub zacytowany tekst znajdujący się na obrazie stanowią weryfikowalny dowód i znacząco ograniczają pewne siebie zmyślanie.

  • „Dla każdej wartości należy zacytować dokładny odczytany tekst etykiety”.
  • „Dla każdego pola należy podać przybliżoną znormalizowaną ramkę [x0,y0,x1,y1]”.

Ugruntowanie zmienia nieprzejrzystą odpowiedź w odpowiedź możliwą do przeaudytowania.

Tryby błędów, przed którymi należy się chronić

Modele multimodalne zawodzą w charakterystyczny sposób:

  • Przesunięcia OCR w przypadku małych lub stylizowanych czcionek — cyfry takie jak 1/7 i 0/O bywają mylone.
  • Załamanie zliczania przy więcej niż około 6 podobnych obiektach.
  • Stronniczość podpisu: opisywanie typowej sceny zamiast tej rzeczywiście przedstawionej.
  • Nadpisanie przez kanał tekstowy: pewne siebie, błędne twierdzenie tekstowe może wyprzeć poprawne dane wizualne.

Można temu przeciwdziałać, prosząc model, aby najpierw wywnioskował odpowiedź z obrazu, a dopiero potem uzgodnił ją z twierdzeniami tekstowymi.

Prompty uzgadniające

Gdy kontekst tekstowy i obraz są ze sobą sprzeczne, należy jawnie określić priorytet — model nie ma domyślnej polityki, której można zaufać. Należy to zapisać wprost: „Jeśli obraz jest sprzeczny z dostarczonymi metadanymi, należy zaufać obrazowi i oznaczyć rozbieżność”.

To jedno zdanie zamienia cichy błąd w jawny, wykryty konflikt, który dalszy potok może skierować do weryfikacji.

policy = (
  'You are given metadata AND a photo. '
  'When they disagree, prefer the photo as ground truth. '
  'Emit {"value": ..., "conflict": bool, "note": str}.'
)

Projektowanie potoku fuzji

Produkcyjne promptowanie multimodalne to potok, a nie pojedyncze wywołanie:

  • Wstępne przetwarzanie: przycięcie, adnotowanie i pomniejszenie obrazu do dostępnego budżetu.
  • Fuzja: przeplatanie danych z instrukcją określającą zadanie na początku oraz ze schematem wyjścia.
  • Ugruntowanie: wymaganie dowodu dla każdego twierdzenia.
  • Uzgodnienie: określenie priorytetu między modalnościami.
  • Weryfikacja: parsowanie JSON oraz sprawdzanie wartości null i znaczników konfliktów.

Każdy etap ogranicza obszar błędów, którego nie da się wyeliminować samym promptowaniem.

Szybkie sprawdzenie

Musi Pan/Pani wyodrębnić drobny druk ze skanu umowy w wysokiej rozdzielczości i potrzebuje wiarygodnych liczb.

Podsumowanie: łączenie tekstu i obrazów

Ujednolicony prompt multimodalny to jeden przeplatany strumień tokenów. Najważniejsze działania to: formułowanie zadania na początku, aby ukierunkować enkoder wizyjny, uwzględnienie rozdzielczości i kafelkowania za pomocą przycinania, jawne schematy wyjścia z polami dopuszczającymi wartość null, ugruntowanie w pikselach każdego twierdzenia oraz określony priorytet modalności na wypadek konfliktów. Należy traktować to jako potok — wstępne przetwarzanie, fuzja, ugruntowanie, uzgodnienie, weryfikacja — a delikatne elementy promptowania wizji staną się możliwe do kontrolowania.

Często zadawane pytania

Czy lekcja „Łączenie tekstu i obrazów” jest bezpłatna?

Tak — pełny tekst „Łączenie tekstu i obrazów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Prompt Engineering, przejdź na CoddyKit PRO. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Co nauczysz się w „Łączenie tekstu i obrazów”?

Ujednolicone prompty multimodalne Ćwiczysz AI Prompt Engineering z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć AI Prompt Engineering?

Nie wymagamy żadnego doświadczenia. AI Prompt Engineering w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Łączenie tekstu i obrazów”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji AI Prompt Engineering?

Tak. Każda lekcja AI Prompt Engineering zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Łączenie tekstu i obrazów
  2. Ugruntowanie między modalnościami
  3. Wspólne użycie dźwięku, tekstu i obrazu
  4. Kontrola danych wyjściowych multimodalnych
← Powrót do AI Prompt Engineering