Opis treści za pomocą AI dla NVDA

Ten dodatek umożliwia uzyskanie szczegółowych opisów obrazów, elementów interfejsu użytkownika oraz innych treści, które są wizualnie niedostępne.

Wykorzystując możliwości zaawansowanych modeli AI oraz algorytmy komputerowego rozpoznawania obrazów, dążymy do dostarczania opisów treści najwyższej jakości, zwiększając ogólną niezależność użytkownika. Aby uzyskać więcej informacji na temat używanych modeli, zapoznaj się z odpowiednią sekcją tego dokumentu.

Funkcje

Przykłady użycia

Projekt ten miał kilka głównych celów.

NVDA natywnie obsługuje rozpoznawanie tekstu (OCR), co jest przełomowe. Jeśli chcesz wyodrębnić tekst z obrazu lub pliku PDF, to doskonałe rozwiązanie.

Jednak OCR analizuje tylko dane, które mogą być tekstem. Nie uwzględnia kontekstu, obiektów ani relacji przedstawionych na obrazach. A internet jest pełen takich treści: logo, portrety, memy, ikony, wykresy, diagramy, grafy słupkowe/liniowe… Są wszędzie i często nie są w formacie, który może być interpretowany przez czytniki ekranu.
Do niedawna istniała silna zależność od autorów treści, którzy dostarczali alternatywne opisy tekstowe. Choć nadal jest to konieczne, wysoka jakość tych opisów zdarza się rzadziej niż byśmy chcieli.

Teraz możliwości są niemal nieograniczone. Możesz:

Modele

Szczegółowe instrukcje konfiguracyjne znajdują się poniżej.

Pierwsze kroki

Pobierz najnowszą wersję dodatku z tego linku. Kliknij na plik na komputerze z zainstalowanym NVDA, a następnie wykonaj poniższe kroki, aby uzyskać klucz API od obsługiwanego dostawcy. Jeśli nie wiesz, którego dostawcę wybrać, autor dodatku i testerzy zalecają Gemini jako bardziej ekonomiczne rozwiązanie, podczas gdy OpenAI oferuje większą dokładność. Claude 3 Haiku to najtańsza i najszybsza opcja, ale jej jakość może być słabsza. Oczywiście, wyniki te w dużym stopniu zależą od danego zadania, dlatego zalecamy eksperymentowanie z różnymi modelami i zapytaniami, aby znaleźć rozwiązanie sprawdzające się najlepiej.

Jak uzyskać klucz API od OpenAI

  1. Przejdź na stronę OpenAI API key.
  2. Jeśli nie masz konta, utwórz je. Jeśli masz, zaloguj się.
  3. Na stronie kluczy API kliknij, aby utworzyć nowy klucz. Skopiuj go do schowka.
  4. Zasil konto kwotą co najmniej 1 USD.
  5. W oknie ustawień NVDA przejdź do kategorii „Opis treści za pomocą AI”, wybierz „Zarządzaj modelami (alt+m)”, wybierz jako dostawcę „GPT-4 Vision”, przejdź do pola klucza API i wklej tam wygenerowany klucz.

W momencie pisania tego tekstu Open-AI udostępnia nowym kontom deweloperskim darmowy limit, z którego można korzystać przez trzy miesiące, po czym wygasa. Po tym okresie będziesz musiał zakupić nowy limit. Typowe wykorzystanie nie powinno nigdy przekraczać 5 dolarów (USD) miesięcznie. Jako punkt odniesienia, oryginalna wersja tego dodatku została opracowana za nieco mniej niż dolara. Zawsze możesz zalogować się na swoje konto OpenAI i kliknąć „usage”, aby sprawdzić swój limit.

Jak uzyskać klucz API od Google

  1. Najpierw utwórz projekt w Google Workspace, przechodząc na stronę Google Cloud Console. Upewnij się, że jesteś zalogowany do swojego konta Google.
  2. Stwórz nazwę projektu o długości od 4 do 30 znaków, np. „Gemini” lub „NVDA addon”.
  3. Przejdź na stronę kluczy API Google AI Studio: API keys.
  4. Kliknij „utwórz klucz API”.
  5. W ustawieniach NVDA przejdź do kategorii „Opis treści za pomocą AI”, wybierz „zarządzaj modelami (alt+m)”, ustaw jako dostawcę „Google Gemini”, przejdź do pola klucza API i wklej tam wygenerowany klucz.

