Dieses Add-on ermöglicht es, detaillierte Beschreibungen für Bilder, Bedienelemente der Benutzeroberfläche und andere visuell nicht zugängliche Inhalte zu erhalten.
Durch die Nutzung der multimodalen Fähigkeiten fortschrittlicher KI-Modelle und Computer-Vision-Algorithmen wollen wir erstklassige Inhaltsbeschreibungen liefern und die Unabhängigkeit insgesamt erhöhen. Weitere Informationen zu den zugrunde liegenden Modellen finden Sie im entsprechenden Abschnitt dieses Dokuments.
Beschreiben Sie das Fokusobjekt, das Navigatorobjekt oder den gesamten Bildschirm oder machen Sie ein Foto von der Bordkamera
Beschreiben Sie jedes Bild, das in die Zwischenablage kopiert wurde, sei es ein Bild aus einer E-Mail oder ein Pfad im Windows Explorer
Geben Sie mithilfe von Computer-Vision-Algorithmen an, ob das Gesicht des Benutzers in der Mitte des Bildes positioniert ist (erfordert keinen kostenpflichtigen API-Zugriff).
Unterstützt mehrere Anbieter (GPT4 von OpenAI, Gemini von Google, Claude 3 von Anthropic und llama.cpp)
Unterstützt eine Vielzahl von Formaten, darunter PNG (.png), JPEG (.jpeg und .jpg), WEBP (.webp) und nicht animiertes GIF (.gif).
Optional werden Antworten zwischengespeichert, um das API-Kontingent beizubehalten
Passen Sie für die erweiterte Verwendung die Eingabeaufforderung und die Token-Anzahl an, um die Informationen an Ihre Bedürfnisse anzupassen
Markdown-Rendering für den einfachen Zugriff auf strukturierte Informationen (betten Sie einfach z. B. „Antworten in Markdown“ am Ende Ihrer Eingabeaufforderungen ein)
Es gab einige Hauptmotive für dieses Projekt.
NVDA ist in der Lage, sofort eine optische Zeichenerkennung (OCR) durchzuführen, was bahnbrechend ist. Wenn Sie versuchen, Text aus einem Bild oder PDF-Dokument herauszuholen, ist dies genau das Richtige für Sie.
Allerdings ist OCR nur in der Lage, Daten zu analysieren, bei denen es sich möglicherweise um Text handelt. Es gelingt nicht, den Kontext, die Objekte und Beziehungen zu berücksichtigen, die in diesen Bildern vermittelt werden. Und das Internet ist voll davon. Logos, Porträts, Memes, Symbole, Diagramme, Diagramme, Balken-/Liniendiagramme ... Was auch immer. Sie sind überall und normalerweise nicht in einem Format, das Benutzer von Bildschirmleseprogrammen interpretieren können. Bis vor Kurzem war man noch immer auf die Bereitstellung alternativer Textbeschreibungen durch Content-Autoren angewiesen. Auch wenn dies immer noch ein Muss ist, lässt sich die Tatsache, dass ein hoher Qualitätsstandard eher die Ausnahme als die Regel ist, kaum ändern.
Jetzt sind die Möglichkeiten nahezu endlos. Sie könnten:
Visualisieren Sie den Desktop oder ein bestimmtes Fenster, um die Platzierung von Symbolen zu verstehen, wenn Sie andere schulen
Erhalten Sie detaillierte Informationen über den Status von Spielen, virtuellen Maschinen usw., wenn der Ton nicht ausreicht oder nicht verfügbar ist
Finden Sie heraus, was in einem Diagramm angezeigt wird
Entmystifizieren Sie Screenshots oder Bildschirmfreigaben in Zoom oder Microsoft Teams
Stellen Sie sicher, dass Ihr Gesicht deutlich in die Kamera blickt und dass Ihr Hintergrund professionell ist, bevor Sie Videos aufnehmen oder an Online-Meetings teilnehmen
GPT4-Vision
Google Gemini Pro-Vision
Claude 3 (Haiku, Sonett und Opus)
llama.cpp (extrem instabil und langsam, abhängig von Ihrer Hardware, getestet auf Funktion mit den Modellen llava-v1.5/1.6, BakLLaVA, Obsidian und MobileVLM 1.7B/3B)
Befolgen Sie die nachstehenden Anweisungen, damit die einzelnen Schritte funktionieren.
Laden Sie die neueste Version des Add-ons über diesen Link herunter. Klicken Sie auf einem Computer, auf dem NVDA installiert ist, auf die Datei und befolgen Sie dann die nachstehenden Anweisungen, um einen API-Schlüssel von einem unterstützten Anbieter zu erhalten. Wenn Sie sich nicht sicher sind, welches Sie verwenden sollen, sind sich die Entwickler und Tester dieses Add-ons darin einig, dass Gemini derzeit günstigere Preise bietet, während Open-AI ein höheres Maß an Genauigkeit zu bieten scheint. Claude 3 Haiku ist die günstigste und schnellste Option, aber die Qualität ist ein Glücksfall. Natürlich hängen diese Ergebnisse stark von der jeweiligen Aufgabe ab. Wir empfehlen daher, mit verschiedenen Modellen und Eingabeaufforderungen zu experimentieren, um herauszufinden, was am besten funktioniert.
Gehen Sie zur API-Schlüsselseite von open-AI
Wenn Sie noch kein Konto haben, erstellen Sie eines. Wenn ja, melden Sie sich an.
Klicken Sie auf der Seite „API-Schlüssel“ auf, um einen neuen geheimen Schlüssel zu erstellen. Kopieren Sie es in Ihre Zwischenablage.
Füllen Sie das Konto mit mindestens 1 $ auf
Scrollen Sie im NVDA-Einstellungsdialog nach unten zur Kategorie „AI Content Describer“, wählen Sie dann „Modelle verwalten (Alt+M)“, wählen Sie „GPT4 Vision“ als Anbieter aus, bewegen Sie die Tabulatortaste in das Feld „API-Schlüssel“ und fügen Sie den soeben generierten Schlüssel ein Hier.
Zum Zeitpunkt des Verfassens dieses Artikels vergibt Open-AI Gutschriften an neue Entwicklerkonten, die drei Monate lang genutzt werden können, danach verfallen sie. Nach diesem Zeitraum müssen Sie Credits erwerben. Die typische Nutzung sollte niemals 5,00 $ pro Monat überschreiten. Zur Veranschaulichung: Die Originalversion dieses Add-ons wurde für etwas weniger als einen Dollar entwickelt. Sie können sich jederzeit bei Ihrem OpenAI-Konto anmelden und auf „Nutzung“ klicken, um Ihr Kontingent zu erhalten.
Sie müssen zunächst ein Google Workspace-Projekt erstellen, indem Sie zur Google Cloud Console gehen. Stellen Sie sicher, dass Sie in Ihrem Google-Konto angemeldet sind.
Erstellen Sie einen Namen mit vier bis dreißig Zeichen, z. B. „Gemini“ oder „NVDA-Add-on“.
Navigieren Sie zur Seite mit den API-Schlüsseln von Google AI Studio
Klicken Sie auf „API-Schlüssel erstellen“
Scrollen Sie im NVDA-Einstellungsdialog nach unten zur Kategorie AI Content Describer, wählen Sie dann „Modelle verwalten (Alt+M)“, wählen Sie „Google Gemini“ als Ihren Anbieter, tippen Sie auf das API-Schlüsselfeld und fügen Sie den soeben generierten Schlüssel ein Hier.
Melden Sie sich bei der Anthropic-Konsole an.
Klicken Sie auf Ihr Profil -> API-Schlüssel.
Klicken Sie auf Schlüssel erstellen.
Geben Sie einen Namen für den Schlüssel ein, z. B. „AIContentDescriber“, klicken Sie dann auf „Schlüssel erstellen“ und kopieren Sie den angezeigten Wert. Dies ist, was Sie in das API-Schlüsselfeld unter der Kategorie „Ai Content Describer“ des NVDA-Einstellungsdialogs -> Modelle verwalten -> Claude 3 einfügen.
Wenn Sie es noch nicht getan haben, kaufen Sie auf der Seite „Anthropische Pläne“ Credits im Wert von mindestens 5 US-Dollar.
Dieser Anbieter ist derzeit etwas fehlerhaft und Ihr Kilometerstand kann sehr hoch sein. Es sollte eigentlich nur von fortgeschrittenen Benutzern ausprobiert werden, die daran interessiert sind, lokale, selbst gehostete Modelle auszuführen und über die entsprechende Hardware verfügen.
Laden Sie llama.cpp herunter. Zum Zeitpunkt des Schreibens dieses Artikels entfernt dieser Pull-Request multimodale Funktionen, daher sollten Sie die letzte Version mit Unterstützung dafür verwenden. Wenn Sie einen Nvidia-Grafikadapter mit CUDA-Unterstützung verwenden, laden Sie diese vorgefertigten Binärdateien herunter: llama-b2356-bin-win-cublas-cu12.2.0-x64.zip und cudart-llama-bin-win-cu12.2.0-x64. zip Die Schritte zum Arbeiten mit einem anderen Grafikadapter liegen außerhalb des Rahmens, können aber in der Readme-Datei „llama.cpp“ gefunden werden.
Extrahieren Sie beide Dateien in denselben Ordner.
Suchen Sie die quantisierten Formate der Modelle, die Sie von Huggingface verwenden möchten. Für LLaVA 1.6 Vicuna 7B: llava-v1.6-vicuna-7b.Q4_K_M.gguf und mmproj-model-f16.gguf
Legen Sie diese Dateien im Ordner mit den restlichen llama.cpp-Binärdateien ab.
Führen Sie an einer Eingabeaufforderung die Serverbinärdatei llava.cpp aus und übergeben Sie die .gguf-Dateien für das Modell und den multimodalen Projektor (wie folgt):
server.exe -m llava-v1.6-vicuna-7b.Q4_K_M.gguf --mmproj mmproj-model-f16.gguf
Scrollen Sie im NVDA-Einstellungsdialog nach unten zur Kategorie „AI Content Describer“, wählen Sie dann „Modelle verwalten (Alt+M)“, wählen Sie „llama.cpp“ als Ihren Anbieter aus, bewegen Sie die Tabulatortaste in das Feld „Basis-URL“ und geben Sie den in angezeigten Endpunkt ein die Konsole (standardmäßig „http://localhost:8080“).
Alternativ können Sie einige dieser Schritte auslassen und llama.cpp auf einem Remote-Server mit höheren Spezifikationen als Ihrem lokalen Computer ausführen und dann stattdessen diesen Endpunkt eingeben.
Vier Hotkeys sind standardmäßig gebunden:
NVDA+Umschalt+i: Öffnet ein Menü mit der Frage, ob der aktuelle Fokus, das Navigatorobjekt, die physische Kamera oder der gesamte Bildschirm mit KI beschrieben werden soll.
NVDA+Umschalt+u: Beschreiben Sie den Inhalt des aktuellen Navigatorobjekts mithilfe von KI.
NVDA+Umschalt+Y: Beschreiben Sie das Bild (oder den Dateipfad zu einem Bild) in der Zwischenablage mithilfe von KI.
NVDA+Shift+j: Beschreiben Sie die Position Ihres Gesichts im Bild der ausgewählten Kamera. Wenn Sie mehrere Kameras angeschlossen haben, navigieren Sie zum AI-Inhaltsbeschreibungsmenü (NVDA+Umschalt+i) und wählen Sie mit dem Punkt „Kamera auswählen“ im Untermenü „Gesichtserkennung“ die Kamera aus, die Sie verwenden möchten.
Drei Gesten sind ungebunden:
Beschreiben Sie den Inhalt des aktuell fokussierten Elements mithilfe von KI.
Machen Sie einen Screenshot und beschreiben Sie ihn dann mithilfe von KI.
Machen Sie mit der ausgewählten Kamera ein Bild und beschreiben Sie es dann mithilfe von KI.
Zögern Sie nicht, diese jederzeit über den Eingabegesten-Dialog anzupassen.
Um das Add-on-Paket aus der Quelle zu erstellen, benötigen Sie:
eine Python-Distribution (3.7 oder höher wird empfohlen). Suchen Sie auf der Python-Website nach Windows-Installern. Bitte beachten Sie, dass für die Vorbereitung des NVDA-Quellcodes und der enthaltenen Module von Drittanbietern derzeit die 32-Bit-Version von Python 3.7 erforderlich ist.
Scons – Website – Version 4.3.0 oder höher. Sie können es über PIP installieren. pip install scons
Markdown 3.3.0 oder höher. pip install markdown
Dann öffnen Sie das Terminal Ihrer Wahl:
git clone https://github.com/cartertemm/AI-content-describer.git cd AI-content-describer scons
Nachdem die Ausführung des Befehls scons
abgeschlossen ist, wird eine *.nvda-addon-Datei im Stammverzeichnis dieses Repositorys abgelegt, die zum Testen und zur Veröffentlichung bereitsteht.
Wenn Sie zusätzliche Zeichenfolgen hinzufügen, die übersetzt werden müssen, ist es wichtig, die .pot-Datei wie folgt neu zu erstellen:
scons pot
Auf einem Windows-Rechner:
Poedit herunterladen. Dies ist die Software, mit der Sie jede Nachricht aus dem Englischen übersetzen.
Laden Sie hier die .pot-Datei mit allen Zeichenfolgen herunter
Öffnen Sie die gerade heruntergeladene Datei im Programm poedit. Klicken Sie im angezeigten Fenster auf „Neue Übersetzung erstellen“ und wählen Sie dann die Zielsprache aus.
Gehen Sie den Inhalt des Quelltexts durch, konvertieren Sie ihn in die Zielsprache und fügen Sie ihn dann in das Übersetzungsfeld ein. Für zusätzliche Hilfe klicken Sie einfach mit der rechten Maustaste auf das Listenelement -> Codevorkommen und gehen Sie dann eine Zeile nach oben, um den Kommentar zu lesen, der mit „# Translators:“ beginnt. Diese Kommentare werden zusätzlich an einer Stelle in der .pot-Datei zur Verfügung gestellt.
Wenn Sie fertig sind, klicken Sie auf Datei -> Speichern oder drücken Sie Strg+S und wählen Sie dann einen Speicherort für die neue .mo- und .po-Datei aus. Dies sind die Dateien, die mir per E-Mail zugesandt oder in einem Pull-Request angehängt werden sollten.
Übersetzen Sie den Inhalt von readme.md (dieser Datei). Befestigen Sie es auch!
Alle werden sehr geschätzt und gutgeschrieben. Die folgenden Personen haben an dem Addon gearbeitet.
Mazen: Markdown-Implementierung, andere Codebeiträge
Kostenkov-2021: Russische Übersetzung
Nidza07: Serbische Übersetzung
Heorhii Halas: Ukrainische Übersetzung
Umut Korkmaz: Türkische Übersetzung
Platinum_Hikari: Französische Übersetzung
Lukas: Tschechische Übersetzung
Michaela: Slowakische Übersetzung
Stehen Sie vor einem Problem? Senden Sie es an den Issue-Tracker
Haben Sie einen Vorschlag für eine neue Funktion? Erstellen Sie auch hierfür ein Ticket und wir können über die Umsetzung sprechen. Pull-Anfragen ohne damit verbundene Probleme werden überprüft, nehmen aber wahrscheinlich für alle mehr Zeit in Anspruch, insbesondere wenn ich entscheide, dass der neue Fix oder die neue Funktionalität anders funktionieren muss als die vorgeschlagene.
Übersetzungen werden mit offenen Armen empfangen. Je mehr Menschen Zugang zu dieser leistungsstarken Technologie haben, desto besser!
Wenn Sie Github nicht haben oder es nicht verwenden möchten, können Sie mir eine E-Mail schreiben: cartertemm (at) gmail (dot) com.
Danke für die Unterstützung!