Logo Tyfloświat

Ostatnie półtora roku w świecie technologii minęło pod znakiem dwóch słów. Sztuczna Inteligencja. Gdzie nie popatrzymy, zobaczymy nowe funkcje reklamowane tymi dwoma słowami. Bardzo dokładna transkrypcja mowy na tekst, ludzko brzmiące syntezatory mowy będące w stanie sklonować istniejący głos w kilka sekund, strony umiejące stworzyć obrazy i muzykę na podstawie naszego życzenia. W dużej mierze popularność współczesnego AI możemy zawdzięczać firmie OpenAI, a konkretniej ich modelom językowym z serii ChatGPT. Te modele, nakarmione ogromną ilością danych z Internetu, potrafią generować tekst w odpowiedzi na nasze instrukcje. Streszczanie i przepisywanie tekstu tak, aby był bardziej lub mniej formalny, pomoc w programowaniu, tego typu zadania nie stanowią problemu dla modeli językowych. Ich najnowsze wersje nie zatrzymują się tylko na tekście, bo potrafią także interpretować obrazy. I tutaj kryje się ogromny potencjał tej technologii dla niewidomych. Wystarczy przesłać zdjęcie z poleceniem, że ma zostać opisane, a technologia to zrobi, często z naprawdę imponującymi rezultatami.

Opisywanie obrazów modelami językowymi zostało zintegrowane w wielu aplikacjach mobilnych, takich jak Be My Eyes czy Envision. A jak do tematu podejść na komputerze? Jest na to kilka sposobów. W tym artykule opowiem wam o kilku prostych i dostępnych sposobach na rozpoznawanie zdjęć oraz rozmowę z modelami językowymi, a konkretnie z modelem GPT4O od OpenAI. Niezależnie od tego, czy korzystacie z Windowsa, czy Maca, JAWSA lub NVDA, znajdziecie tu coś dla siebie.

Sztuczna “inteligencja” czy fikcja?

Za nim przejdziemy do praktyki, warto wiedzieć, jak dokładnie działają modele językowe, bo niesie to za sobą kilka istotnych konsekwencji. Jak wspomniałem na początku tego typu systemy powstały na bazie ogromnej ilości informacji z Internetu — począwszy od stron, artykułów, a skończywszy na postach w mediach społecznościowych. Kiedy zadajemy pytanie, system formułuje odpowiedź obliczając, które słowa powinny wystąpić po sobie. Zatem zdając pytanie “Co ma Ala?” Prawdopodobnie dostaniemy odpowiedź “Ala ma kota.” Bardzo często odpowiedzi, które otrzymamy, będą do złudzenia przypominać inteligentne, ale te systemy nie są nieomylne. Mają tendencje do tzw. Halucynacji — wymyślania informacji, kiedy nie są czegoś pewne. I tak NP. Na pytanie, Co zrobić, jeśli ser nie trzyma się pizzy? Testowany przez Google model językowy odpowiada “Wystarczy go przykleić”. Przy opisywaniu zdjęć takie halucynacje też się mogą zdarzyć, zwłaszcza kiedy pytamy się o zawartość tekstową, AI może NP. Źle zidentyfikować nazwę leku, przyciski na pilocie lub podać zmyślone dane adresowe na kopercie. Jeśli najbardziej zależy nam na prawidłowym odczytaniu tekstu, lepiej zrobić to tradycyjnym silnikiem OCR. Inną istotną kwestią jest prywatność danych — aplikacje tego typu przetwarzają nasze zapytania w chmurze, a nasze dane mogą być wykorzystane do rozwoju technologii. Za nim zaczniemy korzystać z jakiejkolwiek aplikacji opartej o AI, warto przeczytać jej regulamin i nie wysyłać do niej żadnych danych poufnych (NP. Zdjęć kart płatniczych czy dowodów). Mimo to, jeśli weryfikujemy dokładność danych podawanych przez takie modele, lub zależy nam na uzyskaniu informacji graficznej, modele językowe są bardzo przydatne.

Czym jest “Prompt?”

