idootop / mi-gpt

🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。
MIT License
6.26k stars 560 forks source link

Istoreos Docker部署显示找不到设备,初始化失败大佬帮忙看看 #30

Closed Skinsly closed 1 month ago

Skinsly commented 1 month ago

stdout: 
stdout: > mi-gpt@3.0.0 start
stdout: > node ./app.js
stdout: 
stdout: 
stdout: 
stdout: / $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
stdout: | $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
stdout: | $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$   
stdout: | $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$   
stdout: | $$  $$$| $$| $$| $$|_  $$| $$____/    | $$   
stdout: | $$\  $ | $$| $$| $$  \ $$| $$         | $$   
stdout: | $$ \/  | $$| $$|  $$$$$$/| $$         | $$   
stdout: |__/     |__/|__/ \______/ |__/         |__/                         
stdout:                                                                                                                  
stdout:          MiGPT v3.0.0  by: del.wang
stdout: 
stdout: 
stderr: 找不到设备:小米小爱音箱Play 增强版
stderr: 2024/06/06 13:40:39 Speaker ❌ 初始化 Mi Services 失败
stderr: 2024/06/06 13:40:39 database ❌  Error: ❌ Assertion failed
stderr:     at _LoggerManager.assert (/app/dist/index.cjs:239:13)
stderr:     at __Logger.assert (/app/dist/index.cjs:276:19)
stderr:     at AISpeaker.initMiServices (/app/dist/index.cjs:451:17)
stderr:     at async AISpeaker.run (/app/dist/index.cjs:695:5)
stderr:     at async main (file:///app/app.js:6:3)
stderr: npm notice
stderr: npm notice New minor version of npm available! 10.7.0 -> 10.8.1
stderr: npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.1
stderr: npm notice To update run: npm install -g npm@10.8.1
stderr: npm notice
idootop commented 1 month ago

打开米家看看你的小爱音箱叫什么,需要填写完整名称注意空格(比如:小爱音箱Pro),相关问题:https://github.com/idootop/mi-gpt/issues/5#issuecomment-2150619072

image
Skinsly commented 1 month ago

我重新改名叫小爱音箱现在可以连接上了,问问题没有回答是什么情况?

stdout: / $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
stdout: | $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
stdout: | $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$   
stdout: | $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$   
stdout: | $$  $$$| $$| $$| $$|_  $$| $$____/    | $$   
stdout: | $$\  $ | $$| $$| $$  \ $$| $$         | $$   
stdout: | $$ \/  | $$| $$|  $$$$$$/| $$         | $$   
stdout: |__/     |__/|__/ \______/ |__/         |__/                         
stdout:                                                                                                                  
stdout:          MiGPT v3.0.0  by: del.wang
stdout: 
stdout: 
stdout: 2024/06/06 14:06:24 Speaker ✅ 服务已启动...
stdout: 2024/06/06 14:06:42 Speaker 🔥 请告诉我今天的天气预报
stdout: 2024/06/06 14:06:42 Speaker 🔊 让我先想想
stderr: /app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/index.js:53
stderr:             throw new Errors.OpenAIError("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");
stderr:                   ^
stderr: 
stderr: OpenAIError: The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).
stderr:     at new OpenAI (/app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/index.js:53:19)
stderr:     at OpenAIClient._init (/app/dist/index.cjs:1066:104)
stderr:     at OpenAIClient.chatStream (/app/dist/index.cjs:1128:10)
stderr:     at _MyBot.chatWithStreamResponse (/app/dist/index.cjs:2291:12)
stderr:     at _MyBot.ask (/app/dist/index.cjs:2273:33)
stderr:     at async AISpeaker._askAIForAnswerSteps.res.response (/app/dist/index.cjs:990:20)
stderr:     at async AISpeaker.askAIForAnswer (/app/dist/index.cjs:1024:19)
stderr:     at async AISpeaker.onMessage (/app/dist/index.cjs:739:24)
stderr: 
stderr: Node.js v20.14.0
stdout: 
stdout: > mi-gpt@3.0.0 start
stdout: > node ./app.js
stdout: 
stdout: 
stdout: 
stdout: / $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
stdout: | $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
stdout: | $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$   
stdout: | $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$   
stdout: | $$  $$$| $$| $$| $$|_  $$| $$____/    | $$   
stdout: | $$\  $ | $$| $$| $$  \ $$| $$         | $$   
stdout: | $$ \/  | $$| $$|  $$$$$$/| $$         | $$   
stdout: |__/     |__/|__/ \______/ |__/         |__/                         
stdout:                                                                                                                  
stdout:          MiGPT v3.0.0  by: del.wang
stdout: 
stdout: 
stdout: 2024/06/06 14:06:49 Speaker ✅ 服务已启动...

