このアドオンを使用すると、画像、ユーザー インターフェイス コントロール、およびその他の視覚的にアクセスできないコンテンツの詳細な説明を取得できるようになります。
高度な AI モデルとコンピューター ビジョン アルゴリズムのマルチモーダル機能を活用して、クラス最高のコンテンツ記述を提供し、全体的な独立性を高めることを目指しています。基礎となるモデルの詳細については、このドキュメントの対応するセクションを参照してください。
フォーカス オブジェクト、ナビゲーター オブジェクト、画面全体を説明するか、オンボード カメラから写真をスナップします
電子メールからの画像でも、Windows エクスプローラーのパスでも、クリップボードにコピーされた画像について説明します。
コンピューター ビジョン アルゴリズムを使用して、ユーザーの顔がフレームの中心に配置されているかどうかを示します (有料の API アクセスは必要ありません)
複数のプロバイダーをサポート (OpenAI の GPT4、Google の Gemini、Anthropic の Claude 3、および 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 俳句は最も安くて早いオプションですが、品質には当たり外れがあります。もちろん、これらの結果は当面のタスクに大きく依存するため、さまざまなモデルやプロンプトを試して、最適なものを見つけることをお勧めします。
open-AIのAPIキーページへ
まだアカウントをお持ちでない場合は、アカウントを作成してください。その場合は、ログインしてください。
[API キー] ページで、クリックして新しい秘密キーを作成します。それをクリップボードにコピーします。
少なくとも 1 ドルをアカウントに入金してください
NVDA 設定ダイアログで、AI Content Describer カテゴリまで下にスクロールし、「モデルの管理 (alt+m)」を選択し、プロバイダーとして「GPT4 Vision」を選択し、タブで API キーフィールドに移動し、生成したキーを貼り付けます。ここ。
この記事の執筆時点では、Open-AI は新しい開発者アカウントに 3 か月間使用できるクレジットを発行しますが、その後は失われます。この期間が経過すると、クレジットを購入する必要があります。通常の使用量は、月額 5.00 ドルを超えてはなりません。参考までに、このアドオンのオリジナル バージョンは 1 ドル弱で開発されました。 OpenAI アカウントにログインし、「使用量」をクリックすることで、いつでもクォータを取得できます。
まず、Google Cloud コンソールに移動して、Google ワークスペース プロジェクトを作成する必要があります。 Google アカウントにログインしていることを確認してください。
「Gemini」や「NVDA アドオン」など、4 ~ 30 文字の名前を作成します。
Google AI Studio API キーのページに移動します
「APIキーの作成」をクリックします
NVDA 設定ダイアログで、AI Content Describer カテゴリまで下にスクロールし、「モデルの管理 (alt+m)」を選択し、プロバイダーとして「Google Gemini」を選択し、タブで API キーフィールドに移動し、生成したばかりのキーを貼り付けます。ここ。
Anthropic コンソールにログインします。
プロフィールをクリックし、[API キー] をクリックします。
「キーの作成」をクリックします。
「AIContentDescriber」などのキーの名前を入力し、「キーの作成」をクリックして、表示される値をコピーします。これは、NVDA 設定ダイアログ -> モデルの管理 -> Claude 3 の Ai Content Describer カテゴリにある API キーフィールドに貼り付けます。
まだ購入していない場合は、人類計画ページで少なくとも 5 ドルのクレジットを購入してください。
このプロバイダーは現在多少バグがあり、走行距離が非常に長くなる可能性があります。実際には、ローカルのセルフホスト モデルとそのためのハードウェアの実行に興味がある上級ユーザーのみが試行する必要があります。
ラマ.cppをダウンロードします。この記事の執筆時点では、このプル リクエストではマルチモーダル機能が削除されているため、これをサポートする最後のバージョンを使用することをお勧めします。 CUDA サポートを備えた Nvidia グラフィック アダプターで実行している場合は、事前に構築されたバイナリ llama-b2356-bin-win-cublas-cu12.2.0-x64.zip および cudart-llama-bin-win-cu12.2.0-x64 をダウンロードします。 zip 別のグラフィック アダプターを使用する手順は範囲外ですが、llama.cpp Readme に記載されています。
これらのファイルを両方とも同じフォルダーに抽出します。
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 カテゴリまで下にスクロールし、「モデルの管理 (alt+m)」を選択し、プロバイダーとして「llama.cpp」を選択し、タブでベース URL フィールドに移動し、図に示すエンドポイントを入力します。コンソール (デフォルトは「http://localhost:8080」)。
あるいは、これらの手順の一部を省略し、ローカル マシンよりも高いスペックを持つリモート サーバーで llama.cpp を実行し、代わりにそのエンドポイントを入力することもできます。
デフォルトでは 4 つのホットキーがバインドされています。
NVDA+shift+i: 現在のフォーカス、ナビゲーターオブジェクト、物理カメラ、または画面全体を AI で説明するかどうかを尋ねるメニューがポップアップ表示されます。
NVDA+shift+u: AIを使用して現在のナビゲーターオブジェクトの内容を記述します。
NVDA+shift+y: AIを使用してクリップボード上の画像(または画像へのファイルパス)を記述します。
NVDA+shift+j: 選択したカメラのフレーム内での顔の位置を記述します。複数のカメラが接続されている場合は、AI コンテンツ記述メニュー (NVDA+shift+i) に移動し、顔検出サブメニューの「カメラの選択」項目で使用したいカメラを選択します。
3 つのジェスチャはバインドされていません。
現在注目している項目の内容をAIを用いて記述します。
スクリーンショットを撮り、AIを使ってそれを記述します。
選択したカメラを使用して写真を撮り、AI を使用してそれを記述します。
これらは、入力ジェスチャ ダイアログからいつでも遠慮せずにカスタマイズできます。
ソースからアドオン パッケージを作成するには、次のものが必要です。
Python ディストリビューション (3.7 以降を推奨)。 Windows インストーラーについては、Python Web サイトを確認してください。現時点では、NVDA ソース コードと付属のサードパーティ モジュールを準備するには、Python 3.7 の 32 ビット バージョンが必要であることに注意してください。
Scons - Web サイト - バージョン 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 マシンの場合:
ポエディットをダウンロードします。これは、英語からの各メッセージを翻訳するために使用するソフトウェアです。
すべての文字列を含む .pot ファイルをここからダウンロードします
poedit プログラムでダウンロードしたファイルを開きます。表示されたウィンドウで「新しい翻訳を作成」をクリックし、翻訳言語を選択します。
ソーステキストの内容を確認してターゲット言語に変換し、それを翻訳フィールドに貼り付けます。さらにヘルプが必要な場合は、リスト項目を右クリックして、[コードの出現] をクリックし、1 行上の「# Translators: 」で始まるコメントを読んでください。これらのコメントは、.pot ファイル内の 1 か所でさらに利用できるようになります。
完了したら、「ファイル」->「保存」をクリックするか、Ctrl+S を押して、新しい .mo および .po ファイルを保存する場所を選択します。これらのファイルは、電子メールで送信するか、プル リクエストに添付する必要があります。
readme.md (このファイル) の内容を翻訳します。それも付けてね!
すべて高く評価され、クレジットされます。次の人々がアドオンに取り組んでいます。
Mazen: マークダウン実装、その他のコードの貢献
コステンコフ-2021: ロシア語翻訳
Nidza07: セルビア語翻訳
Heorhii Halas: ウクライナ語翻訳
ウムット・コルクマズ: トルコ語翻訳
Platinum_Hikari:フランス語翻訳
ルーカス:チェコ語翻訳
ミカエラ:スロバキア語翻訳
問題が発生しましたか?問題トラッカーに送信してください
新しい機能についての提案はありますか?そのためのチケットも作成し、実装について話し合います。関連する問題のないプル リクエストはレビューされますが、特に新しい修正や機能が提案されたものとは異なる動作をする必要があると判断した場合は、全員にとってより多くの時間がかかる可能性があります。
翻訳は両手を広げて歓迎されます。この強力なテクノロジーにアクセスできる人が増えれば増えるほど、より良いことになります。
Github をお持ちでない場合、または Github を使用したくない場合は、cartertemm (at) gmail (dot) com までメールを送ってください。
サポートありがとうございます!