OpenAI API用户自救指南

01a6d73aa04e9d27e9be174895edefdf.png

OpenAI API用户们这次不妨彻底搬个家。

【内容导读】

Ⅰ. 为什么要"搬家" - OpenAI 即将终止的API服务

Ⅱ. 对于API用户,哪些是"搬家"时的"必需品"

Ⅲ. OpenAI API vs 智谱 MaaS 开放平台(智谱API文档导读)

Ⅳ. 开发者说(translation agent 开发者横向比较)

Ⅰ. 为什么要搬家

6月25日凌晨,世界各地的开发者纷纷收到来自OpenAI的警告信,称从7月9日起将开始封禁在不支持地区使用的API (包括中国在内)。db6e3e1426671afa6923163c460abc4f.png

一直以来,OpenAI都被视作大模型时代的领先者,许多AI研究者和开发人员都将其GPT系列API视为首选的应用和开发工具。然而,OpenAI的限制政策却令部分用户不得不开始另谋出路。幸运的是,近一年半来,国内的大模型技术飞速发展,例如,智谱AI的最新GLM-4模型在多个排行榜和评测中比肩甚至超越了GPT-4的水平。在OpenAI宣布禁令之时,智谱AI迅速响应,为使用OpenAI API的用户提供了特别搬家计划9074748bee31871693c756044d614db1.jpeg

Ⅱ. API用户"搬家"时的"必需品"

必需品1:够强的模型能力大模型的能力分为许多类型,对于多数用户而言,对大模型的直观感受主要体现在语义理解能力上,语义理解也直接影响了模型的回复质量。

根据权威学术机构(清华大学人工智能研究院基础模型研究中心)在今年6月份最新的针对国内外最优秀的大模型的技术性能全面评测的结果显示,智谱AI的GLM-4模型已经做到了世界前列,紧跟GPT-4的脚步。211c6f130ce7216f45d89f8aa9922bb6.jpeg

此外,对于进阶开发者而言,大模型的工具调用和决策规划能力是当前最热门的AI开发领域——智能体开发中最为关键的能力。这些能力展示了大模型作为智能体的潜力。根据清华SuperBench的测评结果显示,GLM-4的智能体能力在全球排名中位列第2,仅次于OpenAI最新的GPT-4o。27c9d072299f14f2dd18f1f51b9bd343.png

必需品2:够低的使用价格ff7b758dca80f4d657353b959aba5f53.png468ce5dd7895fa9440aca8e32c65412a.png都以1 million tokens计价,GLM-4远低于GPT-4和GPT-4 Turbo, 与GPT-4o接近; 而GLM-4-Air则远低于GPT-4系列的模型。此外,对使用 OpenAI API 的现有用户,智谱提供 1.5亿 Token(5000万 GLM-4 + 1亿 GLM-4-Air)的开发支持。

必需品3:够方便的接口调用

若您仍想保留OpenAI SDK接口形式,只需修改调用地址,即可通过OpenAI SDK调用智谱API

from openai import OpenAI #openai sdk
 
client = OpenAI(
    api_key="your zhipuai api key",
    base_url="https://open.bigmodel.cn/api/paas/v4/"
) 
 
completion = client.chat.completions.create(
    model="glm-4",  
    messages=[    
        {"role": "system", "content": "你是一个聪明且富有创造力的小说作家"},    
        {"role": "user", "content": "请你作为童话故事大王,写一篇短篇童话故事,故事的主题是要永远保持一颗善良的心,要能够激发儿童的学习兴趣和想象力,同时也能够帮助儿童更好地理解和接受故事中所蕴含的道理和价值观。"} 
    ],
    top_p=0.7,
    temperature=0.9
 ) 
 
 print(completion.choices[0].message)

当然,所谓"搬家"肯定还是住进新家更舒坦,智谱完备的开发者API文档能完美支持开发过程中遇到的问题(我们将在下一个章节进行文档导读)。此外,对于高用量用户,智谱提供从 OpenAI 到 GLM 的系列迁移培训;专属搬家顾问及 5 人天技术专家支持;备案培训和辅助等技术配套支持。

综上,从模型能力上,GLM-4系列已经可以和GPT-4系列扳一扳手腕了。在配套服务上,与不断扩大封禁的OpenAI相比,智谱显然对国内用户更为友好。接下来,我们将带领各位AI开发者一起速览智谱API开发指南(接口文档)。

