如何用Python调用智谱AI的API进行智能问答

04-02 1508阅读 0评论

一、引言

随着人工智能技术的不断演进,以ChatGPT为首的智能聊天机器人如:文心一言、通义千问、智谱AI等受到越来越多人的喜欢。这些智能引擎不仅有网页版,而且开放了免费的api接口,并给出了样例代码。

这样,我们可以非常方便地用Python调用这些引擎,省去了登陆网页、输入账号、来回切换的麻烦。今天,我们就要介绍一下如何使用Python来调用国产大模型智普AI的API接口。

如何用Python调用智谱AI的API进行智能问答

二、实现过程

第一步:注册智谱AI,领取免费的API额度,获取API key。注册过程中需要输入手机号,同时要想获得免费的额度还需要通过支付宝的个人认证。

注册地址:智谱AI开放平台

如何用Python调用智谱AI的API进行智能问答

第二步,注册完毕后,点击【开始使用】,可以进入到开发者中心,再点击【查看API key】可以获得api信息。

如何用Python调用智谱AI的API进行智能问答

第三步,点击下图中的文档接口,进入到说明文档。我们以GLM-4的调用为例说明一下如何调用。

如何用Python调用智谱AI的API进行智能问答第三步,我们找到GLM-4的调用文档说明,复制下面的代码,然后在cmd或苹果的终端运行,安装zhipuai模块。

pip install --upgrade zhipuai

如何用Python调用智谱AI的API进行智能问答

第四步,把请求示例中的Python代码复制到IDLE即Pycharm, Anaconda或者Thonny中,把自己申请的api_key(一串字符)复制到第二行代码client = ZhipuAI(api_key="")中。这样一个简单的调用就搞定了,代码如下:

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 填写您自己的APIKey
response = client.chat.completions.create(
    model="glm-4",  # 填写需要调用的模型名称
    messages=[
        {"role": "user", "content": "你好"},
        {"role": "assistant", "content": "我是人工智能助手"},
        {"role": "user", "content": "你叫什么名字"},
        {"role": "assistant", "content": "我叫chatGLM"},
        {"role": "user", "content": "你都可以做些什么事"}
    ],
)
print(response.choices[0].message)

第五步,由于官方代码给出的print结果有冗余,同时一次只能问一个问题,于是,我们就对它进行简单的修改,把最后的response对象转化成一个字典,获取其中的content键值。添加while循环现在反复问答,修改的代码如下:

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 填写您自己的APIKey
prompt = ""
while True:
    prompt = input("user:")
    response = client.chat.completions.create(
        model="glm-4",  # 填写需要调用的模型名称
        messages=[
            {"role": "user", "content": "你好"},
            {"role": "assistant", "content": "我是人工智能助手"},
            {"role": "user", "content": "你叫什么名字"},
            {"role": "assistant", "content": "我叫chatGLM"},
            {"role": "user", "content": prompt}
        ],
    )
    answer = response.choices[0].message
    print(dict(answer)["content"])

有了这一串代码,你就可以向GLM-4进行重复提问,甚至可以把结果写入到文本TXT中备用。

2024年1月21日更新:受韩林涛老师的启发,把以上代码进行优化更新,角色只保留一个,后面answer的内容直接用content属性来获得,最后得到精减代码如下:

from zhipuai import ZhipuAI
 
client = ZhipuAI(api_key="") # 填写您自己的APIKey
while True:
    prompt = input("user:")
    response = client.chat.completions.create(
        model="glm-4",  # 填写需要调用的模型名称
        messages=[
            {"role": "user", "content": prompt}
        ],
    )
    answer = response.choices[0].message.content
    print("ZhipuAI:",answer)

三、使用体验

1. 智谙AI一直比较低调,其反应速度比星火大模型要慢,但是比chatgpt要快,回答的质量上比星火要高一点。

2. 新人注册有200万字符的调用额度,而且新人98元就可以买到1.8亿字符的调用。

3. 智谱的应用场景非常之多,大家可以登录到它的网页版进行测试。

如何用Python调用智谱AI的API进行智能问答


免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,1508人围观)

还没有评论,来说两句吧...

目录[+]