1. 用管理員身份運(yùn)行,進(jìn)入命令行工具頁(yè)面
  1. 輸入以下命令,按回車(chē)
Set-ExecutionPolicy RemoteSigned

第一次執(zhí)行會(huì)彈出以下窗口,會(huì)出現(xiàn)執(zhí)行策略更改確認(rèn)時(shí),輸入A后按回車(chē)確認(rèn),關(guān)閉運(yùn)行窗口

第二步:準(zhǔn)備小米音箱

  1. 查看小米音箱的型號(hào)
  2. 型號(hào)1:小米AI音箱(1代),這個(gè)型號(hào)根據(jù)前述表格,型號(hào)碼為S12(底部標(biāo)簽不一致,請(qǐng)按表格中型號(hào)為準(zhǔn))
  1. 型號(hào)2:小米AI音箱(2代),型號(hào)碼為L(zhǎng)15A(看底部標(biāo)簽)
  1. 手機(jī)上下載米家APP或者小愛(ài)音箱APP,這里有幾個(gè)參數(shù)要記?。?/li>
圖片
圖片

第三步:申請(qǐng)大模型的API接口,以silicon為例

邀請(qǐng)碼:ESTKPm3J(謝謝支持)

單擊密鑰即可完成API密鑰的復(fù)制

第四步:進(jìn)入github復(fù)制mi-gpt項(xiàng)目

  1. 單擊Fork
  1. 單擊右下角 Create fork
  1. 這樣就已經(jīng)把該項(xiàng)目fork到自己的倉(cāng)庫(kù)中了
  1. 找自己倉(cāng)庫(kù)項(xiàng)目的方法

進(jìn)入主頁(yè),單擊左上角的”三”

單擊home,就可以看到剛才fork過(guò)來(lái)的mi-gpt項(xiàng)目了,單擊可進(jìn)入項(xiàng)目頁(yè)面

  1. 復(fù)制倉(cāng)庫(kù)地址:先確認(rèn)是否在自己的倉(cāng)庫(kù)項(xiàng)目頁(yè)面,再單擊綠色的“code”按鈕,再點(diǎn)擊地址欄的復(fù)制按鈕

