如何用Python调用智谱清言api进行智能问答

智谱清言是由一款由清华大学研发实用的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

五、学后反思

  1. Python调用api可以实现连续的、批量的智能文本生成,效率更高。同时,还可以应用于其它的第三方软件当中,而不必非要登陆网页端。
  2. 在生成绘图和视频等方面可能还需要网页版的支持。
  3. 在调用过程中,如果用量较大,还可能需要购买智谱的API额度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PythonFun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值