Archery icon indicating copy to clipboard operation
Archery copied to clipboard

在线查询-使用deepseek生成SQL

Open duguwo opened this issue 10 months ago • 7 comments

重现步骤

1.配置OPENAI ; 2.使用在线查询生成SQL;

预期外的结果

Image

日志文本

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

duguwo avatar Feb 18 '25 08:02 duguwo

看这里的代码 https://github.com/hhyo/Archery/blob/38e376cbeb3e222db1404e829c987b244b3d1b16/common/utils/openai.py#L37-L38

服务如果不是完全和 openai 兼容的情况, 建议用反向代理再做一下兼容, 当前的 AI 只支持 openai, 由于本项目不是 AI 导向的项目, 建议使用 oneapi 等反向代理来做各个 AI 的适配, 不在本项目内做 AI 适配

LeoQuote avatar Feb 18 '25 09:02 LeoQuote

关于错误信息的优化欢迎 PR

LeoQuote avatar Feb 18 '25 09:02 LeoQuote

看这里的代码

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模型还是不行

duguwo avatar Feb 18 '25 10:02 duguwo

谢谢提供的信息,那有可能是openai sdk 有breaking change,我暂时没空处理,欢迎pr

LeoQuote avatar Feb 19 '25 04:02 LeoQuote

目前简单调用python的openai sdk接口返回

Chat Nio<script type="module"crossorigin src="/assets/index.e9845a11.js">
而用curl则返回正常, 应该是openai-python哪儿出问题了,看了官网也尝试调用它的低版本,没有能解决这个问题

duguwo avatar Feb 19 '25 10:02 duguwo

使用deepseek的话,模型选 deepseek-chat 就可以用了

imxw avatar Apr 06 '25 09:04 imxw

Image@duguwo 试试这样

liucx1201 avatar Nov 14 '25 08:11 liucx1201