Ⅲ. 智谱API开发文档导读

为方便用户使用,智谱提供了 SDK 和原生 HTTP 来实现模型 API 的调用,同时为了方便用户迁移也支持Langchain SDK和OpenAI SDK。SDK通常是为了简化开发过程和提高开发效率而设计的,它提供了高级抽象和封装,使开发者能够快速集成和使用某个平台或服务的功能。而原生HTTP则是一种更基础的网络通信方式,开发者可以使用底层的HTTP协议进行数据交换,适用于对网络请求有更精确控制需求的场景。智谱建议使用SDK调用以获得更好的编程体验。

43aa967aa08d26ce749187e7447035f4.png

在SDK代码示例中,智谱提供了同步调用,异步调用,SSE 调用。每个示例有配套的Python和Java代码:

异步调用为例:

#python
from zhipuai import ZhipuAI

client = ZhipuAI(api_key="") # 请填写您自己的APIKey
response = client.chat.asyncCompletions.create(
    model="glm-4",  # 填写需要调用的模型名称
    messages=[
        {
            "role": "user",
            "content": "请你作为童话故事大王,写一篇短篇童话故事,故事的主题是要永远保持一颗善良的心,要能够激发儿童的学习兴趣和想象力,同时也能够帮助儿童更好地理解和接受故事中所蕴含的道理和价值观。"
        }
    ],
)
print(response)
#java
private static String testAsyncInvoke() {
   List<ChatMessage> messages = new ArrayList<>();
   ChatMessage chatMessage = new ChatMessage(ChatMessageRole.USER.value(), "作为一名营销专家,请为智谱开放平台创作一个吸引人的slogan");
   messages.add(chatMessage);
   String requestId = String.format(requestIdTemplate, System.currentTimeMillis());
   
   ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
           .model(Constants.ModelChatGLM4)
           .stream(Boolean.FALSE)
           .invokeMethod(Constants.invokeMethodAsync)
           .messages(messages)
           .requestId(requestId)
           .build();
   ModelApiResponse invokeModelApiResp = client.invokeModelApi(chatCompletionRequest);
   System.out.println("model output:" + JSON.toJSONString(invokeModelApiResp));
   return invokeModelApiResp.getData().getTaskId();
}

开发文档里还配套有所有智谱API的支持文档,涵盖通用大模型,图像大模型等模型说明书,以及知识管理(RAG相关),模型微调(训练相关)等开发可能涉及的场景。2eafc7298927cc837321c6807f4ef39d.png

Ⅳ. 开发者说(translation agent 开发者使用体验)

两周之前,人工智能著名学者、斯坦福大学教授吴恩达(Andrew Ng)开源了一个 AI 智能体机器翻译项目,该项目目前已获得 github 3.4k star685127c83bd712a191b3689c6c6aaa8b.png

该翻译智能体使用反思工作流进行翻译

  1. 输入 prompt,使大型语言模型(LLM)将文本从 source_language 翻译成 target_language;

  2. 让 LLM 反思翻译结果,并提出建设性的改进建议;

  3. 利用这些建议改进翻译

实际上,在今年2月,浙江大学联合腾讯,上海时代天使就已经开展了类似的翻译智能体工作 ”TEaR: Improving LLM-based Machine Translation with Systematic Self-Refinement“。该项目也开源在github,我们有幸邀请到文章作者,项目开发者实际体验智谱AI的API接口,测试GLM模型能力究竟是否能媲美GPT-4的能力。

论文地址:https://arxiv.org/abs/2402.16379

项目地址:https://github.com/fzp0424/self_correct_mt4a6c333a9427cda5edca2abd87cc88b0.png

以下为开发者提供:

框架:参考我们的TEaRTranslate, Estimate, and Refine)框架,我们本身就已经支持OpenAI的GPT系列和Google的Gemini系列模型,这次只需要简单通过Langchain的SDK就能丝滑地将智谱AI的GLM模型也加入到我们的框架当中

代码片段

from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_community.chat_models import ChatZhipuAI
from langchain_openai.chat_models import ChatOpenAI

