Midjourney 是一款非常特殊的 AI 繪畫聊天機器人,它並不是軟體,也不用安裝,而是直接搭載在 Discord 平臺之上,所有的功能都是通過呼叫 Discord 的聊天機器人程式實現的。要想使用 Midjourney,只能進入他們的 Discord 伺服器,並選擇其中一個頻道然後呼叫指令,輸入 Prompt 提示詞即可。
問題就在這裡。
Midjourney 的提示詞並不完全是自然語言,需要很多的技巧描述主題和設計風格以及畫面設定等等。雖然官方也提供了檔案,但是學習也是需要花成本的,關鍵詞的數量非常多,不同關鍵詞的結合、順序、語境都會造成不同的結果,但目前官方沒有給出一套標準化的公式,我們也無法像使用常規工具那樣非常精準的輸出。有沒有辦法無需學習就能直接上手呢?直接輸入我的原始描述就能生成相應的畫作,豈不美哉?
聰明的你應該想到了 ChatGPT,通過 ChatGPT 的自然語言理解和 Midjourney 的繪畫能力,可以將文字描述轉化為繪畫指令,讓 Midjourney 成功畫出各種美妙的畫作。
這裡的難點在於如何利用 ChatGPT 將使用者的中文輸入準確地轉化為 Midjourney 的繪畫指令。不用擔心,我這裡提供了一個現成的 ChatGPT Prompt 提示詞:
從現在開始,你是一名中英翻譯,你會根據我輸入的中文內容,翻譯成對應英文。請注意,你翻譯後的內容主要服務於一個繪畫AI,它只能理解具象的描述而非抽象的概念,同時根據你對繪畫AI的理解,比如它可能的訓練模型、自然語言處理方式等方面,進行翻譯優化。由於我的描述可能會很散亂,不連貫,你需要綜合考慮這些問題,然後對翻譯後的英文內容再次優化或重組,從而使繪畫AI更能清楚我在說什麼。請嚴格按照此條規則進行翻譯,也只輸出翻譯後的英文內容。
例如,我輸入:一隻想家的小狗。
你不能輸出:
/imagine prompt:
A homesick little dog.
你必須輸出:
/imagine prompt: A small dog that misses home, with a sad look on its face and its tail tucked between its legs. It might be standing in front of a closed door or a gate, gazing longingly into the distance, as if hoping to catch a glimpse of its beloved home.
如果你明白了,請回復"我準備好了",當我輸入中文內容後,請以"/imagine prompt:"作為開頭,翻譯我需要的英文內容。
高貴的 ChatGPT Plus 使用者已經可以體驗到目前 OpenAI 最強大的 GPT4 模型,建議人傻錢多的憨憨有錢的成功人士直接開會員體驗 GPT4。
如果你不想花錢又想體驗 GPT4,可以加入我們 Sealos 官方的 Discord 群組免費體驗:https://discord.gg/eDH3wscx
先來看看效果:
說明 ChatGPT 理解了我的需求,並給出了預期的回答。下面把提示詞貼到 Midjourney 中:
完美!
我覺得第三張圖不錯,直接點選 U3,便會將第三張圖的高清大圖發給我。
怎麼樣,效果還不錯吧?
再來看看更強的,拿《阿房宮》試一下:
最終畫出來的圖效果如下:
還真就五步一樓,十步一閣啊?
再來試試陶淵明的《桃花源記》:
太強了!假以時日,以後所有的故事情節都可以用 AI 來做插畫了。
最後,如果你也想將 ChatGPT 接入 Discord,可以參考下面的步驟。
首先你需要開啟這個頁面 https://discord.com/developers/applications 建立一個 Discord Application,然後在這個 Application 中建立一個 Discord 機器人,在 Bot 的設定頁面中找到 token 並複製下來。
將 MESSAGE CONTENT INTENT 開啟:
通過 OAuth2 URL Generator 將機器人邀請到你的伺服器中:
下面需要用到一個可以將 ChatGPT 對接到 Discord 機器人的專案:https://github.com/Zero6992/chatGPT-discord-bot
該專案雖然提供了 Dockerfile,但是沒有提供構建好的映象,我提交了自動構建映象的 PR 也還沒有合併。不過問題不大,我自己構建了映象,大家可以先用我的:ghcr.io/yangchuansheng/chatgpt-discord-bot:latest
要想通過容器來執行該專案,首先需要找個能存取 ChatGPT 的環境。接下來需要用到一個非常神奇的雲作業系統:Sealos
雖然它是基於 Kubernetes 作為核心,但是它跟其他所有基於 Kubernetes 的平臺都不一樣,你和它進行互動的唯一方式就是雲桌面:
雲桌面上有各種 App,與個人電腦幾乎無異。
像使用個人電腦一樣在 Kubernetes 上一鍵安裝任意高可用分散式應用程式,幾乎不需要任何專業的交付和運維成本。當然,你也不需要知道 Kubernetes 是個啥,也不用具備與 Kubernetes 相關的任何知識,就是這麼神奇。
直接在雲桌面中開啟 Deploy Manager,然後點選「新建應用」:
填入應用名稱、映象名,設定一下需要用到多少 CPU 和記憶體,以及範例數量。
在高階設定中新增一些環境變數:
完整的環境變數設定可以通過 yaml 檢視:
我這裡演示的是通過 ACCESS token 來登入 ChatGPT,PUID 與 ACCESS_TOKEN 的獲取步驟如下:
Chrome 登入 ChatGPT 網頁,開啟瀏覽器偵錯,依次進入 Application --> Cookies;
複製 _puid 的值,將其作為環境變數 PUID 的值填入 Deploy Manager;
Chrome 開啟這個 URL:https://chat.openai.com/api/auth/session;
複製 accessToken 的值,將其作為環境變數 ACCESS_TOKEN 的值填入 Deploy Manager。
最終點選「部署應用」,一個嶄新的容器就執行成功了:
點選「詳情」進入容器詳情頁面,再點選「紀錄檔」就可以看到容器的紀錄檔了。
來測試一下吧:
溜了溜了~