如何用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额度。
### 如何调用智能API #### 安装依赖库 为了能够顺利使用API,需要先安装相应的依赖包。可以通过如下命令来完成安装: ```bash pip install -i https://mirrors.aliyun.com/pypi/simple/ -U zhipuai ``` 此操作会从阿里云镜像源更新或安装`zhipuai`这个软件包[^1]。 #### 导入模块并初始化对象 当环境准备就绪之后,在Python脚本里可以按照下面的方式导入必要的类,并创建一个实例用于后续交互: ```python from ai.big_model import ZhiPuAIAPI # 导入ZhiPuAIAPI类 if __name__ == "__main__": api_key = "your_api_key_here" persona = "你是Python编程工作者。" # 设置角色描述 ai = ZhiPuAIAPI(api_key, persona=persona, save_context_file='zhipuai_context.json') ``` 这里定义了一个名为`ai`的对象,它代表了与平台之间的连接桥梁。其中传入了三个参数:API密钥(`api_key`)、人格设定(`persona`)以及上下文保存文件名(`save_context_file`)。这使得开发者可以根据实际需求自定义对话风格和记忆机制。 #### 获取回复及开启聊天模式 有了上述准备工作后,便可通过简单的函数调用来获取来自的回答或是启动互动式的聊天体验: ```python print(ai.get_answer('介绍自己')) ai.chat_with_zhipuai() ``` 这段代码展示了两种不同的交流方式——一种是直接请求特定问题的答案;另一种则是进入持续性的交谈状态,允许用户输入任意话题并与之展开讨论。 此外,考虑到某些应用场景可能涉及到更复杂的逻辑处理或者与其他系统的集成工作,还提供了对Function Call的支持,这意味着其不仅限于简单的问答形式,还可以执行更为高级的任务,比如调用外部工具和服务等[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PythonFun

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

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

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

打赏作者

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

抵扣说明:

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

余额充值