直接用中文寫提示詞的Stable Diffusion擴展:sd-prompt-translator發佈

最近在研究AIGC,先是玩了一下Midjourney,後來Midjourney免費額度用完了,也不再開放免費額度給新用戶使用了,於是轉而研究Stable Diffusion。
Stable Diffusion(以下簡稱SD)的最大優點就是開源免費,而且對硬件的要求不高,Mac M1芯片就能跑,當然如果是高端N卡當然是更好了。關於Stable Diffusion的介紹和使用方法,我另外用視頻介紹,今天主要介紹SD的擴展(插件)。
官方的SD已經內部集成了多個擴展,比如Lora就是原生集成的,所有官方內部集成的擴展放在了stable-diffusion-webui/extensions-builtin文件夾,而用戶自定義安裝的擴展是放在stable-diffusion-webui/extensions文件夾。
在默認情況下,SD只支持使用英文+有限的Emoji顏文字來作爲提示詞(Prompt),對於我們國人尤其是英語不好的國人非常不友好。爲此,有些擴展能夠支持在界面上讓用戶輸入英文,然後翻譯成英文,用戶再手動把翻譯後的Prompt添加到提示詞文本框中,這種使用方式任然不夠方便,我們追求的是真正用中文直接寫提示詞,而不是要在界面上覆雜的操作。另外很多擴展其實是WebUI前端增加的特性,對API無效,如果我們要基於WebAPI開發第三方AIGC應用,那麼就無法使用中文提示詞。於是我開發了這款SD的擴展:
本擴展基於ParisNeo/prompt_translator擴展進行的二次開發,增加了一些新特性,對國人和AIGC開發者更友好。

一、主要有以下特點:

1. 直接使用中文編寫提示詞,即使完全不會英文都不受影響。

以下是使用中文寫提示詞的示例:
0

2.完美兼容SD的提示詞語法,支持中英文混輸。

對於SD提示詞語法中的權重括號、Lora尖括號等語法都支持,也支持中文和英文混着輸入。以下是混輸的示例:
0

3.本地自然語言處理模型進行翻譯,使用時無需連接百度翻譯、Google翻譯等服務,可離線使用。

本插件在首次安裝使用時需要聯網下載約2.4G的翻譯模型到本地,這個過程可能會花費幾分鐘到幾十分鐘的時間,具體視網絡情況而定。下載模型保存在stable-diffusion-webui/extensions/sd-prompt-translator/scripts/models。如果重啓了SD,那麼再次使用時會在加載模型時耗費幾秒的時間,然後接下來使用就很順暢了。
因爲接下來實際使用時都是使用本地模型進行翻譯,沒有連接百度翻譯、谷歌翻譯等互聯網服務,所以可以完全離線使用。

4.支持自定義翻譯字詞。

如果有一些特定詞彙翻譯錯誤,或者是某些觸發詞,我們可以使用自定義翻譯字詞功能。在stable-diffusion-webui/extensions/sd-prompt-translator/scripts/translations.csv中保存了大量常用的中文觸發詞對應的英文Prompt,你可以手動修改該文件內容,增加自己的自定義翻譯內容。
0

5.默認翻譯中文,可選擇翻譯其他50多種語言。

除了默認的中文外,你如果熟悉其他語言,也可以設置其他語言爲提示詞的輸入語言,具體設置在WebUI界面的“提示詞翻譯器”的“源語言”中設置。以下是設置成日語後,使用日語提示詞生成圖像的示例:
0

6.API支持,對開發AIGC應用更友好。

如果我們啓用了API,那麼在txt2img這個API調用時,可以直接使用中文字符串作爲promt參數,以下是通過Postman調用API的示例,我們從命令行中也可以看到,我們的提示詞被自動翻譯成了系統能識別的英文Prompt,併產生了想要的圖片。
0

二、如何安裝使用:

1.打開Stable Diffusion,並切換到擴展Extensions標籤頁,並在下方選擇"從網址安裝" Install from URL,然後輸入本擴展的地址:

然後點擊“安裝”Install按鈕。
0

2.安裝成功後切換到“已安裝”Installed,確保“sd-prompt-translator”被啓用,並點擊“應用並重啓應用界面”Apply and restart UI按鈕。

0
重啓WebUI後我們切換到文生圖界面,可以看到我們的擴展出現在左下方:
0

3.本插件在安裝並啓用成功後就可以直接使用中文輸入提示詞框進行AIGC創作了。默認是沒有開啓負面提示詞的翻譯的,所以如果想在負面提示詞中也使用中文,需要打開WebUI界面中的“提示詞翻譯器”框中的“翻譯負面提示詞”選項。

0

4.在提示詞輸入框中輸入中文,點擊生成按鈕,系統如果是第一次使用,會自動從網上下載翻譯用的語言模型,該模型較大,可能會耗費很長時間,Stable Diffusion的命令行下可以看到下載進度。模型下載只是第一次運行才需要,後續再使用就都是本地模型進行翻譯。至此,我們就可以愉快的使用中文編寫提示詞了!

如果想知道系統執行的時候翻譯出來的英文提示詞是什麼,在命令行模式下,或者在出圖的右下角會顯示英文提示詞的內容。
 
0
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章