智谱API如何转成兼容OpenAI格式调用?(已解决)

有没有这一类的Cloudflare Worker项目或Vercel

8 个赞

智谱api不是兼容openai的嘛?

2 个赞

oneapi或者newapi转一下

1 个赞

oneapi啊,直接把apikey填入就行了 :wink:

没有的话,部署一个,简简单单 :bili_040:

1 个赞

路过,帮顶一下

智谱基本是兼容 openai 格式的,唯一问题是它不是 /v1 而是 /v4
上策:oneapi、newapi 走起
中策:cf-worker
下策:选接口地址支持填到 /v1 的前端,如 lobechat

glm-worker
export default {
  async fetch(request, env) {
    const url = new URL(request.url);
    // 修改 host 为目标域名
    url.host = 'open.bigmodel.cn';
    // 修改路径,如果路径以 '/v1/chat/completions' 结尾
    if (url.pathname == '/v1/chat/completions') {
      url.pathname = '/api/paas/v4/chat/completions';
    }
    
    // 创建一个修改后的请求
    const modifiedRequest = new Request(url, request);
   
    // 发起请求并返回响应
    return fetch(modifiedRequest);
  }
}
4 个赞

感谢佬友们,已解决

From 快问快答 to 开发调优

1 个赞

被点赞了,那就再补一策 :

2 个赞

厉害了
小白问下,Python代码中用deepseek的api

model_LLM = "deepseek-chat"  # "model"
endpoint = "api.deepseek.com"  # LLM API endpoint
key = "sk-e5****"

能运行,智谱的如下

model_LLM = "GLM-4-0520"  # "model"
endpoint = "open.bigmodel.cn"  # LLM API endpoint
key = "0395****"

运行不了,这个咋修改,这个endpoint要用oneapi转吗,或者有其他方法没?

用的是什么库,直接发的 request 嘛,有稍微完整的请求看看吗

代码太复杂,我调试居然还没找到调用的地方,我再捋捋 :joy:

是某个实际项目吗

对的,它用了一个代码库,应该是在库里改的函数,按理说这个endpoint后还要接一部分的,不可能直接这样调用,也还没看到api返回的地方

是 github 公开的吗,我可以帮忙看看

可以,我私信你链接了,这种代码可能对你们来说比较简单

感谢,非常感谢!找了半小时,大佬5秒解决 :+1: :+1: :+1: :+1: :+1:

全局搜索,快人一步

:+1:学到了,我居然之前没用过pycharm在整个文件夹中搜索,很有用

修改调用处的Python代码

conn.request("POST", "/v1/chat/completions", payload, headers)


conn.request("POST", "/api/paas/v4/chat/completions", payload, headers)