在线查询-使用deepseek生成SQL
重现步骤
1.配置OPENAI ; 2.使用在线查询生成SQL;
预期外的结果
日志文本
logs/archery.log、logs/qcluster.log这两个日志无相关错误信息,页面响应错误信息如下:
{
"status": 1,
"msg": "\u8bf7\u6c42openai\u751f\u6210\u67e5\u8be2\u8bed\u53e5\u5931\u8d25: 'str' object has no attribute 'choices'",
"data": ""
}
版本
1.11.3
部署方式
手工部署
是否还有其他可以辅助定位问题的信息?比如数据库版本等
No response
看这里的代码 https://github.com/hhyo/Archery/blob/38e376cbeb3e222db1404e829c987b244b3d1b16/common/utils/openai.py#L37-L38
服务如果不是完全和 openai 兼容的情况, 建议用反向代理再做一下兼容, 当前的 AI 只支持 openai, 由于本项目不是 AI 导向的项目, 建议使用 oneapi 等反向代理来做各个 AI 的适配, 不在本项目内做 AI 适配
关于错误信息的优化欢迎 PR
看这里的代码
Archery/common/utils/openai.py
Lines 37 to 38 in 38e376c
res = self.request_chat_completion(messages) return res.choices[0].message.content 服务如果不是完全和 openai 兼容的情况, 建议用反向代理再做一下兼容, 当前的 AI 只支持 openai, 由于本项目不是 AI 导向的项目, 建议使用 oneapi 等反向代理来做各个 AI 的适配, 不在本项目内做 AI 适配
目前已用的oneapi,换成gpt-4o模型还是不行
谢谢提供的信息,那有可能是openai sdk 有breaking change,我暂时没空处理,欢迎pr
目前简单调用python的openai sdk接口返回
使用deepseek的话,模型选 deepseek-chat 就可以用了
@duguwo 试试这样