当前位置: 首页 > news >正文

如何用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 ZhipuAIclient = 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.contentprint(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额度。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Java 设计模式】Business Delegate 模式:简化业务服务交互
  • 磷酸二氢钾溶液净化除杂,除重金属
  • 前端面试手撕题收集(自用)
  • 极狐GitLab 如何管理 Kubernetes 集群?
  • 监控电脑屏幕的软件叫什么?8款好用的监控电脑屏幕的软件推荐!
  • 程序员阿龙定制开发【精选】计算机毕业设计之:基于JAVA问卷调查系统
  • 数据结构(Java实现):链表与LinkedList
  • 无法验证 Anaconda 仓库证书
  • 【系统架构设计】软件架构设计(2)
  • 云计算实训33——高并发负载均衡项目(eleme)
  • linux 工作中常用的命令
  • 标准UEFI Shell命令
  • 【论文笔记】独属于CV的注意力机制CBAM-Convolutional Block Attention Module
  • SpringBoot调用通义千问
  • Scratch编程新纪元:网络请求与数据解析的探索之旅
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Angular 4.x 动态创建组件
  • EventListener原理
  • Git的一些常用操作
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java|序列化异常StreamCorruptedException的解决方法
  • jquery ajax学习笔记
  • leetcode388. Longest Absolute File Path
  • Linux后台研发超实用命令总结
  • Lucene解析 - 基本概念
  • windows下mongoDB的环境配置
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 记录一下第一次使用npm
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 如何用vue打造一个移动端音乐播放器
  • 通过npm或yarn自动生成vue组件
  • 一些css基础学习笔记
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​Spring Boot 分片上传文件
  • ​字​节​一​面​
  • # windows 安装 mysql 显示 no packages found 解决方法
  • $.proxy和$.extend
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (pojstep1.1.2)2654(直叙式模拟)
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二十六)Java 数据结构
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (一)基于IDEA的JAVA基础12
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)LINQ之路
  • (转载)从 Java 代码到 Java 堆
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .env.development、.env.production、.env.staging
  • .NET 8.0 发布到 IIS
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 反射 Reflect
  • .net 无限分类