W artykule zaprezentuję dwa rodzaje aplikacji — takie, których twórcy sami zintegrowali się z API OpenAI, oraz takie, w których musimy zrobić to sami. Zwłaszcza w przypadku tych drugich w ustawieniach możemy spotkać się z polem na TZW. Prompt (Ang. Zapytanie). Często spotkamy się z dwoma polami na te zapytania:

  • Prompt Systemowy — przekazuje modelowi instrukcje, jakie jest jego główne zadanie i na czym ma się skupić. Jeśli będziemy wykorzystywać aplikacje do opisywania zdjęć, to możemy tu napisać NP. Żeby opisy były dokładne lub zwięzłe, zwracane w języku polskim, i żeby system nie próbował interpretować emocji na zdjęciu. W aplikacjach, gdzie AI zostało zintegrowane przez producenta, to one ustalają ten prompt i ma on największe znaczenie, jak wyglądają opisy zwrócone przez dany program.
  • Prompt użytkownika (często nazywany po prostu promptem) – tutaj zadajemy nasze pytanie. Jeśli opisujemy zdjęcie, to możemy tu NP. Zapytać o konkretny detal, który nas interesuje.

Aplikacje nie wymagające własnego klucza API

Be My Eyes

Aplikację Be My Eyesmożecie już kojarzyć, ponieważ jest na rynku od jakiegoś czasu. Jej głównym zadaniem jest możliwość anonimowego połączenia osoby niewidomej, która potrzebuje pomocy, z widzącym wolontariuszem. Z czasem aplikacja otrzymała inne funkcje jak NP. Możliwość bezpośredniego połączenia się ze wsparciem technicznym firm współpracujących z Be My Eyes, czy możliwość porozmawiania z wirtualnym wolontariuszem, nazwanym Be My AI. Be my Eyes było pierwszym partnerem OpenAI — i to właśnie ta aplikacja jako pierwsza otrzymała dostęp do nowych możliwości GPT 4 miesiące przed resztą świata.

Be my Eyes jest także od niedawna dostępne w sklepie Microsoft dla systemu Windows. W momencie pisania tego artykułu komputerowa wersja usługi daje dostęp wyłącznie do sztucznej inteligencji Be My AI, ale do pozostałych funkcji, takich jak rozmowa z wolontariuszem, jeszcze nie. Mam nadzieję, że z czasem brakujące opcje zostaną dodane do aplikacji, bo pomoc osoby widzącej podczas pracy z komputerem może być w niektórych sytuacjach bardzo przydatna.

Po pierwszym uruchomieniu aplikacji musimy założyć konto lub zalogować się do już istniejącego. Jeśli korzystamy już z mobilnej wersji Be My Eyes, to możemy użyć tych samych danych do logowania. Ekran główny programu oferuje nam kilka przycisków opatrzonych globalnymi skrótami klawiszowymi:

  • Opisz Ekran (CTRL+Alt+H)
  • Zrób zdjęcie wbudowaną kamerą (CTRL+Alt+J) – może to nam pomóc NP. Sprawdzić, czy dobrze nas widać przed rozmową Video
  • Opisz zdjęcie z eksploratora plików (CTRL+Alt+K) – Pozwala wysłać dowolny obraz z dysku komputera, który wskazujemy w standardowym okienku otwierania pliku.
  • Opisz schowek (CTRL+Alt+L) – Opisuje zawartość schowka, jeśli są to dane graficzne

Zatrzymam się na moment przy opcji opisywania schowka, bo jej działanie może być nieoczywiste. W schowku muszą znajdować się dane graficzne lub adres URL do pliku graficznego. Można więc NP. Zlokalizować dowolną grafikę w przeglądarce internetowej, wywołać jej menu kontekstowe i wybrać opcję “kopiuj obraz.” Mogliście również zauważyć, że skrót klawiszowy do tej funkcji powoduje konflikt z wpisywaniem litery Ł w polskim układzie klawiatury, i faktycznie, kiedy aplikacja Be My Eyes jest otwarta, nie możemy jej wpisać. Problem został zgłoszony, więc jest bardzo prawdopodobne, że w momencie, kiedy czytacie ten tekst, skrót został już zmieniony.

Be My Eyes. poglądowy zrzut ekranu

Sam interfejs rozmowy z AI jest bardzo podobny do wersji mobilnej. Znajdziemy w nim listę zawierającą historię rozmowy, pole edycji do napisania pytania oraz przycisk wróć. W przeciwieństwie do wersji mobilnej nie mamy łatwej możliwości skopiowania opisu wygenerowanego przez AI, więc jeśli chcemy tego dokonać, musimy pomóc sobie czytnikiem ekranu.