问完问题为什么不回答

idootop commented 1 month ago
image
Skinsly commented 1 month ago

我填写了openai 的api key,没空着

idootop commented 1 month ago

那说明你的配置方式有误,环境变量没有生效。你是跑的docker还是什么?

Skinsly commented 1 month ago

是docker,在软路由上

idootop commented 1 month ago

环境变量没生效,但是 .migpt.json 文件已经生效了,你再检查检查 .env 文件有没有配置成功。

Skinsly commented 1 month ago
# OpenAI(也支持通义千问、MoonShot、DeepSeek 等模型参数)
OPENAI_MODEL=gpt-4o
OPENAI_API_KEY=sk-XmxjgEjJaAB7v5KgRenyT3**********************
OPENAI_BASE_URL=https://api.openai.com/v1

# 提示音效(可选,一般不用填,你也可以换上自己的提示音链接试试看效果)
# AUDIO_SILENT=静音音频链接,示例:https://example.com/slient.wav
# AUDIO_BEEP=默认提示音链接,同上
# AUDIO_ACTIVE=唤醒提示音链接,同上
# AUDIO_ERROR=出错了提示音链接,同上

# Doubao TTS(可选,用于调用第三方 TTS 服务,比如:豆包)
# TTS_DOUBAO=豆包 TTS 接口
# SPEAKERS_DOUBAO=豆包 TTS 音色列表接口

大佬帮我看看,这里除了api需要填写,其他都不用动吧,我就是这么填的

Skinsly commented 1 month ago

谢谢大佬帮忙编辑,我就是这么填的

idootop commented 1 month ago

你编辑的没有问题,你检查一下本地 .env 文件的路径,在启动 docker 的时候填对没有,在启动docker的时候命令行界面截个图看一下

Skinsly commented 1 month ago

docker run -d  --env-file /mnt/System/Configs/mi-gpt/.env \
    -v /mnt/System/Configs/mi-gpt/.migpt.js:/app/.migpt.js \
    idootop/mi-gpt:latest
Skinsly commented 1 month ago

90fc15da-bf0a-4c97-b2d7-ec10ed9e6dc4

Skinsly commented 1 month ago

我的设备是L05C,看介绍说这机器问题挺多,但是应该不耽误连接openai吧

idootop commented 1 month ago

没关系。我看你启动参数也是正确的,很神奇。

idootop commented 1 month ago

删掉之前的 docker 实例,重新启动一个试试看。

Skinsly commented 1 month ago

我就一条日本东京的节点,开着和关闭都连接不上,我重新装一下试试