# Define model endpoints
MODEL_ENDPOINTS = {
    'openai': ['gpt-4','gpt-4o', 'gpt-4-turbo', 'gpt-3.5-turbo-0613', 'gpt-3.5-turbo'],
    'google': ['gemini-pro'],
    "zhipu" : ['glm-4-0520', 'glm-4-air']
}

def read_json(path):
    with open(path, 'r', encoding='utf-8') as f:
        return json.load(f)

def generate_ans(model, module, prompt, parser):
    if model in MODEL_ENDPOINTS['openai']:
        llm = ChatOpenAI(model_name=model, verbose=True)
    elif model in MODEL_ENDPOINTS['google']:
        llm = ChatGoogleGenerativeAI(model=model, verbose=True)
    elif model in MODEL_ENDPOINTS['zhipu']:
        llm = ChatZhipuAI(model=model, api_key = zhipu_api_key,verbose=True)

    ans = llm.invoke(input=prompt)
    ans = ans.content

在实测过程中,我们主要对比了智谱AI的glm-4-0520, glm-4-air两款模型和OpenAI最强大的GPT-4系列三款模型gpt-4,gpt-4o以及gpt-4-turbo. 我们节选了BBC news今日最新的新闻片段,避免数据泄露的可能,保证测试真实可靠。翻译方向为English to Chinese, 测试结果如下(括号内为翻译分数,通过reference-free的COMETKiwi模型计算,越高代表质量越好):

待翻译句子:

When Croatia needed him most, the 38-year-old stepped up, recovering quickly from the disappointment of seeing a penalty saved to put his side ahead just moments later.

原生翻译:

gpt-4-turbo:当克罗地亚最需要他的时候,这位38岁的球员迅速从点球被扑救的失望中恢复过来,不久之后就为他的球队取得了领先。(0.8195)

gpt-4o:当克罗地亚最需要他的时候,这位38岁的球员站了出来,迅速从看到点球被扑出的失望中恢复过来,仅仅片刻之后就让他的球队领先。(0.8420)

gpt-4:当克罗地亚最需要他的时候,这位38岁的球员挺身而出,从看到点球被扑出的失望中迅速恢复过来,仅仅几刻钟后就让他的球队领先。(0.8441)

glm-4-air:当克罗地亚最需要他的时候,这位38岁的球员挺身而出,从看到点球被扑救的失望中迅速恢复,仅用片刻时间就将他的队伍领先。(0.8197)

glm-4-0520:当克罗地亚最需要他的时候,这位38岁的球员挺身而出,迅速从看到点球被扑出的失望中恢复过来,仅仅几分钟后就帮助球队取得了领先。(0.8496)

通过TEaR翻译智能体框架改进的翻译:

gpt-4-turbo:在克罗地亚最需要他的关键时刻,这位38岁的球员站了出来,他迅速从点球未能得手的失望中振作起来,紧接着就帮助球队取得了领先。(0.8301)

gpt-4o:当克罗地亚最需要他的时候,这位38岁的球员站了出来,迅速从点球被扑出后的失望中恢复过来,仅仅片刻之后就让他的球队领先。(0.8429)

gpt-4:当克罗地亚最需要他的时候,这位38岁的球员挺身而出,从看到点球被扑出的失望中迅速恢复过来,仅仅几刻钟后就让他的球队领先。(0.8441)

glm-4-air:当克罗地亚最需要他的时候,这位38岁的球员挺身而出,从看到点球被扑出的失望中迅速恢复,并在短短数分钟后带领他的队伍领先。(0.8363)

glm-4-0520:当克罗地亚最需要他时,这位38岁的球员挺身而出,迅速从点球被扑出的失望中振作起来,仅隔几分钟便帮助球队取得了领先。(0.8485)

根据结果可以看出,glm-4-0520无论是原生翻译还是TEaR改进翻译都得到了全场最高分,力压gpt-4;而glm-4-air则与gpt-4-turbo齐平。

而综合使用成本,便捷程度而言,开发者也坦言智谱对中国用户更加友好。当然,一个两个例子不能完全说明智谱已经超越了OpenAI,不过可以预见的是二者的差距并没有大家以往观念中的那么大,结合性价比来说,智谱在国内甚至还具备相当的优势。

以上就是我们对智谱此次面向OpenAI API用户的搬家计划解读,内容涵盖了背景,文档导读以及一线开发者反馈,希望可以为科研人员和开发者们开辟攀登AI珠穆朗玛的另一条路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值