Jak na pierwszą wersję, Be My Eyes na PC działa dobrze, i nie wymaga od nas żadnych opłat czy zaawansowanej konfiguracji. Są jednak rzeczy, których nie potrafi. Jeśli chcemy NP. Uzyskać opis tylko jednej kontrolki czy zdjęcia na stronie internetowej, nie jest to zawsze możliwe, gdyż wiele stron blokuje możliwość kopiowania obrazków do schowka.

Picture Smart AI w czytniku ekranu JAWS

JAWS jest na ten moment jedynym screenreaderem, który oferuje opisywanie zdjęć sztuczną inteligencją w standardzie. Funkcja jest dostępna od marcowej aktualizacji JAWS-a 2024. Możemy ją wywołać, naciskając JAWS+Spacja, P, a następnie jeden z poniższych klawiszy:

  • A — opisz zdjęcie używając podłączonego skanera lub kamery Freedom Scientific Perl
  • F — opisz zdjęcie zaznaczone w Eksploratorze Plików
  • C — opisz kontrolkę, na której jest fokus
  • B — opisz zawartość schowka
  • S — opisz cały ekran
  • W — opisz okno bieżącej aplikacji
  • Znak zapytania — wyświetla listę powyższych skrótów

Po naciśnięciu jednego ze skrótów podobnie jak w pozostałych aplikacjach będziemy słyszeć dźwięk podczas przygotowywania opisu. Gdy będzie gotowy, zostanie wyświetlony w wirtualnym buforze i przeczytany automatycznie. Domyślnie otrzymamy krótszy opis, wygenerowany modelem językowym Claude firmy Anthrophic AI, poniżej którego znajdziemy link pozwalający na wygenerowanie dłuższego opisu modelem GPT. Możemy również od razu poprosić o dłuższy opis przy wywołaniu polecenia, dodając klawisz shift do skrótu (NP. Shift+W, aby wygenerować długi opis okna). W oknie opisu znajdziemy również link pozwalający nam zadać pytanie, co działa podobnie do innych aplikacji. Dzięki temu, że wyniki są wyświetlane w wirtualnym buforze JAWS, możemy bardzo łatwo je zaznaczyć i skopiować do innej aplikacji.

Aplikacje wymagające własnego klucza API

Jak stworzyć własny klucz?

Każdy może uzyskać dostęp do platformy programistycznej OpenAI. To właśnie dzięki niej możemy pisać aplikacje wykorzystujące modele GPT lub w naszym przypadku wykorzystać ją do uruchomienia aplikacji innych osób.

Dostęp do platformy openAI uzyskujemy, wchodząc na stronę platform.openai.com. Na początek musimy się zalogować lub założyć konto (jeśli mamy już konto założone w aplikacji ChatGPT to możemy się nim tutaj zalogować). Konto możemy założyć na adres Email lub logując się przez Google, lub Apple. Po rejestracji należy również podać numer telefonu.

Następnie musimy doładować nasze konto. API OpenAI działa podobnie do telefonu na kartę — zasilamy nasze konto wybraną przez nas kwotą, a OpenAI pobierze z niego środki za każdym razem, kiedy wykorzystujemy API. Minimalna kwota, na jaką możemy doładować konto to $5 plus VAT. Koszt jednego zapytania będzie się różnił, ale nawet dłuższe opisy nie powinny kosztować więcej niż 1-2 centy za pytanie, a więc po jednym doładowaniu będziemy w stanie opisać setki zdjęć lub przeprowadzić bardzo długą rozmowę.

Aby doładować konto, po zalogowaniu klikamy w link Ustawienia (Settings), następnie rachunkowość (Billing.) Tutaj zobaczymy nasze saldo oraz przycisk pozwalający doładować konto. Przy pierwszym doładowaniu, zostaniemy poproszeni o dodanie metody płatności (wspierane są wszystkie popularne karty płatnicze). Podczas doładowania konta możemy również zdecydować, czy OpenAI ma automatycznie je doładować, jeśli saldo spadnie poniżej ustawionego przez nas poziomu (automatic recharge). Sugeruje tę opcję wyłączyć.

