Это дополнение позволяет получать подробные описания изображений, элементов управления пользовательского интерфейса и другого визуально недоступного контента.
Используя мультимодальные возможности передовых моделей искусственного интеллекта и алгоритмов компьютерного зрения, мы стремимся предоставить лучшие в своем классе описания контента и повысить независимость в целом. Для получения дополнительной информации о базовых моделях обратитесь к соответствующему разделу этого документа.
Опишите объект фокусировки, объект навигатора, весь экран или сделайте снимок со встроенной камеры.
Опишите любое изображение, скопированное в буфер обмена, будь то изображение из электронного письма или путь в проводнике Windows.
Укажите, расположено ли лицо пользователя в центре кадра с помощью алгоритмов компьютерного зрения (не требует платного доступа к API)
Поддерживает несколько провайдеров (GPT4 OpenAI, Gemini от Google, Claude 3 от Anthropic и llama.cpp).
Поддерживает широкий спектр форматов, включая PNG (.png), JPEG (.jpeg и .jpg), WEBP (.webp) и неанимированный GIF (.gif).
При необходимости кэширует ответы для сохранения квоты API.
Для расширенного использования настройте подсказку и количество токенов, чтобы адаптировать информацию к вашим потребностям.
Рендеринг Markdown для легкого доступа к структурированной информации (просто вставьте, например, «ответить в Markdown» в конце ваших подсказок)
У этого проекта было несколько основных мотивов.
NVDA способна выполнять оптическое распознавание символов (OCR) прямо из коробки, что меняет правила игры. Если вы пытаетесь получить текст из изображения или PDF-документа, это то, что вам нужно.
Однако OCR может анализировать только те данные, которые могут быть текстовыми. Ему не удается учесть контекст, объекты и отношения, переданные в этих изображениях. И в Интернете их полно. Логотипы, портреты, мемы, значки, диаграммы, диаграммы, гистограммы... Что угодно. Они повсюду и обычно не в том формате, который могут интерпретировать пользователи программ чтения с экрана. До недавнего времени существовала непоколебимая зависимость от авторов контента, предоставляющих альтернативные текстовые описания. Хотя это по-прежнему необходимо, трудно изменить тот факт, что высокие стандарты качества являются исключением, а не правилом.
Теперь возможности практически безграничны. Вы можете:
Визуализируйте рабочий стол или конкретное окно, чтобы понять расположение значков при обучении других.
Получайте подробную информацию о состоянии игр, виртуальных машин и т. д., когда звук недостаточен или недоступен.
Выясните, что отображается на графике
Демистифицируйте снимки экрана или демонстрацию экрана в Zoom или Microsoft Teams
Прежде чем записывать видео или участвовать в онлайн-встречах, убедитесь, что ваше лицо четко смотрит в камеру и что у вас профессиональный опыт.
Видение GPT4
Провидение Google Gemini
Клод 3 (Хайку, Сонетт и Опус)
llama.cpp (чрезвычайно нестабильный и медленный в зависимости от вашего оборудования, протестирован для работы с моделями llava-v1.5/1.6, BakLLaVA, Obsidian и MobileVLM 1.7B/3B)
Следуйте инструкциям, приведенным ниже, чтобы заставить каждый из них работать.
Загрузите последнюю версию дополнения по этой ссылке. Нажмите на файл на компьютере с установленным NVDA, затем следуйте инструкциям ниже, чтобы получить ключ API от поддерживаемого поставщика. Если вы не уверены, какой из них использовать, разработчики и тестировщики этого дополнения сходятся во мнении, что Gemini в настоящее время предлагает более разумные цены, в то время как Open-AI, похоже, обеспечивает более высокую степень точности. Хайку Клода 3 — самый дешевый и быстрый вариант, но качество хромает. Конечно, эти результаты сильно зависят от поставленной задачи, поэтому мы рекомендуем поэкспериментировать с разными моделями и подсказками, чтобы найти то, что работает лучше всего.
Перейдите на ключевую страницу API open-AI.
Если у вас еще нет учетной записи, создайте ее. Если да, войдите в систему.
На странице ключей API нажмите, чтобы создать новый секретный ключ. Скопируйте его в буфер обмена.
Пополните счет как минимум на 1 доллар США.
В диалоговом окне настроек NVDA прокрутите вниз до категории «Описатель контента AI», затем выберите «Управление моделями (alt+m)», выберите «GPT4 Vision» в качестве поставщика, перейдите в поле ключа API и вставьте только что сгенерированный ключ. здесь.
На момент написания статьи Open-AI выдает кредиты новым учетным записям разработчиков, которые можно использовать в течение трех месяцев, после чего они теряются. По истечении этого периода вам придется приобрести кредиты. Типичное использование не должно превышать 5 долларов США в месяц. Для справки: оригинальная версия этого дополнения была разработана чуть меньше доллара. Всегда можно войти в свою учетную запись OpenAI и нажать «использование», чтобы получить квоту.
Сначала вам нужно будет создать проект рабочей области Google, перейдя в облачную консоль Google. Убедитесь, что вы вошли в свою учетную запись Google.
Создайте имя длиной от четырех до тридцати символов, например «Gemini» или «надстройка NVDA».
Перейдите на страницу ключей API студии Google AI.
Нажмите «Создать ключ API».
В диалоговом окне настроек NVDA прокрутите вниз до категории «Описатель контента AI», затем выберите «Управление моделями (alt+m)», выберите «Google Gemini» в качестве поставщика, перейдите в поле ключа API и вставьте только что сгенерированный ключ. здесь.
Войдите в консоль Anthropic.
Нажмите на свой профиль -> Ключи API.
Нажмите Создать ключ.
Введите имя ключа, например «AIContentDescriber», затем нажмите «Создать ключ» и скопируйте появившееся значение. Это то, что вы вставите в поле ключа API в категории «Описатель контента Ai» диалогового окна настроек NVDA -> управление моделями -> Claude 3.
Если вы еще этого не сделали, приобретите кредиты на сумму не менее 5 долларов США на странице антропных планов.
Этот провайдер в настоящее время несколько глючит, и ваш пробег может быть очень большим. На самом деле это следует делать только опытным пользователям, заинтересованным в запуске локальных самостоятельных моделей и необходимом для этого оборудовании.
Загрузите llama.cpp. На момент написания этой статьи этот запрос на включение удаляет мультимодальные возможности, поэтому вам следует использовать последнюю версию с ее поддержкой. Если вы используете графический адаптер Nvidia с поддержкой CUDA, загрузите эти готовые двоичные файлы: llama-b2356-bin-win-cublas-cu12.2.0-x64.zip и cudart-llama-bin-win-cu12.2.0-x64. zip Действия по работе с другим графическим адаптером выходят за рамки, но их можно найти в файле readme llama.cpp.
Извлеките оба этих файла в одну папку.
Найдите в Huggingface квантовые форматы моделей, которые вы хотели бы использовать. Для LLaVA 1.6 Vicuna 7B: llava-v1.6-vicuna-7b.Q4_K_M.gguf и mmproj-model-f16.gguf
Поместите эти файлы в папку с остальными двоичными файлами llama.cpp.
Из командной строки запустите двоичный файл сервера llava.cpp, передав файлы .gguf для модели и мультимодального проектора (как показано ниже):
server.exe -m llava-v1.6-vicuna-7b.Q4_K_M.gguf --mmproj mmproj-model-f16.gguf
В диалоговом окне настроек NVDA прокрутите вниз до категории «Описатель контента AI», затем выберите «Управление моделями (alt+m)», выберите «llama.cpp» в качестве поставщика, перейдите в поле базового URL-адреса и введите конечную точку, показанную на рисунке. консоль (по умолчанию «http://localhost:8080»).
Альтернативно вы можете пропустить некоторые из этих шагов и запустить llama.cpp на удаленном сервере с более высокими характеристиками, чем ваш локальный компьютер, а затем вместо этого ввести эту конечную точку.
По умолчанию привязаны четыре горячие клавиши:
NVDA+shift+i: всплывающее меню с вопросом, следует ли описывать текущий фокус, объект навигатора, физическую камеру или весь экран с помощью ИИ.
NVDA+shift+u: описать содержимое текущего объекта навигатора с помощью ИИ.
NVDA+shift+y: описать изображение (или путь к файлу изображения) в буфере обмена с помощью ИИ.
NVDA+shift+j: Опишите положение вашего лица в кадре выбранной камеры. Если у вас подключено несколько камер, перейдите в меню описания содержимого AI (NVDA+shift+i) и выберите ту, которую вы хотите использовать, с помощью пункта «выбрать камеру» в подменю обнаружения лиц.
Три жеста не связаны:
Опишите содержимое текущего элемента с помощью ИИ.
Сделайте снимок экрана, а затем опишите его с помощью ИИ.
Сделайте снимок с помощью выбранной камеры, а затем опишите его с помощью ИИ.
Не стесняйтесь настраивать их в любое время в диалоговом окне жестов ввода.
Чтобы создать дополнительный пакет из исходного кода, вам потребуется:
дистрибутив Python (рекомендуется версия 3.7 или новее). Посетите веб-сайт Python, чтобы найти установщики Windows. Обратите внимание, что в настоящее время для подготовки исходного кода NVDA и включенных сторонних модулей требуется 32-битная версия Python 3.7.
Scons — Веб-сайт — версия 4.3.0 или новее. Вы можете установить его через PIP. pip install scons
Уценка 3.3.0 или новее. pip install markdown
Затем откройте выбранный вами терминал:
git clone https://github.com/cartertemm/AI-content-describer.git cd AI-content-describer scons
После завершения выполнения команды scons
файл *.nvda-addon будет помещен в корень этого репозитория и готов к тестированию и выпуску.
Если вы добавите дополнительные строки, которые необходимо перевести, важно перестроить файл .pot следующим образом:
scons pot
На машине с Windows:
скачать поэдит. Это программное обеспечение, которое вы будете использовать для перевода каждого сообщения с английского.
скачайте файл .pot со всеми строками здесь
Откройте только что скачанный файл в программе poedit. В появившемся окне нажмите «Создать новый перевод», затем выберите целевой язык.
Пройдите и преобразуйте содержимое исходного текста на целевой язык, а затем вставьте его в поле перевода. Для получения дополнительной помощи щелкните правой кнопкой мыши элемент списка -> вхождения кода, затем перейдите на строку вверх, чтобы прочитать комментарий, начинающийся с «# Translators:». Эти комментарии дополнительно доступны в одном месте файла .pot.
Когда закончите, нажмите «Файл» -> «Сохранить» или нажмите Ctrl+S, затем выберите место для хранения новых файлов .mo и .po. Это файлы, которые следует отправить мне по электронной почте или прикрепить к запросу на включение.
Переведите содержимое readme.md (этот файл). Прикрепите и его!
Все они высоко оценены и будут отмечены. Над аддоном работали следующие люди.
Mazen: реализация уценки, другие дополнения к коду
Костенков-2021: русский перевод
Nidza07: сербский перевод
Георгий Галас: украинский перевод
Умут Коркмаз: перевод на турецкий
Platinum_Hikari: французский перевод
Лукас: чешский перевод
Микаэла: словацкий перевод
Столкнулись с проблемой? Отправьте его в систему отслеживания проблем
Есть предложение по новой функции? Создайте заявку и для этого, и мы сможем поговорить о ее реализации. Запросы на включение без связанных проблем будут рассмотрены, но, вероятно, отнимут у всех больше времени, особенно если я решу, что новое исправление или функциональность должны работать иначе, чем было предложено.
Переводы принимаются с распростертыми объятиями. Чем больше людей получат доступ к этой мощной технологии, тем лучше!
Если у вас нет Github или вы предпочитаете его не использовать, вы можете написать мне по электронной почте — cartertemm (at) gmail (dot) com.
Спасибо за поддержку!