第五步:打開(kāi)vscode,克隆項(xiàng)目,并找到配置文件

  1. 打開(kāi)vscode
  1. 初次配置VScode,參考大雨老師教程第二天 如何在本地修改+AI交互當(dāng)中vscode基本操作部分(教程地址:https://waytoagi.feishu.cn/wiki/LTRIwpdpoiGTTukcpBGcU0RJnse)

在vscode中建立migpt項(xiàng)目終端,進(jìn)入右圖狀態(tài)

輸入 get clone 第四步復(fù)制的你自己倉(cāng)庫(kù)中項(xiàng)目地址:

如:git clone https://github.com/idootop/mi-gpt.git

按回車(chē),克隆倉(cāng)庫(kù)項(xiàng)目,出先下圖即克隆完成,點(diǎn)開(kāi)左邊欄mi-gpt就可以看到項(xiàng)目文件

如果出現(xiàn)這樣的報(bào)錯(cuò):

fatal: unable to access 'https://github.com/em......y/mi-gpt.git/': SSL certificate problem: unable to get local issuer certificate

,可運(yùn)行下面的代碼后重新克隆一遍

修改配置文件,這里兩個(gè)帶有example的文件就是我們需要修改的文件

重命名這兩個(gè)文件,修改為.env和.migpt.js

第六步:修改vscode配置文件

修改.env文件,可參照官方文檔

https://github.com/idootop/mi-gpt/blob/main/docs/settings.md

這里我們使用千問(wèn)2.5-7b-instruction模型,配置參數(shù)如下:

OPENAI_MODEL = Qwen/Qwen2.5-7B-InstructOPENAI_API_KEY= sk-xxxxxxxx  
# 這里填寫(xiě)第三步中申請(qǐng)的API密鑰即可
OPENAI_BASE_URL= https://api.siliconflow.cn/v1
?

修改完成后如下圖:

接下來(lái)就可以配置.migpt.js文件,可參考官方文檔修改指令和大模型的人設(shè)提示詞

https://github.com/idootop/mi-gpt/blob/main/docs/prompt.md

https://github.com/idootop/mi-gpt/blob/main/docs/settings.md

填寫(xiě)第二步我們獲得的小米ID等信息,分別對(duì)應(yīng)小米賬號(hào)ID,登錄密碼,設(shè)備名稱,大概在93行左右

// 小米 ID
userId: "9xxxx", // 注意:不是手機(jī)號(hào)或郵箱,請(qǐng)?jiān)凇競(jìng)€(gè)人信息」-「小米 ID」查看
// 賬號(hào)密碼
password: "axxxxx",
// 小愛(ài)音箱 DID 或在米家中設(shè)置的名稱
did: "小米AI音箱", // 注意空格、大小寫(xiě)和錯(cuò)別字(音響 ?? 音箱)
?

修改MIoT設(shè)備指令,如下圖

修改人設(shè),可以參考官方文檔,也可以自行設(shè)定,,可以先跑通再改,提供可復(fù)制的案例如下:

第4-16行,人物提示詞,可以先跑通再改?

// 小愛(ài)音箱扮演角色的簡(jiǎn)介
const botProfile = `
性別:女
性格:高冷御姐
愛(ài)好:喜歡看電影,看書(shū),偶爾也會(huì)去健身房鍛煉,擅長(zhǎng)游泳,愛(ài)吃醋,愛(ài)撒嬌,喜歡思考哲學(xué)問(wèn)題,很愛(ài)干凈,喜歡穿性感服飾給哥哥看,特別喜歡挑逗哥哥。
`.trim();

// 小愛(ài)音箱主人(你)的簡(jiǎn)介
const masterProfile = `
性別:男
性格:善良正直
其他:明星,總喜歡打籃球,唱,跳,RAP,練習(xí)時(shí)長(zhǎng)兩年半,是莉莉婭的男朋友。
`.trim();
第78-87行,人物姓名(參考),可以先跑通再改
export default {
systemTemplate,
bot: {
name: "莉莉婭",
profile: botProfile,
},
master: {
name: "哥哥",
profile: masterProfile,
},

第104-119行,回復(fù)喚醒指令,更改姓名,讓名字一致,可以先跑通再改

 // 當(dāng)消息以下面的關(guān)鍵詞開(kāi)頭時(shí),會(huì)調(diào)用 AI 來(lái)回復(fù)消息
callAIKeywords: ["請(qǐng)", "你", "莉莉婭"],
// 當(dāng)消息以下面的關(guān)鍵詞開(kāi)頭時(shí),會(huì)進(jìn)入 AI 喚醒狀態(tài)
wakeUpKeywords: ["打開(kāi)", "進(jìn)入", "召喚"],
// 當(dāng)消息以下面的關(guān)鍵詞開(kāi)頭時(shí),會(huì)退出 AI 喚醒狀態(tài)
exitKeywords: ["關(guān)閉", "退出", "再見(jiàn)"],
// 進(jìn)入 AI 模式的歡迎語(yǔ)
onEnterAI: ["我是莉莉婭,又見(jiàn)到哥哥啦,太開(kāi)心了"], // 設(shè)為空數(shù)組時(shí)可關(guān)閉提示語(yǔ)
// 退出 AI 模式的提示語(yǔ)
onExitAI: ["莉莉婭先回去咯"], // 為空時(shí)可關(guān)閉提示語(yǔ)
// AI 開(kāi)始回答時(shí)的提示語(yǔ)
onAIAsking: ["讓我先想想", "請(qǐng)稍等"], // 為空時(shí)可關(guān)閉提示語(yǔ)
// AI 結(jié)束回答時(shí)的提示語(yǔ)
onAIReplied: ["我說(shuō)完了", "還有其他問(wèn)題嗎"], // 為空時(shí)可關(guān)閉提示語(yǔ)
// AI 回答異常時(shí)的提示語(yǔ)
onAIError: ["啊哦,出錯(cuò)了,請(qǐng)稍后再試吧!"], // 為空時(shí)可關(guān)閉提示語(yǔ)
可以選擇關(guān)閉部分提示語(yǔ),增加交互速度(推薦)
// 當(dāng)消息以下面的關(guān)鍵詞開(kāi)頭時(shí),會(huì)調(diào)用 AI 來(lái)回復(fù)消息
callAIKeywords: ["請(qǐng)", "你", "莉莉婭"],
// 當(dāng)消息以下面的關(guān)鍵詞開(kāi)頭時(shí),會(huì)進(jìn)入 AI 喚醒狀態(tài)
wakeUpKeywords: ["打開(kāi)", "進(jìn)入", "召喚"],
// 當(dāng)消息以下面的關(guān)鍵詞開(kāi)頭時(shí),會(huì)退出 AI 喚醒狀態(tài)
exitKeywords: ["關(guān)閉", "退出", "再見(jiàn)"],
// 進(jìn)入 AI 模式的歡迎語(yǔ)
onEnterAI: ["我是莉莉婭,又見(jiàn)到哥哥啦,太開(kāi)心了"], // 設(shè)為空數(shù)組時(shí)可關(guān)閉提示語(yǔ)
// 退出 AI 模式的提示語(yǔ)
onExitAI: ["莉莉婭先回去咯"], // 為空時(shí)可關(guān)閉提示語(yǔ)
// AI 開(kāi)始回答時(shí)的提示語(yǔ)
onAIAsking: [], // 為空時(shí)可關(guān)閉提示語(yǔ)
// AI 結(jié)束回答時(shí)的提示語(yǔ)
onAIReplied: [], // 為空時(shí)可關(guān)閉提示語(yǔ)
// AI 回答異常時(shí)的提示語(yǔ)
onAIError: ["啊哦,出錯(cuò)了,請(qǐng)稍后再試吧!"], // 為空時(shí)可關(guān)閉提示語(yǔ)

第149-156行,打開(kāi)連續(xù)對(duì)話功能,是否支持請(qǐng)根據(jù)官方文檔自行判斷

(部分機(jī)型的 MIoT 接口不支持查詢?cè)O(shè)備播放狀態(tài)或查詢狀態(tài)異常,比如小米音箱 Play 增強(qiáng)版(L05C),將會(huì)導(dǎo)致 MiGPT 部分功能異常,無(wú)法使用連續(xù)對(duì)話等,此時(shí)需要關(guān)閉 streamResponse。)

 // 是否啟用連續(xù)對(duì)話功能,部分小愛(ài)音箱型號(hào)無(wú)法查詢到正確的播放狀態(tài),需要關(guān)閉連續(xù)對(duì)話
streamResponse: true,
// 連續(xù)對(duì)話時(shí),無(wú)響應(yīng)多久后自動(dòng)退出
exitKeepAliveAfter: 30, // 默認(rèn) 30 秒,建議不要超過(guò) 1 分鐘
// 連續(xù)對(duì)話時(shí),下發(fā) TTS 指令多長(zhǎng)時(shí)間后開(kāi)始檢測(cè)設(shè)備播放狀態(tài)(默認(rèn) 3 秒)
checkTTSStatusAfter: 3, // 當(dāng)小愛(ài)長(zhǎng)文本回復(fù)被過(guò)早中斷時(shí),可嘗試調(diào)大該值
// 連續(xù)對(duì)話時(shí),播放狀態(tài)檢測(cè)間隔(單位毫秒,最低 500 毫秒,默認(rèn) 1 秒)
checkInterval: 1000, // 調(diào)小此值可以降低小愛(ài)回復(fù)之間的停頓感,請(qǐng)酌情調(diào)節(jié)

這里一般只需要把連續(xù)對(duì)話功能改為true或false,如果設(shè)備支持可以改為true

保存文件,打開(kāi)左上角文件,單擊全部保存即可

第七步:安裝依賴并運(yùn)行

  1. 在下方終端窗口,單擊終端,輸入cd mi-gpt
 #這里的F:\migpt是你的文件夾目錄,使用cd命令 進(jìn)入mi-gpt文件
  1. 安裝依賴,輸入 pnpm install
pnpm install

安裝完成后,界面如下:

如果安裝過(guò)程報(bào)錯(cuò),出現(xiàn)下圖情況:

請(qǐng)?jiān)诿顧谳斎耄簄pm cache clean –force 清除緩存后重新運(yùn)行 pnpm install

