0


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

一、引言

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

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

二、实现过程

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

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

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

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

第三步,我们找到GLM-4的调用文档说明,复制下面的代码,然后在cmd或苹果的终端运行,安装zhipuai模块。

pip install --upgrade zhipuai

第四步,把请求示例中的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="<Your 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="<Your 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. 智谱的应用场景非常之多,大家可以登录到它的网页版进行测试。


本文转载自: https://blog.csdn.net/henanlion/article/details/135639771
版权归原作者 PythonFun 所有, 如有侵权,请联系我们删除。

“如何用Python调用智谱AI的API进行智能问答”的评论:

还没有评论