大家好,我是【同学小张】。持续学习,持续干货输出,关注我,跟我一起学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功能的使用几乎一模一样。
- OpenAI 的 function calling使用方式可以看我这篇文章:【AI大模型应用开发】2.1 Function Calling连接外部世界 – 入门与实战(1)
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 一起交流,一起进步。
- 微信公众号也可搜【同学小张】
- 踩坑不易,感谢关注和围观
本站文章一览: