AIContentDescriber (Описатель контента с использованием искусственного интеллекта)
- Автор: 'Carter Temm
and various translators - Исходный код дополнения: Посетить Web-сайт AIContentDescriber
Краткое описание
Дополнение AIContentDescriber позволяет описать объект в фокусе, объект навигатора или экран с помощью популярного искусственного интеллекта GPT4 vision LLM.
Хотя описания контента довольно подробны, они не всегда могут быть полностью точными или отражать реальную информацию.
Для начала перейдите на сайт platform.openai.com и создайте учётную запись, а затем создайте ключ для взаимодействия с API.
Более подробную информацию об этом можно найти в документации к дополнению.
Затем в диалоге настроек NVDA выберите категорию описатель контента с помощью ИИ и введите свой ключ API.
Нажмите NVDA + shift + i, чтобы вызвать меню с запросом о способе описания на основе текущей позиции, или NVDA+shift+u, чтобы описать объект навигатора, или NVDA+shift+y для изображения, скопированного в буфер обмена, например, в проводнике Windows.
Другие сочетания клавиш можно настроить в диалоге жесты ввода.
Основная информация
Название | Версия | Совместимость с API NVDA | Последняя протестированная версия NVDA | Минимальная версия NVDA | Дата загрузки в каталог | Размер | Лицензия |
---|---|---|---|---|---|---|---|
AIContentDescriber | 2025.06.17 | 2025.1 | 2025.1 | 2023.1 | 20-06-2025 09:08:51 | 311 Кб. | GPL v2 |
Информация о локализации на русский язык
🔝 Назад к оглавлениюСкачать
AIContentDescriber-V.2025.06.17.nvda-addon
⬇ Перейти к истории версий 🔝 Назад к оглавлениюРазделы
🔝 Назад к оглавлениюСправка
Подробнее
AIContentDescriber (Описатель контента с использованием искусственного интеллекта для NVDA)
Дополнение AIContentDescriber позволяет получать подробные описания изображений, элементов интерфейса и другого визуально недоступного контента.
Используя мультимодальные возможности современных ИИ-моделей и алгоритмов компьютерного зрения, мы стремимся предоставить описания высочайшего качества и повысить независимость пользователей. Подробнее о используемых моделях см. в соответствующем разделе этого документа.
Возможности
- Описание текущего объекта с фокусом, навигатора, всего экрана или съемка фото с камеры
- Описание любого изображения из буфера обмена (например, картинки из письма или пути к файлу в проводнике)
- Определение положения лица пользователя в кадре с помощью алгоритмов компьютерного зрения (не требует платного API)
- Бесплатное использование по умолчанию, с возможностью добавления собственного API-ключа для доступа к дополнительным моделям
- Поддержка нескольких провайдеров (GPT от OpenAI, Gemini от Google, Pixtral Large от Mistral, Claude 3 от Anthropic, Grok от XAI, Ollama и llama.cpp)
- Поддержка множества форматов: PNG (.png), JPEG (.jpeg и .jpg), WEBP (.webp) и неанимированные GIF (.gif)
- Возможность кэширования ответов для экономии квоты API
- Настройка промптов и количества токенов для продвинутых пользователей
- Возможность задавать уточняющие вопросы и прикреплять дополнительные изображения
- Поддержка Markdown для структурированного отображения информации (включите настройку "открывать результаты в диалоговом окне" и добавьте "отвечай в Markdown" в конец промпта)
Примеры использования
Проект был создан с несколькими основными целями.
NVDA поддерживает оптическое распознавание символов (OCR) "из коробки", что является настоящим прорывом. Если вам нужно извлечь текст из изображения или PDF-документа, используйте эту функцию.
Однако OCR анализирует только данные, которые могут быть текстом. Оно не учитывает контекст, объекты и взаимосвязи на изображениях. А в интернете их огромное количество: логотипы, портреты, мемы, иконки, диаграммы, графики... Они повсюду, и обычно не в формате, доступном для пользователей скринридеров. До недавнего времени приходилось полагаться на альтернативные текстовые описания от авторов контента. Хотя это по-прежнему важно, сложно изменить тот факт, что качественные описания встречаются редко.
Теперь возможности практически безграничны. Вы можете:
- Визуализировать рабочий стол или окно, чтобы понять расположение иконок при обучении других
- Получать подробную информацию о состоянии игр, виртуальных машин и т.д., когда звука недостаточно или он недоступен
- Определять, что показано на графике
- Разбираться в скриншотах или демонстрациях экрана в Zoom или Microsoft Teams
- Убедиться, что ваше лицо четко видно в кадре, а фон выглядит профессионально перед записью видео или участием в онлайн-встречах
Поддерживаемые модели
- GPT4 vision, включая 4O, O1, O3 и производные
- Google Gemini pro vision, включая последние версии 1.5 Flash, 1.5 Flash 8B, Flash 2.0, Flash 2.0 Lite Preview, 2.5 Flash и 2.5 Pro
- Claude 3 и 4 (Haiku, Sonett и Opus)
- Pixtral Large
- Grok-2
- Ollama (нестабильная)
- llama.cpp (крайне нестабильная и медленная, в зависимости от оборудования; тестировалась с моделями llava-v1.5/1.6, BakLLaVA, Obsidian и MobileVLM 1.7B/3B)
Инструкции по настройке каждой из этих моделей приведены ниже.
Начало работы
Скачайте последнюю версию дополнения по этой ссылке. Запустите файл на компьютере с установленной NVDA и следуйте инструкциям установки.
Начиная с версии 2025.06.05, использование GPT4 бесплатно благодаря сообществу PollinationsAI.
Если у вас есть ресурсы и интерес к изучению дополнительных моделей, вы можете использовать собственный API-ключ и уменьшить нагрузку на их серверы. Если нет, перейдите к разделу использование
.
Следуйте инструкциям ниже, чтобы получить API-ключ от поддерживаемого провайдера. Если вы не уверены, какой выбрать, разработчики и тестировщики дополнения рекомендуют Gemini как более экономичный вариант, а Open-AI — как более точный. Claude 3 Haiku — самый дешевый и быстрый, но качество может варьироваться. Результаты сильно зависят от конкретной задачи, поэтому рекомендуем экспериментировать с разными моделями и промптами.
Получение API-ключа от Open-AI:
- Перейдите на страницу API-ключей Open-AI
- Если у вас еще нет аккаунта, создайте его. Если есть — войдите.
- На странице API-ключей нажмите "Create new secret key". Скопируйте ключ в буфер обмена.
- Пополните счет как минимум на $1
- В диалоге настроек NVDA перейдите в категорию AI Content Describer, выберите "manage models (alt+m)", укажите "GPT4 Vision" как провайдер, перейдите в поле API key и вставьте скопированный ключ.
На момент написания Open-AI предоставляет кредиты новым аккаунтам разработчиков сроком на три месяца. После этого потребуется покупка кредитов. Типичное использование редко превышает $5.00 в месяц. Для справки: первая версия этого дополнения была разработана менее чем за доллар. Вы всегда можете проверить квоту, войдя в аккаунт OpenAI и открыв раздел "usage".
Получение API-ключа от Google
- Создайте проект в Google Workspace, перейдя в Google Cloud Console. Убедитесь, что вы вошли в аккаунт Google.
- Придумайте имя длиной от 4 до 30 символов, например "Gemini" или "NVDA add-on"
- Перейдите на страницу API-ключей Google AI Studio
- Нажмите "Create API key"
- В диалоге настроек NVDA перейдите в категорию AI Content Describer, выберите "manage models (alt+m)", укажите "Google Gemini" как провайдер, перейдите в поле API key и вставьте скопированный ключ.
Получение API-ключа от Anthropic
- Войдите в Anthropic Console.
- Перейдите в профиль -> API keys.
- Нажмите Create Key.
- Введите имя ключа, например "AIContentDescriber", нажмите "Create Key" и скопируйте значение. Вставьте его в поле API key в настройках NVDA (AI Content Describer -> manage models -> Claude 3).
- При необходимости пополните счет как минимум на $5 на странице планов Anthropic.
Получение API-ключа от Mistral
- Войдите или создайте аккаунт MistralAI на странице входа.
- При первом входе добавьте рабочее пространство, указав имя и приняв условия.
- После входа выберите "API keys" в меню.
- Нажмите "create a new key" и скопируйте значение. Вставьте его в поле API key в настройках NVDA (AI Content Describer -> manage models -> Pixtral).
- При необходимости пополните счет.
Настройка Ollama
В настоящее время это предпочтительный вариант для локальной работы.
Хотя интеграция с Ollama тестировалась более тщательно, чем llama.cpp, она менее стабильна, чем вызов API, и может вести себя неожиданно на некоторых конфигурациях, вплоть до сбоев на слабых машинах. Перед первым использованием сохраните все важные документы на случай проблем.
Сначала убедитесь, что можете работать с выбранной моделью через командную строку:
- Скачайте установочный файл Ollama для Windows со страницы загрузок.
- Запустите файл. Установщик загрузит все необходимые зависимости.
- Найдите модель, которую хотите использовать. Список доступен на ollama.com -> models -> vision или прямая ссылка.
- Загрузите и запустите модель, введя в командной строке
ollama run [имя_модели]
, заменив "[имя_модели]" на выбранную модель. Например,ollama run llama3.2-vision
. - Если процесс завершился успешно, вы окажетесь в интерактивной оболочке, где можно отправлять запросы модели. Протестируйте ее, затем введите "/bye" для выхода.
- В консоли введите
ollama list
. В первой колонке будет указано имя модели, например "llama3.2-vision:latest". - В настройках NVDA (AI Content Describer -> manage models -> Ollama) введите это имя в поле model name и нажмите OK -> OK. Готово! Выберите Ollama в подменю моделей, и через некоторое время она заработает.
Настройка llama.cpp
Этот вариант предназначен для продвинутых пользователей с мощным оборудованием и может работать нестабильно.
- Скачайте llama.cpp. На момент написания этот pull request удаляет поддержку мультимодальности, поэтому используйте последнюю версию с поддержкой. Если у вас видеокарта Nvidia с поддержкой CUDA, скачайте предварительно собранные файлы: llama-b2356-bin-win-cublas-cu12.2.0-x64.zip и cudart-llama-bin-win-cu12.2.0-x64.zip Инструкции для других видеокарт можно найти в документации 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, указав файлы модели и мультимодального проектора:
server.exe -m llava-v1.6-vicuna-7b.Q4_K_M.gguf --mmproj mmproj-model-f16.gguf
- В настройках NVDA (AI Content Describer -> manage models -> llama.cpp) введите адрес сервера из консоли (по умолчанию "http://localhost:8080").
- Альтернативно можно запустить llama.cpp на удаленном сервере и указать его адрес.
Использование
По умолчанию назначены пять горячих клавиш:
- NVDA+shift+i: Открывает меню с вариантами описания текущего объекта с фокусом, навигатора, камеры или всего экрана.
- NVDA+shift+u: Описать текущий объект навигатора с помощью ИИ.
- NVDA+shift+y: Описать изображение (или путь к нему) из буфера обмена с помощью ИИ.
- NVDA+shift+j: Определить положение лица в кадре выбранной камеры. Если камер несколько, выберите нужную в подменю "select camera" (меню AI Content Describer -> NVDA+shift+i).
- NVDA+alt+i: Открыть диалог для уточняющих вопросов.
Три действия не назначены:
- Описание текущего объекта с фокусом с помощью ИИ.
- Снимок экрана с последующим описанием.
- Снимок с выбранной камеры с последующим описанием.
Вы можете настроить эти сочетания в диалоге "Жесты ввода".
Уточнение описания
Иногда ответ ИИ недостаточно подробен. Возможно, изображение низкого качества, неполное или содержит лишние детали. Может, вы хотите сосредоточиться на конкретной части или сделать более четкий снимок, не теряя контекста. После получения описания нажмите NVDA+shift+c или выберите "Follow-up on previous description" в контекстном меню AI Content Describer (NVDA+shift+i). По умолчанию фокус будет в поле сообщения. Чтобы добавить изображение, оставьте окно диалога открытым и используйте дополнение как обычно. При создании снимка (с камеры, экрана и т.д.) вам предложат прикрепить его к текущему диалогу или начать новый.
Сборка дополнения
Для сборки дополнения из исходного кода потребуется:
- Дистрибутив Python (рекомендуется версия 3.7 или новее). Скачайте установщик с официального сайта Python. Обратите внимание, что для подготовки исходного кода NVDA и сторонних модулей требуется 32-битная версия Python 3.7.
- Scons — официальный сайт — версия 4.3.0 или новее. Установите через PIP:
pip install scons
- Markdown 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:
- Скачайте poedit. Эта программа понадобится для перевода сообщений с английского.
- Скачайте .pot-файл со всеми строками здесь
- Откройте файл в poedit. Нажмите "Create new translation" в появившемся окне и выберите целевой язык.
- Переведите каждую строку из исходного текста. Для справки можно нажать правой кнопкой на элементе -> code occurrences и прочитать комментарий, начинающийся с "# Translators: ". Эти комментарии также собраны в .pot-файле.
- По завершении нажмите "File -> Save" (Ctrl+S) и укажите путь для сохранения .mo и .po файлов. Эти файлы нужно отправить мне по email или прикрепить в pull request.
- Переведите содержимое readme.md (этого файла) и приложите его.
Участники проекта
Мы ценим любой вклад и укажем ваше имя в списке. Над дополнением работали:
- Mazen: реализация Markdown и другие улучшения
- Kostenkov-2021: русский перевод
- Nidza07: сербский перевод
- Heorhii Halas и George-br: украинский перевод
- Umut Korkmaz: турецкий перевод
- Platinum_Hikari: французский перевод
- Lukas: чешский перевод
- Michaela: словацкий перевод
Возникла проблема? Сообщите о ней в трекере issues
Есть идея для новой функции? Создайте тикет, и мы обсудим реализацию. Pull requests без связанных issues будут рассмотрены, но могут потребовать больше времени, особенно если предложенный функционал нужно доработать.
Переводы приветствуются! Чем больше людей смогут использовать эту технологию, тем лучше!
Если у вас нет аккаунта на Github или вы предпочитаете не использовать его, напишите мне на email — cartertemm (at) gmail (dot) com.
Спасибо за поддержку!
Перевод
- Начал перевод с версии 2023.11.23
- Валентин Куприянов: Русский язык
История версий
Список версий
- AIContentDescriber-V.2025.06.17.nvda-addon
- AIContentDescriber-V.2025.06.09.nvda-addon
- AIContentDescriber-V.2025.06.05.nvda-addon
- AIContentDescriber-V.2025.02.05.nvda-addon
- AIContentDescriber-V.2024.05.22.nvda-addon
- AIContentDescriber-V.2024.05.16.nvda-addon
- AIContentDescriber-V.2024.04.14.nvda-addon
- AIContentDescriber-V.2024.03.29.nvda-addon
- AIContentDescriber-V.2024.03.13.nvda-addon
- AIContentDescriber-V.2024.03.09.nvda-addon
- AIContentDescriber-V.2023.11.23.nvda-addon