lss233 / chatgpt-mirai-qq-bot

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

[BUG] ChatGLM3-6B无法通过本项目OpenAi方式调用,且也无法使用ChatGLM-6B的调用格式调用 #1284

Open YChaiyi opened 9 months ago

YChaiyi commented 9 months ago

提交 issue 前,请先确认:

表现
在确定ChatGLM-3-6B接口能通过OpenAi调用格式正常调用的情况下,无法通过本项目正常调用,在Webui中配置如下 屏幕截图(42) 保存配置后本项目后台报错:2024-01-01 15:22:24.955 | ERROR | framework.accounts.manager:login_account:59 - [AccountManager] 登录失败: openai-api 保存配置后GLM后台报错:INFO: 192.168.1.26:62926 - "POST /v1/chat/completions HTTP/1.1" 400 Bad Request

运行环境:

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

  1. Go to 'http://127.0.0.1:8080/#/accounts'
  2. Click on 'OpenAI API 账号设置、配置设置'
  3. See error

预期行为
本项目显示:账户正常 GLM输出:INFO: 127.0.0.1:58586 - "POST /v1/chat/completions HTTP/1.1" 200 OK

截图
屏幕截图(42) botpy.log

其他内容
此处填写其他内容,没有可跳过

YChaiyi commented 9 months ago

附上ChatGLM3-6B官方API调用方式:https://github.com/THUDM/ChatGLM3/blob/main/openai_api_demo/openai_api_request.py

inorixu commented 4 months ago

因为glm3的数据结构变了,所以需要根据数据结构修改framework\llm\thudm\chatglm_6b.py的async def ask(self, prompt: str)方法,将请求和响应按glm3的格式修改,在ask里面打印response就可以知道响应格式,在chatglm3 api demo的api_server.py里参考ChatCompletionRequest修改ask的请求格式即可