Skinsly commented 1 month ago
stdout: 
stdout: > mi-gpt@3.0.0 start
stdout: > node ./app.js
stdout: 
stdout: 
stdout: 
stdout: / $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
stdout: | $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
stdout: | $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$   
stdout: | $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$   
stdout: | $$  $$$| $$| $$| $$|_  $$| $$____/    | $$   
stdout: | $$\  $ | $$| $$| $$  \ $$| $$         | $$   
stdout: | $$ \/  | $$| $$|  $$$$$$/| $$         | $$   
stdout: |__/     |__/|__/ \______/ |__/         |__/                         
stdout:                                                                                                                  
stdout:          MiGPT v3.0.0  by: del.wang
stdout: 
stdout: 
stdout: 2024/06/06 15:22:06 Speaker ✅ 服务已启动...
stdout: 2024/06/06 15:22:13 Speaker 🔥 召唤
stdout: 2024/06/06 15:22:14 Speaker 🔊 你好,我是傻妞,很高兴认识你
stdout: 2024/06/06 15:22:26 Speaker 🔥 你好傻
stdout: 2024/06/06 15:22:26 Speaker 🔊 请稍等
stderr: /app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/index.js:53
stderr:             throw new Errors.OpenAIError("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");
stderr:                   ^
stderr: 
stderr: OpenAIError: The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).
stderr:     at new OpenAI (/app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/index.js:53:19)
stderr:     at OpenAIClient._init (/app/dist/index.cjs:1066:104)
stderr:     at OpenAIClient.chatStream (/app/dist/index.cjs:1128:10)
stderr:     at _MyBot.chatWithStreamResponse (/app/dist/index.cjs:2291:12)
stderr:     at _MyBot.ask (/app/dist/index.cjs:2273:33)
stderr:     at async AISpeaker._askAIForAnswerSteps.res.response (/app/dist/index.cjs:990:20)
stderr:     at async AISpeaker.askAIForAnswer (/app/dist/index.cjs:1024:19)
stderr:     at async AISpeaker.onMessage (/app/dist/index.cjs:739:24)
stderr: 
stderr: Node.js v20.14.0
stderr: npm notice
stderr: npm notice New minor version of npm available! 10.7.0 -> 10.8.1
stderr: npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.1
stderr: npm notice To update run: npm install -g npm@10.8.1
stderr: npm notice
stdout: 
stdout: > mi-gpt@3.0.0 start
stdout: > node ./app.js
stdout: 
stdout: 
stdout: 
stdout: / $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
stdout: | $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
stdout: | $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$   
stdout: | $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$   
stdout: | $$  $$$| $$| $$| $$|_  $$| $$____/    | $$   
stdout: | $$\  $ | $$| $$| $$  \ $$| $$         | $$   
stdout: | $$ \/  | $$| $$|  $$$$$$/| $$         | $$   
stdout: |__/     |__/|__/ \______/ |__/         |__/                         
stdout:                                                                                                                  
stdout:          MiGPT v3.0.0  by: del.wang
stdout: 
stdout: 
stdout: 2024/06/06 15:22:34 Speaker ✅ 服务已启动...

大佬,重装完了还是这样

Skinsly commented 1 month ago

说了召唤之后,小爱同学还开始放歌曲,可能召唤是一首歌吧

idootop commented 1 month ago

说了召唤之后,小爱同学还开始放歌曲,可能召唤是一首歌吧

哈哈,正解

idootop commented 1 month ago

@18309871333 为什么你的日志显示了两次启动日志?理论上你每次启动应该只有一个实例在跑吧。如果条件允许的话,可以录个从启动镜像到报错的完整视频,方便定位问题。

Skinsly commented 1 month ago

https://github.com/idootop/mi-gpt/assets/45187023/dae1767c-e9e3-493f-8308-65780aa64c30

Skinsly commented 1 month ago

@18309871333 为什么你的日志显示了两次启动日志?理论上你每次启动应该只有一个实例在跑吧。如果条件允许的话,可以录个从启动镜像到报错的完整视频,方便定位问题。

大佬有空帮我看看

idootop commented 1 month ago

@18309871333 1. 删掉重建一个 docker 容器,然后在你的 istoreos 控制面板里手动加一下你 .env 文件里的那几个环境变量,即可解决上面的报错。2. 为什么显示了两次启动日志:看样子是你的 docker 重试策略配置成了 docker 崩溃后会自动重启,下一个版本我会修复下因为没有初始化成功 OpenAI 而导致程序崩溃的问题(符合预期)。

