一、什么是API接口
API(Application Programming Interface,应用程序编程接口)是一种软件接口,它定义了不同应用程序之间如何相互通信、交互。API接口分为很多种,常见的有Web API,数据库API,操作系统API等。
Web API是目前最流行的API接口,它作为一种开放式API接口,能够让不同的系统与平台进行交互。Web API可以返回JSON格式的数据或XML格式等数据。
二、GLM-4模型介绍
GLM-4是智谱AI发布的新一代基座大模型,整体性能相比GLM3提升60%,支持128K上下文,可根据用户意图自主理解和规划复杂指令、完成复杂任务。
2.1 主要模型
模型名称 | 模型简介 | 上下文长度 |
---|---|---|
GLM-4 | 提供了更强大的问答和文本生成能力。适合于复杂的对话交互和深度内容创作设计的场景。 | 128K |
GLM-4V | 实现了视觉语言特征的深度融合,支持视觉问答、图像字幕、视觉定位、复杂目标检测等各类图像理解任务 | 2K |
GLM-3-Turbo | 适用于对知识量、推理能力、创造力要求较高的场景,比如广告文案、小说写作、知识类写作、代码生成等。 | 128K |
2.2 计费单价
模型名称 | 计费单位 |
---|---|
GLM-4 | 0.1元 / 千tokens |
GLM-4V | 0.1元 / 千tokens |
GLM-3-Turbo | 0.005元 / 千tokens |
一般情况下ChatGLM模型中token和字数的换算比例约为1:1.6,但因为不同模型的分词不同,所以换算比例也存在差异,每一次实际处理token数量以模型返回为准,您可以从返回结果的usage中查看。
2.3 计费范围
根据模型输入和输出的总token数进行计量计费(向量大模型embedding-2仅按照输入token量计费、图像大模型按照调用次数计费),如果您开启工具调用,调用结果作为输入也会进行计量计费。
调用工具可以为模型引入更多相关信息,有助于提高输出的质量、及时性等;语言模型默认开启web_search,调用成功后将作为参考信息输入给模型,每次调用大约会增加1000 tokens的消耗。如果您不需要调用web_search,可以通过参数关闭。
需关注的是,若您在体验中心对指定模型进行体验,收费规则和 API 调用一致。
2.4 扣费方式
支持下列2种方式扣减:
方式 | 说明 |
---|---|
费用扣减 | 扣减费用 = token使用量 x 模型单价,对应费用将从您的充值账户、赠金账户进行扣减(如果您多个账户同时存在余额,我们将等额扣减,举例费用为10元,则充值帐户、赠金账户各扣减5元) |
资源包扣减 | 扣减数量 = token使用量,对应额度将从您的资源包账户进行扣减(如无特殊逻辑限制*,当资源包存在余额时,我们默认将优先扣减资源包账户再扣减充值 / 赠金账户) |
三、前置条件
3.1 申请API Key
所有 API 使用 API Key 进行身份验证。可以访问智谱AI开放平台 API Keys 页面查找将在请求中使用的 API Key。
四、基于SDK开发
4.1 pip install 安装 zhipuai模块
pip install zhipuai
4.2 代码实现
def simpleAPI():
from zhipuai import ZhipuAI
client = ZhipuAI(api_key=zhipuai_api_key) #APIKey
response = client.chat.completions.create(
model="glm-4", # 填写需要调用的模型名称
messages=[
{"role": "assistant", "content": "我是人工智能助手GLM4"},
{"role": "user", "content": "花儿为什么是红色的?宇宙什么颜色的?"},
],
top_p=0.7,
temperature=0.9,
# 使用流式输出时,在messages里面添加stream参数,打印时使用循环。
stream=True,
)
# 非流式
# print(response.choices[0].message.content)
# 流式
for chunk in response:
print(chunk.choices[0].delta.content,end="")