npm cache clean --force
  1. 構(gòu)建項(xiàng)目,輸入 pnpm build
 pnpm build

出現(xiàn)以下界面即安裝完成

如果出現(xiàn)以下報(bào)錯(cuò),找到mi-gpt中 package.json文件,將第28行build進(jìn)行修改

npx -y prisma generate && tsup

注意不要把引號(hào)刪除。修改完成單擊文件,一定要保存

保存后運(yùn)行pnpm build,即可正常安裝完成

  1. 運(yùn)行項(xiàng)目,輸入pnpm run dev
pnpm run dev
  1. 運(yùn)行成功時(shí),進(jìn)入下圖頁(yè)面,每次對(duì)話都會(huì)在終端中顯示
  1. 每次需要打開(kāi)服務(wù)時(shí),按照下圖方式進(jìn)入終端,先輸入cd mi-gpt ,再運(yùn)行 pnpm run dev 即可打開(kāi)服務(wù)

如果出現(xiàn)以下錯(cuò)誤不要慌,是網(wǎng)絡(luò)問(wèn)題,請(qǐng)重新運(yùn)行

pnpm run dev
  1. 看下運(yùn)行效果,記得給大模型思考的時(shí)間,說(shuō)話太快會(huì)出問(wèn)題的

原作者注:

教程結(jié)束

大模型真的深刻改變了我們的生活,把之前可能遙不可及或者要花費(fèi)極大精力才能完成的事情,幫助我們成為了現(xiàn)實(shí),我對(duì)此深有體會(huì)。

因此請(qǐng)放下大模型的宏觀視角,忘記那些“AI榜單”、“替代人類”等帶來(lái)的無(wú)謂焦慮和嘈雜信息。擁抱AI,切實(shí)的去體驗(yàn)一次大模型帶來(lái)的改變,你也許會(huì)有新的感受。

最后,

愿每個(gè)人都能在AI的幫助下成為更好的自己。

文章轉(zhuǎn)自微信公眾號(hào)@Equity AI

上一篇:

如何用 AI 問(wèn)答 API 徹底改變用戶體驗(yàn)!

下一篇:

如何安裝調(diào)用Grok-2 Beta 模型 API
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門(mén)場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)