image
Skinsly commented 1 month ago
stdout: 
stdout: > mi-gpt@3.0.0 start
stdout: > node ./app.js
stdout: 
stdout: 
stdout: 
stdout: / $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
stdout: | $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
stdout: | $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$   
stdout: | $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$   
stdout: | $$  $$$| $$| $$| $$|_  $$| $$____/    | $$   
stdout: | $$\  $ | $$| $$| $$  \ $$| $$         | $$   
stdout: | $$ \/  | $$| $$|  $$$$$$/| $$         | $$   
stdout: |__/     |__/|__/ \______/ |__/         |__/                         
stdout:                                                                                                                  
stdout:          MiGPT v3.0.0  by: del.wang
stdout: 
stdout: 
stdout: 2024/06/07 03:04:40 Speaker ✅ 服务已启动...
stdout: 2024/06/07 03:04:50 Speaker 🔥 傻妞
stdout: 2024/06/07 03:04:50 Speaker 🔊 请稍等
stderr: 2024/06/07 03:04:55 Open AI ❌ LLM 响应异常 NotFoundError: 404 The model `gpt-4o` does not exist or you do not have access to it.
stderr:     at APIError.generate (/app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/error.js:54:20)
stderr:     at OpenAI.makeStatusError (/app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/core.js:263:33)
stderr:     at OpenAI.makeRequest (/app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/core.js:306:30)
stderr:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
stderr:     at async OpenAIClient.chatStream (/app/dist/index.cjs:1147:20) {
stderr:   status: 404,
stderr:   headers: {
stderr:     'alt-svc': 'h3=":443"; ma=86400',
stderr:     'cf-cache-status': 'DYNAMIC',
stderr:     'cf-ray': '88fd6ae0ee4b3438-NRT',
stderr:     connection: 'keep-alive',
stderr:     'content-encoding': 'gzip',
stderr:     'content-type': 'application/json; charset=utf-8',
stderr:     date: 'Fri, 07 Jun 2024 03:04:55 GMT',
stderr:     server: 'cloudflare',
stderr:     'set-cookie': '__cf_bm=zA.auVUKdmpZB4NLMMlJqh4wD3lMWPsKVk3lgEKYMnQ-1717729495-1.0.1.1-A5FYRWcSJWB18fHg_dpLuxY11Lm4ZYa0BKvQaj.0oBSAb6NGj6iLvRuSbyrG5HNtuCuR48Syuw3G4kIJ_XrfHQ; path=/; expires=Fri, 07-Jun-24 03:34:55 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None, _cfuvid=f.NKEI4Iy8dG3FGRmhOPNY9Ic.E7hIGoqaKOqCN57xc-1717729495436-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None',
stderr:     'strict-transport-security': 'max-age=15724800; includeSubDomains',
stderr:     'transfer-encoding': 'chunked',
stderr:     vary: 'Origin',
stderr:     'x-request-id': 'req_49ed43ed37b3014da963f3fd92916984'
stderr:   },
stderr:   request_id: 'req_49ed43ed37b3014da963f3fd92916984',
stderr:   error: {
stderr:     message: 'The model `gpt-4o` does not exist or you do not have access to it.',
stderr:     type: 'invalid_request_error',
stderr:     param: null,
stderr:     code: 'model_not_found'
stderr:   },
stderr:   code: 'model_not_found',
stderr:   param: null,
stderr:   type: 'invalid_request_error'
stderr: }
stdout: 2024/06/07 03:04:55 Speaker 🔊 啊哦,出错了,请稍后再试吧!

现在是这样,环境变量在这里设置后,.env文件需要删除掉吗?--env-file /mnt/System/Configs/mi-gpt/.env \ 这句指令还有用吗?

Skinsly commented 1 month ago

是因为我没有权限访问gpt-4o吗?这个访问需要开通gpt会员吗?

Skinsly commented 1 month ago
stdout: 
stdout: > mi-gpt@3.0.0 start
stdout: > node ./app.js
stdout: 
stdout: 
stdout: 
stdout: / $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
stdout: | $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
stdout: | $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$   
stdout: | $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$   
stdout: | $$  $$$| $$| $$| $$|_  $$| $$____/    | $$   
stdout: | $$\  $ | $$| $$| $$  \ $$| $$         | $$   
stdout: | $$ \/  | $$| $$|  $$$$$$/| $$         | $$   
stdout: |__/     |__/|__/ \______/ |__/         |__/                         
stdout:                                                                                                                  
stdout:          MiGPT v3.0.0  by: del.wang
stdout: 
stdout: 
stdout: 2024/06/07 03:29:24 Speaker ✅ 服务已启动...
stdout: 2024/06/07 03:29:34 Speaker 🔥 你好
stdout: 2024/06/07 03:29:34 Speaker 🔊 请稍等
stdout: 2024/06/07 03:29:39 Open AI ✅ Answer: 你好呀,潇潇!今天有什么新鲜事想和我分享吗?我可是很期待呢!
stdout: 2024/06/07 03:29:40 Speaker 🔊 你好呀,潇潇!今天有什么新鲜事想和我分享吗?我可是很期待呢!