Kiedy pomyślnie doładujemy konto, możemy wygenerować nasz klucz API. Możemy to zrobić, wchodząc na pulpit (Dashboard), potem w sekcje kluczy API (API keys), a następnie klikając w przycisk Create Secret Key. Na następnym ekranie możemy pozostawić wszystkie ustawienia bez zmian i kliknąć create, a strona wyświetli nam nasz klucz z przyciskiem do jego łatwego skopiowania. W tym momencie warto sobie go zapisać w bezpiecznym miejscu, bo na stronie możemy zobaczyć go tylko raz. Na szczęście, możemy tworzyć wiele kluczy, więc zgubienie lub zapomnienie go nie stanowi problemu. I to wszystko! Możemy teraz korzystać z aplikacji i dodatków, które wymagają własnego klucza.

VOCR

O świetnym narzędziu VOCR pisałem jakiś czas temu, omawiając stronę Mac Accessibility Hub. VOCR pozwala nam wykonać rozpoznawanie tekstu silnikiem OCR dowolnego okna lub elementu pod kursorem VoiceOver w systemie Mac OS. Od czasu tego artykułu aplikacja została wzbogacona o kilka nowości, takich jak automatyczne czytanie zmian na ekranie, możliwość zmiany wszystkich skrótów klawiszowych i oczywiście możliwość poproszenia AI o opisanie zawartości ekranu.

Aby skonfigurować VOCR do pracy z GPT, musimy wejść do jego menu w sekcji menu statusu lub skrótem CTRL+Command+Shift+S. Następnie otwieramy Menu Settings>Engine i upewniamy się, że opcja GPT jest zaznaczona. Kiedy to zrobimy, w tym samym menu klikamy w “OpenAI API Key …” i wklejamy nasz klucz API. Na koniec, wracamy do tego samego menu i klikamy w “Set System Prompt.” W tym oknie możemy wprowadzić instrukcje, jakie ma wykonać GPT przy przetwarzaniu zdjęć.

Aby poprosić VOCR o opis, najpierw wykonujemy tradycyjne rozpoznanie OCR, używając jednego z trzech skrótów:

  • CTRL+Command+Shift+W rozpoznaje okno
  • CTRL+Command+Shift+V rozpoznaje element pod kursorem VoiceOver
  • CTRL+Command+Shift+C wykonuje zdjęcie kamerą komputera (można ją wybrać w ustawieniach).

Następnie naciskamy CTRL+Command+Shift+A, aby zadać pytanie. Domyślnie będzie wykorzystany prompt systemowy, który ustawiliśmy wcześniej. Jeśli chcemy zapytać o konkretny detal, możemy to zrobić tutaj. Otrzymany opis zostanie przeczytany automatycznie i skopiowany do schowka. Możemy również opisywać dowolne pliki obrazów na komputerze, w tym celu z menu kontekstowego Findera na pliku wchodzimy do menu Otwórz za pomocą i wybieramy VOCR. Narzędzie posiada również tzw. Tryb eksploracji uruchamiany skrótem CTRL+Command+Shift+E, który ma teoretycznie pozwolić na dostęp do całkowicie niedostępnych elementów na ekranie takich jak graficzne przyciski, jednak model GPT ma spore problemy z dokładnym podawaniem współrzędnych elementów na ekranie, więc funkcja jest raczej mało przydatna.

AI Content Describer

Do screenreadera NVDA powstały dwa dodatki pozwalające na korzystanie z AI. Pierwszym z nich jest AI Content Describer. Dodatek służy wyłącznie do opisywania zdjęć i oferuje cały wachlarz poleceń pozwalających na opisywanie obiektu pod kursorem, całego okna lub ekranu oraz plików na komputerze. Można go pobrać ze sklepu add-on stor, lub ze strony podlinkowanej wyżej.

Konfiguracji dodatku dokonujemy w ustawieniach NVDA, przechodząc do kategorii AI Content Describer. Aby dodać nasz klucz API, naciskamy przycisk “Manage Models”, wybieramy z listy “GPT 4 Omni” a następnie wklejamy do pola API Key nasz klucz. W tym samym oknie możemy również skonfigurować nasz prompt oraz maksymalną długość odpowiedzi w tokenach (jeden token to jedno lub kilka słów. 1000 tokenów powinno pozwolić na bardzo szczegółowe opisy). W głównym oknie ustawień dodatku warto również zaznaczyć pole “open each result in a browsable dialog”, spowoduje to wyświetlanie opisów w wirtualnym buforze, co pozwoli na ich łatwe kopiowanie i przeglądanie.

