大家好,我是【同学小张】。持续学习,持续干货输出,关注我,跟我一起学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 requests

import json

import os

# 加载 .env 到环境变量

from dotenv import load_dotenv, find_dotenv

_ = load_dotenv(find_dotenv())

zhipu_api_key = os.getenv('ZHIPU_AI_API_KEY') # 设置百度千帆AK

from zhipuai import ZhipuAI

client = ZhipuAI(api_key=zhipu_api_key) # 填写您自己的APIKey

response = 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 ZhipuAI

client = ZhipuAI(api_key="") # 请填写您自己的APIKey

response = 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 ZhipuAI

client = ZhipuAI(api_key=zhipu_api_key) # 请填写您自己的APIKey

response = client.images.generations(

model="cogview-3", #填写需要调用的模型名称

prompt="过年了,画一条东方巨龙,喜庆,可爱",

)

print(response.data[0].url)

输出为图片的url链接,用浏览器打开返回的url,可以获得图片

文生图接口当然比较费钱,上面这一张图,花费了2-3毛钱。

好了,本文就到这了。当然,智谱AI的API不止如此,它还有更多丰富的功能和接口,例如嵌入模型和接口。因为我目前的目的只是看看智谱AI API怎么接入以及怎么替换掉OpenAI的接口,所以没有太过深入。后面有机会继续探索。

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~

大家好,我是同学小张欢迎 点赞 + 关注 ,促使我持续学习,持续干货输出。+v: jasper_8017 一起交流,一起进步。微信公众号也可搜【同学小张】 踩坑不易,感谢关注和围观

本站文章一览:

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: