大家好,我是【同学小张】。持续学习,持续干货输出,关注我,跟我一起学AI大模型技能。
最近我的OpenAI的API key由于调用次数太多被封了… 不知道下个月能不能解封。而为了尽可能地不花钱,先来看下国内的大模型API怎么用。
本文是智谱AI API的使用。
0. 环境
(1)注册并登录智谱AI开发者平台:https://www.zhipuai.cn/
原来注册的时候赠送了18块钱的使用额度,不知道现在注册还有没有。
(2)获取API key
(3)安装智谱AI API的Python包
pip install --upgrade zhipuai
1. 调用接口
(1)将你的API Key添加到环境变量中
ZHIPU_AI_API_KEY = "7c470xxxxxXwe"
(2)调用对话接口
import requestsimport jsonimport os# 加载 .env 到环境变量from dotenv import load_dotenv, find_dotenv_ = load_dotenv(find_dotenv())zhipu_api_key = os.getenv('ZHIPU_AI_API_KEY') # 设置百度千帆AKfrom zhipuai import ZhipuAIclient = ZhipuAI(api_key=zhipu_api_key) # 填写您自己的APIKeyresponse = client.chat.completions.create( model="glm-4", # 填写需要调用的模型名称 messages=[ {"role": "user", "content": "作为一名营销专家,请为我的产品创作一个吸引人的slogan"}, {"role": "assistant", "content": "当然,为了创作一个吸引人的slogan,请告诉我一些关于您产品的信息"}, {"role": "user", "content": "智谱AI开放平台"}, {"role": "assistant", "content": "智启未来,谱绘无限一智谱AI,让创新触手可及!"}, {"role": "user", "content": "创造一个更精准、吸引人的slogan"} ],)print(response.choices[0].message)## 输出:content='"精准智绘,创想由AI驱动 —— 智谱AI,共筑智能巅峰。"' role='assistant' tool_calls=None
从接口的调用形式来看,基本跟OpenAI API的调用方式一样了,可以无缝切换。
2. Function Calling
from zhipuai import ZhipuAIclient = ZhipuAI(api_key="") # 请填写您自己的APIKeyresponse = client.chat.completions.create( model="glm-4", # 填写需要调用的模型名称 messages = [ { "role": "user", "content": "你能帮我查询2024年1月1日从北京南站到上海的火车票吗?" } ], tools = [ { "type": "function", "function": { "name": "query_train_info", "description": "根据用户提供的信息,查询对应的车次", "parameters": { "type": "object", "properties": { "departure": { "type": "string", "description": "出发城市或车站", }, "destination": { "type": "string", "description": "目的地城市或车站", }, "date": { "type": "string", "description": "要查询的车次日期", }, }, "required": ["departure", "destination", "date"], }, } } ], tool_choice="auto",)print(response.choices[0].message)
运行结果:
可以看到,它的function calling的使用方式,也与OpenAI API中function calling功能的使用几乎一模一样。
3. 文生图API
from zhipuai import ZhipuAIclient = ZhipuAI(api_key=zhipu_api_key) # 请填写您自己的APIKeyresponse = client.images.generations( model="cogview-3", #填写需要调用的模型名称 prompt="过年了,画一条东方巨龙,喜庆,可爱",)print(response.data[0].url)
输出为图片的url链接,用浏览器打开返回的url,可以获得图片
文生图接口当然比较费钱,上面这一张图,花费了2-3毛钱。
好了,本文就到这了。当然,智谱AI的API不止如此,它还有更多丰富的功能和接口,例如嵌入模型和接口。因为我目前的目的只是看看智谱AI API怎么接入以及怎么替换掉OpenAI的接口,所以没有太过深入。后面有机会继续探索。
如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~
大家好,我是同学小张欢迎 点赞 + 关注 ?,促使我持续学习,持续干货输出。+v: jasper_8017 一起交流?,一起进步?。