Do opisania zdjęcia możemy użyć jednego z poniższych skrótów:

  • NVDA+Shift+I — wyświetla menu pozwalające opisać obiekt pod fokusem, nawigatorem NVDA, cały ekran, zrobić zdjęcie lub uruchomić wykrywanie twarzy wbudowaną kamerką (wykrywanie twarzy działa offline i nie wymaga klucza API).
  • NVDA+Shift+U opisuje objekt pod nawigatorem NVDA
  • NVDA+Shift+Y opisuje zawartość schowka. W przeciwieństwie do aplikacji Be My Eyes mogą to być nie tylko dane graficzne. Schowek może zawierać również ścieżkę do pliku (NP. Skopiowaną z eksploratora)
  • NVDA+Shift+J Informuje nas, czy jesteśmy dobrze widoczni w kadrze kamerki komputera (Jak wspominałem wyżej, funkcja ta nie wymaga klucza API i działa lokalnie).

Dodatek oferuje jeszcze 3 domyślnie nieprzypisane skróty — opisz obiekt pod fokusem, opisz cały ekran i zrób zdjęcie. Zarówno te, jak i powyższe polecenia możemy zmienić w ustawieniach NVDA.

Wygenerowany opis zostanie wyświetlony i przeczytany, jeśli zaznaczyliśmy odpowiednie pole w ustawieniach — w przeciwnym razie wynik zostanie tylko odczytany. Dodatek jest bardzo prosty w obsłudze — po jednym skrócie klawiszowym od razu otrzymujemy opis, używając promptu zapisanego w ustawieniach. Równocześnie to jest jego największą wadą, bo nie jesteśmy w stanie szybko zapytać o konkretne detale, jeśli nie otrzymaliśmy ich w opisie. W takich sytuacjach może was zainteresować kolejny dodatek.

Open AI

Drugi dodatek, po prostu nazwany Open AI, daje dostęp do wszystkich funkcji oferowanych przez API Open AI. Oprócz przesyłania zdjęć możemy wykorzystać go do rozmowy z Chatem GPT w bardzo dostępnym interfejsie, rozpoznawania mowy modelem Whisper oraz wygenerowania mowy głosami OpenAI. Podobnie jak AI Content Describer, dodatek możemy znaleźć w sklepie Add-on Store lub na stronie autora.

Również w przypadku tego dodatku konfiguracji dokonujemy w ustawieniach NVDA pod kategorią “open AI.” Aby wprowadzić nasz klucz, przechodzimy do przycisku “OpenAI API Keys…” i wklejamy klucz do pierwszego pola edycji w oknie konfiguracji. W głównym oknie ustawień warto jeszcze zaznaczyć pole “Remember the contents of the system field between sessions” (Pamiętaj prompt systemowy pomiędzy sesjami) oraz odznaczyć pole “Resize images before sending them to the API” (w obecnej wersji powoduje, że dodatek nie działa prawidłowo).

Dodatek oferuje następujące skróty klawiszowe:

  • NVDA+G — otwórz okno dodatku
  • NVDA+E — Opisz zrzut ekranu
  • NVDA+O — opisz obiekt pod nawigatorem NVDA

Nie zależnie od tego, jakiego skrótu użyjemy, zostanie otwarte okno, pozwalające nam na rozmowę z AI. Znajdziemy w nim kilka interesujących elementów:

  • Pole promt (Alt+P), gdzie możemy zadawać pytania, oraz pole System Prompt (Alt+Y) – gdzie możemy podać główne instrukcje modelowi. Domyślny prompt systemowy prosi o szczegółowe opisy zdjęć, warto go uzupełnić o prośbę, żeby odpowiadał po polsku.
  • Lista załączników, które zostaną przesłane z naszym pytaniem — jeśli użyliśmy skrótów do opisania ekranu lub obiektu to znajdziemy tu automatycznie dołączone zdjęcie
  • Lista dostępnych modeli (warto wybrać tu GPT4O)
  • Pole na ustawienie maksymalnej długości odpowiedzi Max Tokens
  • Przyciski pozwalające na rozpoznawanie i syntezę mowy oraz opisywanie zdjęć z dowolnego adresu lub pliku na komputerze
  • Pole Conversation Mode — powoduje, że model zapamiętuje kontekst naszej rozmowy. Jeśli to pole jest zaznaczone, możemy zadawać kolejne pytania w odniesieniu do odpowiedzi, które otrzymaliśmy wcześniej.
  • Pole tylko do odczytu messages (Alt+M) – tutaj będą pojawiać się odpowiedzi na nasze zapytania.
  • Przycisk Submit (CTRL+Enter) – przesyła nasze zapytanie

