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 | 2024.05.22 | 2024.1 | 2024.1 | 2023.1 | 11-06-2024 22:08:54 | 171 Кб. | GPL v2 |
Информация о локализации на русский язык
🔝 Назад к оглавлениюСкачать
AIContentDescriber-V.2024.05.22.nvda-addon
⬇ Перейти к истории версий 🔝 Назад к оглавлениюРазделы
🔝 Назад к оглавлениюСправка
Подробнее
AIContentDescriber (Описатель контента с использованием искусственного интеллекта для NVDA)
Дополнение AIContentDescriber позволяет получать подробные описания для изображений, элементов управления пользовательского интерфейса и другого визуально недоступного контента.
Используя мультимодальные возможности передовых моделей искусственного интеллекта и алгоритмов компьютерного зрения, мы стремимся предоставить лучшие в своем классе описания контента и повысить общую независимость. Более подробную информацию о моделях, лежащих в основе, можно найти в соответствующем разделе этого документа.
Функции.
- Описать объект фокусировки, объект навигации, весь экран или сделать снимок с бортовой камеры.
- Описывать любое изображение, которое было скопировано в буфер обмена, будь то картинка из электронной почты или путь в проводнике windows
- Указывать, расположено ли лицо пользователя в центре кадра, используя алгоритмы компьютерного зрения (не требует платного доступа к API)
- Поддерживает множество провайдеров (OpenAI's GPT4, Google's Gemini, Anthropic's Claude 3, и llama.cpp)
- Поддерживает широкий спектр форматов, включая PNG (.png), JPEG (.jpeg и .jpg), WEBP (.webp) и неанимированный GIF (.gif)
- Опционально кэширует ответы для сохранения квоты API
- Для расширенного использования настраивайте подсказки и количество токенов, чтобы адаптировать информацию к вашим потребностям
- Рендеринг в формате Markdown для легкого доступа к структурированной информации (просто вставьте, например, «ответить в формате Markdown» в конец подсказок)
Пример использования
У этого проекта было несколько основных мотивов.
NVDA способна выполнять оптическое распознавание символов (OCR) из коробки, что меняет правила игры. Если вы пытаетесь извлечь текст из изображения или PDF-документа, это то, что вам нужно.
Однако OCR способен анализировать только те данные, которые могут быть текстом. Он не в состоянии учесть контекст, объекты и отношения, переданные в этих изображениях. А интернет полон ими. Логотипы, портреты, мемы, иконки, графики, диаграммы, гистограммы и линейные графики... Да что угодно. Они повсюду, и, как правило, не в том формате, в котором их могут интерпретировать пользователи программ для чтения с экрана. До недавнего времени авторы контента должны были предоставлять альтернативные текстовые описания. Хотя это по-прежнему необходимо, трудно изменить тот факт, что высокий стандарт качества является исключением, а не правилом.
Теперь возможности практически безграничны. Вы можете:
- Осмотреть рабочий стол или конкретное окно, чтобы понять расположение значков при обучении.
- Получить подробную информацию о состоянии игр, виртуальных машин и т. д., когда звук недостаточен или недоступен.
- Понять, что отображается на графике.
- Демистифицируйте скриншоты или совместное использование экрана в Zoom или Microsoft Teams.
- Убедитесь, что ваше лицо четко смотрит в камеру, а фон имеет профессиональный вид, прежде чем записывать видео или участвовать в онлайн-совещаниях.
Модели
- GPT4 vision
- Google Gemini pro vision
- Claude 3 (Haiku, Sonett и Opus)
- llama.cpp (крайне нестабилен и медлителен в зависимости от вашего оборудования, проверен на работу с моделями llava-v1.5/1.6, BakLLaVA, Obsidian и MobileVLM 1.7B/3B)
Следуйте инструкциям, приведенным ниже, чтобы заставить каждую из них работать.
Начало работы
Загрузите последнюю версию дополнения по этой ссылке. Щелкните по файлу на компьютере с установленной NVDA, а затем следуйте инструкциям ниже, чтобы получить API-ключ от поддерживаемого провайдера. Если вы не уверены, какой из них использовать, то, по общему мнению разработчиков и тестеров этого аддона, Gemini в настоящее время предлагает более приемлемые цены, в то время как OpenAI, похоже, обеспечивает более высокую степень точности. Claude 3 haiku - самый дешевый и быстрый вариант, но его качество оставляет желать лучшего. Конечно, эти результаты сильно зависят от поставленной задачи, поэтому мы рекомендуем поэкспериментировать с различными моделями и подсказками, чтобы найти то, что работает лучше всего.
Получение ключа API от OpenAI:
- Перейдите на сайт https://platform.openai.com/account/api-keys.
- Если у вас еще нет учетной записи, создайте ее. Если есть, войдите в него.
- На странице API-ключей нажмите, чтобы создать новый секретный ключ. Скопируйте его в буфер обмена.
- Пополните счет на сумму не менее 1 доллара.
- В диалоговом окне настроек NVDA прокрутите вниз до категории AI Content Describer, затем выберите «manage models (alt+m)», выберите «GPT4 Vision» в качестве провайдера, сделайте вкладку в поле API-ключа и вставьте сюда только что созданный ключ.
На момент написания статьи OpenAI выдает новым аккаунтам разработчиков кредиты, которые можно использовать в течение трех месяцев, после чего они теряются. По истечении этого срока вам придется покупать кредиты. Обычно их использование не превышает $5,00 в месяц. Для сравнения, оригинальная версия этого дополнения стоила чуть меньше доллара. Вы всегда можете войти в свой аккаунт OpenAI и нажать на «Использование», чтобы получить свою квоту.
Получение ключа API от Google
- Сначала вам нужно будет создать проект Google workspace, перейдя по этой ссылке. Убедитесь, что вы вошли в свой аккаунт. https://console.cloud.google.com/projectcreate
- Создайте имя длиной от четырех до тридцати символов, например «gemini» или «NVDA add-on».
- Перейдите по этому URL-адресу: https://makersuite.google.com/app/apikey
- Нажмите «Создать ключ API».
- В диалоговом окне настроек NVDA прокрутите вниз до категории AI Content Describer, затем выберите «manage models (alt+m)», выберите «Google Gemini» в качестве провайдера, сделайте вкладку в поле API-ключа и вставьте только что созданный ключ сюда.
Получение ключа API от Anthropic
- Войдите в консоль [Anthropic] (https://console.anthropic.com/login).
- Нажмите на свой профиль -> API-ключи.
- Нажмите кнопку Создать ключ.
- Введите имя ключа, например «AIContentDescriber», затем нажмите «Создать ключ» и скопируйте появившееся значение. Это то, что вы вставите в поле API-ключа в категории Ai Content Describer в диалоге настроек NVDA -> управление моделями -> Клод 3.
- Если вы еще не сделали этого, приобретите кредиты на сумму не менее $5 на странице планов на сайте https://console.anthropic.com/settings/plans.
Настройка 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. Шаги по работе с другим графическим адаптером не входят в эту тему, но могут быть найдены в 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 Content Describer, затем выберите «manage models (alt+m)», выберите «llama.cpp» в качестве провайдера, сделайте закладку в поле base URL и введите конечную точку, показанную в консоли (по умолчанию «http://localhost:8080»).
- В качестве альтернативы вы можете пропустить некоторые из этих шагов и запустить llama.cpp на удаленном сервере с более высокими характеристиками, чем у вашей локальной машины, а затем ввести эту конечную точку.
Использование
По умолчанию привязаны четыре горячие клавиши:
- NVDA+shift+i: Вызывает меню, в котором предлагается описать текущий фокус, объект навигатора, физическую камеру или весь экран с помощью искусственного интеллекта.
- NVDA+shift+u: Описать содержимое текущего объекта навигатора с помощью искусственного интеллекта.
- NVDA+shift+y: Описать изображение (или путь к файлу изображения) в буфере обмена с помощью AI.
- NVDA+shift+j: Описать положение вашего лица в кадре выбранной камеры. Если подключено несколько камер, перейдите в меню описателя содержимого AI (NVDA+shift+i) и выберите ту, которую хотите использовать, с помощью пункта «выбрать камеру» в подменю распознавания лиц.
Три жеста не привязаны:
- Описать содержимое текущего сфокусированного элемента с помощью ИИ.
- Сделать снимок экрана, а затем описать его с помощью ИИ.
- Сделать снимок выбранной камерой, а затем описать его с помощью ИИ.
Не стесняйтесь настраивать их в любое время в диалоге ввода жестов.
Создание дополнения
Чтобы создать пакет дополнения из исходных текстов, вам потребуется:
- дистрибутив Python (рекомендуется 3.7 или более поздняя версия). Установщики для Windows можно найти на Python Website. Обратите внимание, что в настоящее время для подготовки исходного кода 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. В появившемся окне нажмите «Создать новый перевод» и выберите целевой язык.
- Переведите содержимое исходного текста на язык перевода, а затем вставьте его в поле перевода. Для получения дополнительной помощи щелкните правой кнопкой мыши элемент списка -> вхождения кода, затем поднимитесь на строку вверх и прочитайте комментарий, начинающийся с «# Переводчики: «. Эти комментарии дополнительно доступны в одном месте в файле .pot.
- Когда все готово, нажмите файл -> сохранить или нажмите ctrl+s, затем выберите место, где будут храниться новые файлы .mo и .po. Вот файлы, которые следует отправить мне по электронной почте или прикрепить в запросе на исправление.
- Переведите содержимое readme.md (этот файл). Прикрепите его тоже!
Вклад
Все они высоко ценятся и будут отмечены. Над аддоном работали следующие люди.
Столкнулись с проблемой? Отправьте ее в issue tracker
Есть предложение по новой функции? Создайте тикет и для этого, и мы сможем обсудить его реализацию. Pull-запросы без связанных с ними проблем будут рассмотрены, но, скорее всего, займут больше времени, особенно если я решу, что новое исправление или функциональность должны работать не так, как было предложено.
Переводы приветствуются с распростертыми объятиями. Чем больше людей смогут получить доступ к этой мощной технологии, тем лучше!
Если у вас нет Github или вы предпочитаете не использовать его, вы можете написать мне письмо - cartertemm (at) gmail (dot) com.
Спасибо за поддержку!
Перевод
История версий
Список версий
- 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