我现在用这个moonshot可以正常对话,中间那个请稍等她也读出来正常吗?还有就是她的回答大概读10个字后面就不读了,这和我用L05C型号有关系吗?这个moonshot使用了几次被限制次数不让对话了。

idootop commented 1 month ago

是因为我没有权限访问gpt-4o吗?这个访问需要开通gpt会员吗?

不需要订阅会员, gpt-4o 应该 OpenAI 账号都有权限访问的。感觉像是你的模型参数解析的时候多出来了反引号gpt-4o -> `gpt-4o`,可能跟你的面板配置环境变量的方式有关,或者你试试换个其他的 GPT 模型是否正常。

idootop commented 1 month ago

面板里配置了环境变量,启动参数里就不需要指定环境变量文件路径了

idootop commented 1 month ago

请稍等她也读出来正常吗?

这是用来提醒开始请求 AI 回复的提示语,不想要的话可以关掉,或者换成其他你喜欢的。

// .migpt.js
{
    speaker: {
        // AI 开始回答时的提示语
        onAIAsking: ["¿ʞо ∩оʎ ǝɹɐ"], // 关闭提示语
        // ...
    }
}

她的回答大概读10个字后面就不读了,这和我用L05C型号有关系吗?

L05 系列的小爱音箱应该都不支持流式响应和唤醒模式,在配置文件里关闭 streamResponse 即可

// .migpt.js
{
    speaker: {
        // 是否启用流式响应,部分小爱音箱型号不支持查询播放状态,此时需要关闭流式响应
        streamResponse: false, // L05 型号的小爱音箱,需要关闭流式响应
        // ...
    }
}

这个moonshot使用了几次被限制次数不让对话了

免费版的 moonshot 接口并不稳定,建议付费使用。

Skinsly commented 1 month ago

是因为我没有权限访问gpt-4o吗?这个访问需要开通gpt会员吗?

不需要订阅会员, gpt-4o 应该 OpenAI 账号都有权限访问的。感觉像是你的模型参数解析的时候多出来了反引号gpt-4o -> `gpt-4o`,可能跟你的面板配置环境变量的方式有关,或者你试试换个其他的 GPT 模型是否正常。

79557bd3-0ac5-4b35-bf43-6a32a9bf53a7 我是这么填的,还有个问题就是chatgpt的API是用下面这个吗? 未标题-1

idootop commented 1 month ago

是的。你填的环境变量没问题,你在OpenAI playground 里面试试能用 gpt-4o模型吗?如果不能用就换个其他的。

idootop commented 1 month ago

你的 key 没问题,旧的 OpenAI user key: sk-xxxx 和新的 project key:sk-proj-xxx 都支持的。

Skinsly commented 1 month ago

是的。你填的环境变量没问题,你在OpenAI playground 里面试试能用 gpt-4o模型吗?如果不能用就换个其他的。

d7491572-4270-4537-8165-14eb820bd62e 在这里可以正常使用

Skinsly commented 1 month ago

请稍等她也读出来正常吗?

这是用来提醒开始请求 AI 回复的提示语,不想要的话可以关掉,或者换成其他你喜欢的。

// .migpt.js
{
    speaker: {
        // AI 开始回答时的提示语
        onAIAsking: ["¿ʞо ∩оʎ ǝɹɐ"], // 关闭提示语
        // ...
    }
}

她的回答大概读10个字后面就不读了,这和我用L05C型号有关系吗?

L05 系列的小爱音箱应该都不支持流式响应和唤醒模式,在配置文件里关闭 streamResponse 即可

// .migpt.js
{
    speaker: {
        // 是否启用流式响应,部分小爱音箱型号不支持查询播放状态,此时需要关闭流式响应
        streamResponse: false, // L05 型号的小爱音箱,需要关闭流式响应
        // ...
    }
}

这个moonshot使用了几次被限制次数不让对话了

免费版的 moonshot 接口并不稳定,建议付费使用。

这两个问题已经解决了,感谢。 比如:[通义千问]、[零一万物]、[DeepSeek]等,大佬这三个环境变量是什么格式的?我想试试看,其他暂时没啥问题了