Dzięki temu, że dodatek oferuje wiele skrótów klawiszowych, jest bardzo prosty w obsłudze. Wystarczy go otworzyć jednym z poleceń, wpisać pytanie do pola Prompt, a następnie nacisnąć CTRL+Enter, aby je wysłać. O postępie generowania odpowiedzi będziemy informowani dźwiękami, a kiedy odpowiedź będzie gotowa, zostanie odczytana. Możemy również w każdej chwili przejść do historii rozmowy, żeby ją przejrzeć lub skopiować. Możemy również kontynuować naszą rozmowę z czatem, wracając do pola prompt i pisząc kolejne wiadomości.

Vollama

Vollama to kolejne narzędzie od China Kim (autora VOCR). To uniwersalny klient pozwalający na łatwą komunikację z wieloma modelami językowymi — zarówno takimi, które możemy uruchomić na komputerze, jak i tymi, które działają w chmurze. To właśnie na tych drugich skupię się w tym tekście. Aplikacje możemy pobrać zarówno na system Windows, jak i Mac OS. Wersja na Maca nie przeszła procesu notaryzacji, dlatego po jej pierwszym uruchomieniu system wyświetli błąd. Po jego zamknięciu musimy przejść do ustawień systemowych>prywatność i bezpieczeństwo i zezwolić na uruchomienie Vollama.

Przy pierwszym uruchomieniu, zobaczymy okno błędu, ponieważ Vollama próbował znaleźć lokalny model na komputerze, Możemy go zignorować, naciskając OK. Następnie możemy dodać nasz klucz API. Możemy to zrobić, wybierając polecenie “API Settings” z menu Chat lub naciskając CTRL+Shift+A (Windows) /Command+Shift+A (Mac.) W oknie wybieramy z listy OpenAI i wklejamy nasz klucz do pola API Key.

Volama - Poglądowy dialog

Samo okno rozmowy jest bardzo proste. Składa się z dwóch pól — jedno do wpisywania wiadomości, drugie tylko do odczytu zawierające historie rozmowy, przycisk wyślij oraz paska narzędzi zawierającego listę wyboru, z jakim modelem chcemy porozmawiać (Na Windowsie można do niego dotrzeć, naciskając CTRL+L). W menu Chat znajdziemy również opcję, aby do naszego pytania dołączyć zdjęcie oraz opcję włączającą automatyczne odczytywanie odpowiedzi przez syntezator (Speak responses with system voice). Naciskając CTRL+Alt+S (Windows) lub Command+Option+S (Mac) możemy ustawić Prompt Systemowy. Sam proces rozmowy z AI jest banalnie prosty — wpisujemy swoją wiadomość do pola edycji i naciskamy enter. O gotowej odpowiedzi jesteśmy informowani dźwiękiem oraz mową, jeśli odpowiednia opcja w menu została zaznaczona.

Podsumowanie

Mogę śmiało powiedzieć, że GPT i pochodne modele stanowią rewolucję, zwłaszcza w kwestii dostępu do danych graficznych, a to dopiero początek. Niebawem GPT4O otrzyma również możliwość interpretowania filmów, a konkurencja OpenAI nie śpi i też pracuje nad podobnymi modelami. Jeśli korzystamy z tych narzędzi z rozwagą, to mogą nam bardzo ułatwić pracę i znacznie poprawić dostęp do informacji.

 

Partnerzy

 Fundacja Instytut Rozwoju Regionalnego                     Państwowy Fundusz Rehabilitacji Osób Niepełnosprawnych

Back to top