Jak uzyskać klucz API od Anthropic

  1. Zaloguj się do Anthropic Console.
  2. Kliknij w swój profil -> API keys.
  3. Kliknij „Utwórz klucz”.
  4. Wprowadź nazwę klucza, np. „AIContentDescriber”, a następnie kliknij „Utwórz klucz” i skopiuj wyświetloną wartość. Wklej ten klucz w polu klucza API w kategorii „Opis treści za pomocą AI” w ustawieniach NVDA -> Zarządzaj modelami -> Claude 3.
  5. Jeśli jeszcze tego nie zrobiłeś, doładuj konto kwotą co najmniej 5 USD na stronie Anthropic Plans.

Jak skonfigurować llama.cpp

Ten dostawca jest obecnie dość niestabilny i jest głównie przeznaczony dla zaawansowanych użytkowników zainteresowanych lokalnym uruchamianiem modeli na odpowiednio silnym komputerze.

  1. Pobierz llama.cpp. W moment pisania tego dokumentu, ten pull request usuwa możliwości multimodalne, więc użyj ostatniej wersji z tą funkcjonalnością. Jeśli korzystasz z karty graficznej Nvidia z obsługą CUDA, pobierz te wstępnie zbudowane pliki binarne:
    llama-b2356-bin-win-cublas-cu12.2.0-x64.zip oraz cudart-llama-bin-win-cu12.2.0-x64.zip.
    Kroki dla innych kart graficznych są opisane w dokumentacji llama.cpp.

  2. Wypakuj oba pliki do tego samego folderu.

  3. Pobierz z HuggingFace zquantowane modele, które chcesz używać. Dla LLaVA 1.6 Vicuna 7B: llava-v1.6-vicuna-7b.Q4KM.gguf oraz mmproj-model-f16.gguf.

  4. Umieść te pliki w folderze z resztą plików binarnych llama.cpp.

  5. W terminalu uruchom serwer llava.cpp, przekazując pliki .gguf dla modelu i projektora multimodalnego w następujący sposób: server.exe -m llava-v1.6-vicuna-7b.Q4_K_M.gguf --mmproj mmproj-model-f16.gguf

  6. W ustawieniach NVDA przejdź do kategorii „Opis treści za pomocą AI”, wybierz „Zarządzaj modelami (alt+m)”, ustaw jako dostawcę „llama.cpp”, przejdź do pola URL bazowego i wprowadź adres widoczny w konsoli (domyślnie „http://localhost:8080”).

  7. Alternatywnie możesz pominąć niektóre kroki, uruchamiając llama.cpp na zdalnym serwerze o wyższej specyfikacji niż lokalny komputer, a następnie wprowadzić tamten adres URL.

Jak korzystać z tego dodatku

Domyślnie przypisano cztery skróty klawiszowe:

Trzy skróty klawiszowe są domyślnie nieprzypisane:

Możesz dostosować te skróty klawiszowe w dowolnym momencie w ustawieniach zdarzeń wejściowych.

Kompilowanie dodatku

Aby utworzyć paczkę dodatku ze źródła, potrzebujesz:

Następnie w terminalu wpisz:

git clone https://github.com/cartertemm/AI-content-describer.git cd AI-content-describer scons

Po zakończeniu działania polecenia scons, plik *.nvda-addon zostanie umieszczony w głównym folderze tego repozytorium, gotowy do testowania i do wydania.

Jeśli dodasz nowe ciągi wymagające tłumaczenia, ważne jest, aby ponownie wygenerować plik .pot, wpisując:

scons pot

Jak zlokalizować dodatek?

Na komputerze z systemem Windows:

Wkład społeczności

Wszystkie są bardzo cenione i będą uwzględnione. Następujące osoby pracowały nad dodatkiem.

Masz problem? Zgłoś go do tutaj

Masz sugestię dotyczącą nowej funkcji? Utwórz zgłoszenie, i zobaczymy, co da się zrobić. Pull requesty bez powiązanych zgłoszeń będą przeglądane, ale mogą zająć więcej czasu, szczególnie jeśli zdecyduję, że nowa poprawka lub funkcjonalność musi działać inaczej, niż zaproponowano.

Tłumaczenia są mile widziane. Im więcej osób będzie miało dostęp do tej potężnej technologii, tym lepiej!

Jeśli nie masz Githuba lub wolisz go nie używać, możesz wysłać mi email - cartertemm (at) gmail (dot) com.

Dziękuję za wsparcie!