lss233 / chatgpt-mirai-qq-bot

🚀 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台
GNU Affero General Public License v3.0
13.13k stars 1.56k forks source link

[bug]已填写正确API且能正常登录 但使用时仍显示openai-api不存在 #272

Closed beiyaohhhc closed 1 year ago

beiyaohhhc commented 1 year ago

提交 issue 前,请先确认:

表现
已填写正确API且能正常登录 但使用时仍显示openai-api不存在

运行环境:

复现步骤
描述你是如何触发这个 BUG 的

  1. 输入api image

2.能正常登录 image

  1. 使用时出现以下图片 WIIVRX7OV4O)VFTFW4VH5%T

  2. See error

预期行为
正常使用

lss233 commented 1 year ago

可以试试最新版还会不会有这个问题

lanybass commented 1 year ago

日志如下:

2023-03-06 03:25:56.809 | SUCCESS  | launart.manager:launch:384 - Layer #1:[cache.client/memcache, http.client/aiohttp] preparation completed.
2023-03-06 03:25:57.012 | INFO     | __main__:start_background:260 - OpenAI 服务器登录中……
2023-03-06 03:25:57.022 | INFO     | manager.bot:login_openai:96 - 正在登录第 1 个 OpenAI 账号
2023-03-06 03:25:57.101 | SUCCESS  | manager.bot:login_openai:111 - 登录成功!
2023-03-06 03:25:57.102 | SUCCESS  | manager.bot:login_openai:128 - 成功登录 1/1 个 OpenAI 账号!
2023-03-06 03:25:57.102 | INFO     | __main__:start_background:265 - OpenAI 服务器登录成功
2023-03-06 03:25:57.103 | INFO     | __main__:start_background:266 - 尝试从 Mirai 服务中读取机器人 QQ 的 session key……
2023-03-06 03:25:57.114 | SUCCESS  | launart.manager:launch:384 - Layer #3:[elizabeth.service] preparation completed.
2023-03-06 03:25:57.114 | INFO     | launart.manager:launch:389 - All components prepared, start blocking phase.
2023-03-06 03:25:58.702 | SUCCESS  | graia.ariadne.connection.ws:_:62 - Successfully got session key
2023-03-06 03:26:27.002 | INFO     | graia.ariadne.model:log:82 - 126***6: [RECV][昵称(97xxxxxxxx)] -> /chat 你好
2023-03-06 03:26:27.202 | DEBUG    | middlewares.timeout:create_timeout_task:14 - [Timeout] 开始计时……
2023-03-06 03:26:27.721 | INFO     | graia.ariadne.model:log:82 - 126***6: [SEND][昵称(97xxxxxxxx)] <- 当前没有可用的chatgpt-web账号,不支持使用此 AI!
2023-03-06 03:26:27.803 | DEBUG    | middlewares.timeout:on_respond:38 - [Timeout] 取消计时……

配置如下:

# ==== OpenAI 账号部分开始
[openai]
# OpenAI 相关设置

# 你可以用多种不同的方式登录 OpenAI
# 你也可以登录很多个不同的账号(无限多个)
# 下面的例子会向你演示使用不同方式登录时
# 配置文件的写法

# 第 1 个 OpenAI 账号
# 使用 api key 登录
# 当你设置了 API Key 之后
# 你就可以使用 OpenAI 中收费的 ChatGPT API、AI 画图等功能
# 优点:
# 1. 响应快
# 缺点:
# 1. 烧钱
[[openai.accounts]]
# 你的 API key,可以在这里看: https://platform.openai.com/account/api-keys
api_key="sk-*******************************"
# 如果你在国内,需要配置代理
#proxy="http://127.0.0.1:1080"

# 使用 ChatGPT Plus(plus 用户此项设置为 true 使用 legacy 模型)
paid = false

# 是否开启标题自动重命名
title_pattern="qq-{session_id}"

# 是否自动删除旧的对话
auto_remove_old_conversations = true

# === OpenAI 账号部分结束
lanybass commented 1 year ago

【已解决】 追了下代码,发现我的问题来自 登录的账号类型和设置的账号类型不一致导致的 登录只配置了api方式,但配置文件默认是web方式

[response]
# 默认使用的 AI 类型,不填写时自动推测
# 目前支持的类型:
# chatgpt-web: 网页版 ChatGPT
# chatgpt-api: API 版 ChatGPT (GPT3.5-turbo)
# bing-c: New Bing (新必应对话风格-创造力)
# bing-p: New Bing (新必应对话风格-精确)
# bing-b: New Bing (新必应对话风格-平衡)
default_ai = "chatgpt-web"

复制的配置文件,忘了改这个default_ai 将 chatgpt-web 改为 chatgpt-api就OK了 另外 还有[trigger]配置里的 prefix_ai 配置也容易引发这个问题

@beiyaohhhc

lss233 commented 1 year ago

默认的配置文件里面没有这一项,程序会自动推断使用哪个能用的AI模型