idootop commented 1 month ago

faq 里的点击这几个模型的名称就能跳转到对应的API文档地址,按照说明配置下环境变量即可。

Skinsly commented 1 month ago

大佬,问题有长度限制吗?刚刚用小爱同学唤醒,直接题问大概10多个字她就打断我

idootop commented 1 month ago

你的小爱音箱型号不支持流式响应(streamResponse)需要关掉,也不能用唤醒模式(不然就会出现小爱刚回答几个字就戛然而止的情况)。

如果你已经关闭了流式响应但还是会被打断,请打开 debug 模式录一段相关视频,发给我排查下问题出现在哪里。

Skinsly commented 1 month ago

你的小爱音箱型号不支持流式响应(streamResponse)需要关掉,也不能用唤醒模式(不然就会出现小爱刚回答几个字就戛然而止的情况)。

如果你已经关闭了流式响应但还是会被打断,请打开 debug 模式录一段相关视频,发给我排查下问题出现在哪里。

我关闭了流式响应,刚刚换成通义千问这个问题就没了,gpt-4o 还是连接不上,搞不懂什么原因

idootop commented 1 month ago

换成其他的 OpenAI 模型正常吗?另外,你可以试试把 OPEN_AI_MODEL 那个环境变量删掉试试,如果环境变量值不存在,默认会 fallback 到 gpt-4o 模型。

Skinsly commented 1 month ago

去掉OPEN_AI_MODEL后也是默认gpt-4o和刚才一样还是连接不上,试了gpt-3.5也不行。

stdout: 
stdout: > mi-gpt@3.0.0 start
stdout: > node ./app.js
stdout: 
stdout: 
stdout: 
stdout: / $$      /$$ /$$   /$$$$$$  /$$$$$$$ /$$$$$$$$$
stdout: | $$$    /$$$|__/ /$$__  $$| $$__  $$|__  $$__/
stdout: | $$$$  /$$$$ /$$| $$  \__/| $$  \ $$   | $$   
stdout: | $$ $$/$$ $$| $$| $$ /$$$$| $$$$$$$/   | $$   
stdout: | $$  $$$| $$| $$| $$|_  $$| $$____/    | $$   
stdout: | $$\  $ | $$| $$| $$  \ $$| $$         | $$   
stdout: | $$ \/  | $$| $$|  $$$$$$/| $$         | $$   
stdout: |__/     |__/|__/ \______/ |__/         |__/                         
stdout:                                                                                                                  
stdout:          MiGPT v3.0.0  by: del.wang
stdout: 
stdout: 
stdout: 2024/06/07 10:41:23 Speaker ✅ 服务已启动...
stdout: 2024/06/07 10:41:32 Speaker 🔥 你好
stdout: 2024/06/07 10:41:33 Speaker 🔊 ¿ʞо ∩оʎ ǝɹɐ
stderr: 2024/06/07 10:41:34 Open AI ❌ LLM 响应异常 NotFoundError: 404 The model `gpt-3.5` does not exist or you do not have access to it.
stderr:     at APIError.generate (/app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/error.js:54:20)
stderr:     at OpenAI.makeStatusError (/app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/core.js:263:33)
stderr:     at OpenAI.makeRequest (/app/node_modules/.pnpm/openai@4.47.3/node_modules/openai/core.js:306:30)
stderr:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
stderr:     at async OpenAIClient.chatStream (/app/dist/index.cjs:1147:20) {
stderr:   status: 404,
stderr:   headers: {
stderr:     'alt-svc': 'h3=":443"; ma=86400',
stderr:     'cf-cache-status': 'DYNAMIC',
stderr:     'cf-ray': '890007cdac9df609-NRT',
stderr:     connection: 'keep-alive',
stderr:     'content-encoding': 'gzip',
stderr:     'content-type': 'application/json; charset=utf-8',
stderr:     date: 'Fri, 07 Jun 2024 10:41:34 GMT',
stderr:     server: 'cloudflare',
stderr:     'set-cookie': '__cf_bm=KRkIzp470mHzBtGBqDrNpXSW6javGJ4M5bgcDBtNUho-1717756894-1.0.1.1-fkeIt.q00SziQt6U_FDuqjJ.LhjArYwKCyuePffCKmWHBTpJMwFfDazfAIyXee7Xp73C1Ep2v9IRg1lEVcX7.g; path=/; expires=Fri, 07-Jun-24 11:11:34 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None, _cfuvid=ZvrfWsqy57Go1pFKR88MD9TQI3JwT1OygGh73._txVw-1717756894492-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None',
stderr:     'strict-transport-security': 'max-age=15724800; includeSubDomains',
stderr:     'transfer-encoding': 'chunked',
stderr:     vary: 'Origin',
stderr:     'x-request-id': 'req_e9448086bd4ee1a2d41e11c4fd0c01b2'
stderr:   },
stderr:   request_id: 'req_e9448086bd4ee1a2d41e11c4fd0c01b2',
stderr:   error: {
stderr:     message: 'The model `gpt-3.5` does not exist or you do not have access to it.',
stderr:     type: 'invalid_request_error',
stderr:     param: null,
stderr:     code: 'model_not_found'
stderr:   },
stderr:   code: 'model_not_found',
stderr:   param: null,
stderr:   type: 'invalid_request_error'
stderr: }
stdout: 2024/06/07 10:41:34 Speaker 🔊 啊哦,出错了,请稍后再试吧!
idootop commented 1 month ago

