此附加元件可取得圖像、使用者介面控制項和其他視覺上無法存取的內容的詳細描述。
利用先進人工智慧模型和電腦視覺演算法的多模式功能,我們的目標是提供一流的內容描述並提高整體獨立性。有關底層模型的更多信息,請參閱本文檔的相應部分。
描述焦點物件、導航器物件、整個螢幕或從板載相機拍攝照片
描述已複製到剪貼簿的任何圖像,無論是電子郵件中的圖片還是 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願景
谷歌雙子座專業願景
克勞德 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 內容描述器類別,然後選擇“管理模型(alt+m)”,選擇“GPT4 Vision”作為提供程序,選項卡進入API 金鑰字段,然後貼上您剛剛產生的密鑰這裡。
在撰寫本文時,Open-AI 會向新的開發者帳戶發放積分,這些積分可以使用三個月,之後就會遺失。在此期間之後,您將必須購買積分。典型使用量每月不應超過 5.00 美元。作為參考,該附加元件的原始版本的開發成本略低於一美元。您始終可以登入您的 OpenAI 帳戶並點擊「使用」來取得您的配額。
您首先需要透過前往 Google 雲端控制台來建立 Google Workspace 專案。確保您已登入您的Google帳戶。
建立一個介於 4 到 30 個字元之間的名稱,例如“Gemini”或“NVDA 附加元件”
導覽至 Google AI studio API 金鑰頁面
點擊“建立 API 金鑰”
在NVDA 設定對話方塊中,向下捲動至AI 內容描述器類別,然後選擇“管理模型(alt+m)”,選擇“Google Gemini”作為您的提供程序,使用Tab 鍵進入API 金鑰字段,然後貼上您剛剛產生的密鑰這裡。
登入 Anthropic 控制台。
點擊您的個人資料 -> API 金鑰。
點選建立金鑰。
輸入金鑰的名稱,例如“AIContentDescriber”,然後按一下“建立金鑰”並複製顯示的值。這是您將貼上到 NVDA 設定對話框 -> 管理模型 -> Claude 3 的 Ai 內容描述器類別下的 API 金鑰欄位中的內容。
如果您還沒有購買,請在人類計劃頁面下購買至少 5 美元的積分。
該提供者目前存在一些問題,您的里程可能會很長。實際上,只有對運行本地自託管模型以及執行此操作的硬體感興趣的高級用戶才應該嘗試它。
下載 llama.cpp。在撰寫本文時,此拉取請求刪除了多模式功能,因此您將需要使用支援此功能的最新版本。如果您在支援CUDA 的Nvidia 圖形適配器上運行,請下載這些預先建置的二進位檔案:llama-b2356-bin-win-cublas-cu12.2.0-x64.zip 和cudart-llama-bin-win-cu12.2.0 -x64。
將這兩個檔案提取到同一資料夾中。
從 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”作為您的提供程序,使用Tab 鍵進入基本URL 字段,然後輸入如圖所示的端點控制台(預設為「http://localhost:8080」)。
或者,您可以省略其中一些步驟,並在規格高於本機的遠端伺服器上執行 llama.cpp,然後輸入該端點。
預設綁定四個熱鍵:
NVDA+shift+i:彈出一個選單,詢問是否使用 AI 描述當前焦點、導航器物件、實體相機或整個螢幕。
NVDA+shift+u:使用AI描述目前導航器物件的內容。
NVDA+shift+y:使用 AI 描述剪貼簿上的影像(或影像的檔案路徑)。
NVDA+shift+j:描述您的臉部在所選攝影機畫面中的位置。如果您連接了多個鏡頭,請導覽至 AI 內容描述器選單 (NVDA+shift+i),然後透過人臉偵測子選單中的「選擇攝影機」項目選擇您想要使用的攝影機。
三種手勢未綁定:
使用 AI 描述目前關注項目的內容。
截取螢幕截圖,然後使用 AI 進行描述。
使用所選相機拍攝照片,然後使用 AI 對其進行描述。
請隨時從輸入手勢對話框中自訂這些。
要從原始程式碼建立附加包,您將需要:
Python 發行版(建議 3.7 或更高版本)。檢查 Windows 安裝程式的 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 機器上:
下載詩歌。這是您將用來翻譯每個英語訊息的軟體。
在此下載包含所有字串的 .pot 文件
在 poedit 程式中開啟剛剛下載的檔案。在出現的視窗中按一下“建立新翻譯”,然後選擇目標語言。
仔細檢查原始文字內容並將其轉換為目標語言,然後將其貼到翻譯欄位中。如需額外協助,請隨時右鍵點選清單項目 -> 程式碼出現次數,然後向上一行閱讀以「# Translators:」開頭的註解。這些註釋也可以在 .pot 檔案中的一處找到。
完成後,按一下檔案 -> 儲存或按 ctrl+s,然後選擇要儲存新 .mo 和 .po 檔案的位置。這些是應該透過電子郵件發送給我或附加在拉取請求中的文件。
翻譯readme.md(此文件)的內容。也附上吧!
所有這些都將受到高度讚賞並予以認可。以下人員參與了該插件的開發工作。
Mazen:markdown 實現,其他程式碼貢獻
Kostenkov-2021:俄文翻譯
Nidza07:塞爾維亞文翻譯
Heorhii Halas:烏克蘭文翻譯
Umut Korkmaz:土耳其語翻譯
Platinum_Hikari:法文翻譯
盧卡斯:捷克語翻譯
Michaela:斯洛伐克語翻譯
遇到問題?將其提交給問題追蹤器
對新功能有建議嗎?也為此創建一個票證,我們可以討論實施它。沒有相關問題的拉取請求將被審查,但可能會佔用每個人更多的時間,特別是如果我決定新的修復或功能需要以不同於提議的方式工作。
張開雙臂歡迎翻譯。越多的人能夠使用這項強大的技術就越好!
如果您沒有 Github,或者不想使用它,您可以給我發一封電子郵件 - cartertemm (at) gmail (dot) com。
感謝您的支持!