智谱清言是由一款由清华大学研发实用的AI智能工具,可以在手机app,网页端使用,也可以通过API来调用。目前智谱AI已经解锁了长文档阅读、AI智能生成视频、自定义智能体、AI画图等功能,大家可以尝试使用。
今天给大家分享一下如何用Python来调用智谱AI的API,实现交互式的智能问答 。
网页端显示
一、注册智谱AI
可以通过以下网址来注册智谱AI,领取免费的试用包。
open.bigmodel.cn/overview
再点击网页的右上解【查看API_Key】可以获取调用智谱AI的API。
在该界面上,点击【添加新的 API key】并输入对应的名字即可生成新的API key。
智谱清言调用界面
二、调用智谱AI的API
智谱 AI 提供两种不同的调用方式,一种SDK,还有一种是利用openai的框架来调用。前者反应的速度更快,更者更利于程序打包。
1. SDK调用代码
我们把网站提供的demo代码进行了修改,利用while循环实现了连续会话功能。注意在使用下面代码之前要保证通过pip install zhipuai安装了智谱清言的python模块,另一方面要把自己注册得到api信息填写到程序当中。
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="自己的API_KEY") # 填写您自己的APIKey
while True:
prompt = input("user:")
response = client.chat.completions.create(
model="glm-4-0520" # 填写需要调用的模型名称
messages=[
{"role": "user", "content": prompt}
],
)
answer = response.choices[0].message.content
print(answer)
2. 使用openai的框架调用
此中框架需要添加新的base_url,但不用安装新的zhipuai模块。这种方法可以有效地减少打包不成功的情况。使用前要通过pip install openai来安装这个公共框架。
from openai import OpenAI
client = OpenAI(
api_key="个人的API_Key",
base_url="https://open.bigmodel.cn/api/paas/v4/"
)
while True:
prompt = input("user:")
completion = client.chat.completions.create(
model="glm-4",
messages=[
{"role": "user", "content": prompt},
],
top_p=0.7,
temperature=0.9
)
print(completion.choices[0].message.content)
三、隐藏API信息的技巧
为了让不同版本的程序代码调用同一个API,而且不以明文的形式显示出来,我们可以在这些程序的同一目录下新建一个api.py文件,在里面放上自己的api_key,格式如下:
api_key="69eXXX个人_key"
然后在调用的程序里,我们可以用这行代码实现调用api_key的值。
from api import api_key
比如,我们把调用智谱api的一个调用代码通过上面的方法更改如下,以便保护了自己的key不被泄露。
from api import api_key
from openai import OpenAI
client = OpenAI(
api_key=api_key,
base_url="https://open.bigmodel.cn/api/paas/v4/"
)
while True:
prompt = input("user:")
completion = client.chat.completions.create(
model="glm-4",
messages=[
{"role": "user", "content": prompt},
],
top_p=0.7,
temperature=0.9
)
print(completion.choices[0].message.content)
四、视频教程
为了让大家更好地了解如何调用智谱清言的api,我们专门制作了视频,供大家参考。
如何用Python调用智谱清言API
五、学后反思
- Python调用api可以实现连续的、批量的智能文本生成,效率更高。同时,还可以应用于其它的第三方软件当中,而不必非要登陆网页端。
- 在生成绘图和视频等方面可能还需要网页版的支持。
- 在调用过程中,如果用量较大,还可能需要购买智谱的API额度。