@18309871333 在我的微信公众号后台私发一下你的 api key, 我帮你本地测试下。你也可以新建一个,等我测完你再删掉。

Skinsly commented 1 month ago

@18309871333 在我的微信公众号后台私发一下你的 api key, 我帮你本地测试下。你也可以新建一个,等我测完你再删掉。

已发

idootop commented 1 month ago

@18309871333 检查看看你给 key 权限了没。

image
idootop commented 1 month ago

看了下你当前的这个 key 只能用下面的模型,看来并没有支持 gpt4 系列的模型:

{
  "object": "list",
  "data": [
    {
      "id": "gpt-3.5-turbo-16k",
      "object": "model",
      "created": 1683758102,
      "owned_by": "openai-internal"
    },
    {
      "id": "gpt-3.5-turbo-instruct-0914",
      "object": "model",
      "created": 1694122472,
      "owned_by": "system"
    },
    {
      "id": "gpt-3.5-turbo-instruct",
      "object": "model",
      "created": 1692901427,
      "owned_by": "system"
    },
    {
      "id": "gpt-3.5-turbo-1106",
      "object": "model",
      "created": 1698959748,
      "owned_by": "system"
    },
    {
      "id": "gpt-3.5-turbo-0125",
      "object": "model",
      "created": 1706048358,
      "owned_by": "system"
    },
    {
      "id": "gpt-3.5-turbo",
      "object": "model",
      "created": 1677610602,
      "owned_by": "openai"
    },
    {
      "id": "gpt-3.5-turbo-0301",
      "object": "model",
      "created": 1677649963,
      "owned_by": "openai"
    },
    {
      "id": "gpt-3.5-turbo-16k-0613",
      "object": "model",
      "created": 1685474247,
      "owned_by": "openai"
    },
    {
      "id": "gpt-3.5-turbo-0613",
      "object": "model",
      "created": 1686587434,
      "owned_by": "openai"
    }
  ]
}

建议使用 gpt-3.5-turbo 模型

Skinsly commented 1 month ago

@18309871333 检查看看你给 key 权限了没。

image

我之前选择的是all,这样对吗? 为什么你们可以免费选择4o进行使用?

idootop commented 1 month ago

你上面的问题不是权限造成的,而是账号不支持 gpt-4 的模型。我这个账号也是最近才注册的,刚注册就能用 gpt4。

Skinsly commented 1 month ago

我这个账号一年前注册的,是不是应该重新注册一个账号

idootop commented 1 month ago

你可以试试看。好像早期 OpenAI 有个政策是新账号要累计使用 $1 的费用,才能解锁使用 gpt4,不晓得现在的规则是什么。

Skinsly commented 1 month ago

大佬,除了小爱音箱 pro 还有哪个低价完美运行的,闲鱼上买个回来玩玩

idootop commented 1 month ago

我只测试过小爱音箱Pro