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

【常见大模型API调用】第三篇:清华智谱--智谱AI

1. 公司及模型介绍

智谱AI是一家由清华大学计算机系知识工程实验室的技术成果转化而来的AI知识智能技术开发商。智谱AI致力于打造新一代认知智能大模型,专注于做大模型的中国创新。

2024年1月16日,智谱AI在首届技术开放日上发布了新一代基座大模型GLM-4。
GLM-4可以支持更长的上下文,具备更强的多模态能力。GLM-4的All Tools能力全新发布,它可以自主根据用户意图,自动理解、规划复杂指令,并自由调用网页浏览器、Code Interpreter代码解释器和多模态文生图大模型以完成复杂任务。个性化智能体定制:GLM-4还提供了个性化智能体定制功能。用户只需用简单的提示词指令,就能在智谱清言官方网站上创建属于自己的GLM智能体。并且,用户还可以通过全新上线的智能体中心分享自己创建的各种智能体。
在SuperCLUE-Fin(SC-Fin)中文原生金融大模型基准测评中,GLM-4荣获A级评价,位列第一梯队,在国内大模型中排名第一

2.智谱API调用

2.1 Apikey申请

申请或者登录账号,完成认证
登录控制台BigModel,申请APIkey
在这里插入图片描述

2.2 会话API


from zhipuai import ZhipuAI
import timeclass ZhiPu():def __init__(self, api_key, model_index):self.model_map = {1: "GLM-4-0520",2: "GLM-4-Plus",3: "GLM-4-Air",4: "glm-4v-plus",5: "glm-4v",}self.api_key = api_keyself.index = model_indexdef zhipuai_chat(self, question):print("此次使用的模型是{}".format(self.model_map[self.index]))client = ZhipuAI(api_key=self.api_key)response = client.chat.completions.create(model=self.model_map[self.index],messages=[{"role": "user", "content": question},],stream=False,)# for chunk in response:#     print(chunk.choices[0].delta)print(response)if __name__ == "__main__":api_key = "xxxxx"question = "人为什么要活着?"strat = time.time()ZhiPu = ZhiPu(api_key, 1)ZhiPu.zhipuai_chat(question)end = time.time()print(f"此次调用花费时间为:{(end - strat):.4f}秒")

其中 stream=False表示非流式输出。来看看智谱如何解答:人为什么要活着?
ZhiPu = ZhiPu(api_key, 1) 第二个参数可以选择想要使用的模型。

此次使用的模型是GLM-4-0520
'人为什么要活着,这是一个深刻而复杂的问题,不同的文化、哲学体系以及个人都会有不同的解读和回答。\n\n在传统的中国文化观念中,人之所以要活着,是因为生命本身是一种宝贵的恩赐,是父母生命的延续,承载着家族的期望和责任。儒家思想认为,人应该“修身、齐家、治国、平天下”,通过实现个人的道德修养、家庭的和谐、国家的治理以及天下的太平来体现生命的价值。\n\n从现代社会主义价值观的角度,人要活着是为了社会的共同进步和发展,每个人都应该为社会做出贡献,同时实现个人的全面发展。在这一过程中,追求物质生活的改善和精神生活的丰富,实现自我价值与社会价值的统一。\n\n个人层面上,人们可能会为了追求幸福、实现梦想、体验生活的多样性、建立人际关系、传承文化、探索未知等目的而活着。\n\n不同的个体可能会基于自己的经历、信仰和价值观,给出不同的答案。这个问题没有统一的答案,每个人都可以根据自己的理解去寻找生命的意义和价值。
此次调用花费时间为:7.1519秒

2.3 联网搜索

通用搜索 web_search 工具通过网络搜索获取信息,以增强语言模型输出的质量和时效性。网络搜索功能默认为关闭状态(False)。当启用搜索(设置为 True)时,系统会自动判断是否需要进行网络检索,并调用搜索引擎获取相关信息。检索成功后,搜索结果将作为背景信息输入给大模型进行进一步处理。每次网络搜索大约会增加1000个 tokens 的消耗。

    def zhipuai_chat(self, question):print("此次使用的模型是{}".format(self.model_map[self.index]))tools = [{"type": "web_search","web_search": {"enable": True, # 禁用:False,启用:True。"search_query": "自定义搜索的关键词"} }]client = ZhipuAI(api_key=self.api_key)response = client.chat.completions.create(model=self.model_map[self.index],messages=[{"role": "user", "content": question},],stream=False,tools=tools)# for chunk in response:#     print(chunk.choices[0].delta)print(response)

2.4 视觉模型


from zhipuai import ZhipuAI
import timeclass ZhiPu():def __init__(self, api_key, model_index):self.model_map = {1: "GLM-4-0520",2: "GLM-4-Plus",3: "GLM-4-Air",4: "glm-4v-plus",5: "glm-4v",}self.api_key = api_keyself.index = model_indexdef zhipuai_imgdes(self, img_url):print("此次使用的模型是{}".format(self.model_map[self.index]))client = ZhipuAI(api_key=self.api_key)response = client.chat.completions.create(model="glm-4v-plus",messages=[{"role": "user","content": [{"type": "image_url","image_url": {"url": img_url}},{"type": "text","text": "请描述图片内容"}]}])print(response.choices[0].message)if __name__ == "__main__":api_key = "xxxxx"img_url= "https://oss9.komect.com/userdeviceocr/test1.jpg"strat = time.time()ZhiPu = ZhiPu(api_key, 4)ZhiPu.zhipuai_imgdes(img_url)end = time.time()print(f"此次调用花费时间为:{(end - strat):.4f}秒")

此次使用的模型是glm-4v-plus
CompletionMessage(content=‘这是一张现代风格的客厅图片。客厅以浅色调为主,地面铺有浅色瓷砖,墙壁为白色和橙色拼接。客厅内有一套灰色的L型沙发,上面摆放着各种图案的抱枕。沙发前方是一个圆形的玻璃茶几,上面放着一些装饰品。客厅的一侧墙上挂着一台平板电视,旁边有一个白色的电视柜,上面摆放着一些装饰品和一束花。客厅的另一侧墙上装饰有一幅抽象画和几个壁挂式架子,架子上摆放着一些书籍和装饰品。此外,客厅中央还有一个吊灯,以及几个射灯提供照明。整体上,这个客厅给人一种简洁、舒适的感觉。’, role=‘assistant’, tool_calls=None)
此次调用花费时间为:7.4828秒

相关文章:

【常见大模型API调用】第三篇:清华智谱--智谱AI

1. 公司及模型介绍 智谱AI是一家由清华大学计算机系知识工程实验室的技术成果转化而来的AI知识智能技术开发商。智谱AI致力于打造新一代认知智能大模型,专注于做大模型的中国创新。 2024年1月16日,智谱AI在首届技术开放日上发布了新一代基座大模型GLM-…...

LayerSkip – Meta推出加速大型语言模型推理过程的技术

我们提出的 LayerSkip 是一种端到端的解决方案,可加快大型语言模型(LLM)的推理速度。 首先,在训练过程中,我们采用了层间丢弃技术(layer dropout),早期层间丢弃率较低,后期层间丢弃率较高。 其次…...

环境变量与本地变量(Linux)

引言 在当今的计算机技术领域,Linux操作系统以其稳定性和灵活性而广受欢迎。它不仅是服务器和开发者的首选平台,也是探索计算机科学和系统编程的宝库。在这个强大的操作系统中,环境变量与本地变量扮演着至关重要的角色,它们是管理…...

【完-网络安全】Windows防火墙及出入站规则

文章目录 防火墙入站和出站的区别域网络、专用网络、公用网络的区别 防火墙 防火墙默认状态一般是出站允许,入站阻止。 入站和出站的区别 入站就是别人来访问我们的主机,也就是正向shell的操作 出站就是反向shell,主机需要主动连接kali&am…...

Vue学习记录之十七 css中样式穿透及新特征介绍

一、scoped原理 在vue页面的css中,有一个设置为scoped,使用以后dom的节点会出现下面的规则。其实我们打完包就是一个html页面,如果不做处理,将会导致css混乱。 给HTML的DOM节点加一个不重复data属性(形如:data-v-123)来表示他的唯一性在每句css选择器的末尾(编译后的生成的…...

Nature 正刊丨海洋涡旋中常见的地下热浪和寒潮

01摘要 由于全球变暖,极端海洋温度事件变得越来越普遍,造成了灾难性的生态和社会经济影响1,2,3,4,5。尽管基于卫星观测对表层海洋热浪(MHW)和海洋寒潮(MCS)进行了广泛的研究6,7,但我们对这些极…...

代码随想录算法训练营第六十二天| prim算法,kruskal算法

训练营六十二天打卡,图论比较难,坚持下来胜利就在眼前! 53.卡码网【寻宝】 题目链接 解题过程 没做过类似的题目,跟着答案敲了一遍最小生成树 可以使用 prim算法 也可以使用 kruskal算法计算出来。prim算法 是从节点的角度 采用…...

Newstar_week1_week2_wp

week1 wp crypto 一眼秒了 n费马分解再rsa flag: import libnum import gmpy2 from Crypto.Util.number import * p 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297…...

今天我们研究一段代码(异或位运算)

let a 18 // 甲 let b 20 // 乙a a ^ b b a ^ b a a ^ b console.log("a",a) // a 20 console.log("b",b) // b 18今天我们就研究上面这一段代码,简单解释一下,初始化一个a 18 b 20, 中间经过了三次的异或之后…...

pycharm中使用ctrl+鼠标滚轮改变字体大小

文章目录 pycharm使用ctrl鼠标滚轮改变字体大小1.打开pycharm选择file2.选择setting4.选择keymap,然后再右边的输入框中输入increase进行增大字体4.鼠标选择后,点击添加鼠标快捷方式,然后设置鼠标滚轮往上增大字体。5.设置缩小字体&#xff0…...

【算法-动态规划】打家劫舍专题

文章目录 1.打家劫舍1.1一维数组1.2三变量法1.3双数组法 2.打家劫舍22.1双数组法2.2 三变量法 3.打家劫舍33.1动态规划3.2双变量法 4.删除相邻数字的最大分数4.1双状态数组4.2一维数组4.3三变量法 1.打家劫舍 198. 打家劫舍 - 力扣(LeetCode) 1.1一维数…...

关于技术管理者的一些思考

前 言 在软件开发领域,当一名资深工程师有机会成为一名技术管理者的时候,通常他/她的反应是什么?兴奋、担扰、无奈还是推托,具体是什么心情也许对结果并不重要,更加重要是在一刻,我们一定要问问我们内心的…...

Alpha-CLIP: A CLIP Model Focusing on Wherever You Want CVPR 2024

在原始的接受RGB三通道输入的CLIP模型的上额外增加了一个alpha通道。在千万量级的RGBA-region的图像文本对上进行训练后,Alpha-CLIP可以在保证CLIP原始感知能力的前提下,关注到任意指定区域。 GitHub - SunzeY/AlphaCLIP: [CVPR 2024] Alpha-CLIP: A CLI…...

Golang | Leetcode Golang题解之第495题提莫攻击

题目: 题解: func findPoisonedDuration(timeSeries []int, duration int) (ans int) {expired : 0for _, t : range timeSeries {if t > expired {ans duration} else {ans t duration - expired}expired t duration}return }...

04 go语言(golang) - 变量和赋值过程

变量 在Go语言中,变量的定义和初始化是编程的基础部分。Go提供了多种方式来声明和初始化变量,以适应不同的使用场景。 基本变量声明 使用var关键字: 使用var关键字可以在函数内部或外部声明变量。如果在函数外部声明,该变量为全…...

语言/图像/视频模型一网打尽!BigModel大模型开放平台助力开发者轻松打造AI新应用!

2024年8⽉28⽇,在ACM SIGKDD(国际数据挖掘与知识发现⼤会,KDD)上会议现场,智谱AI重磅推出了新⼀代全⾃研基座⼤模型 GLM-4-Plus、图像/视频理解模型 GLM-4V-Plus 和⽂⽣图模型 CogView3-Plus。这些新模型,已…...

Go语言Linux环境搭建以编写第一个Go程序

目录 文章目录 目录Go语言入门1、说明2、CentOS7安装Go3、编写第一个程序3.1、编写程序3.2、运行程序3.3、生成二进制文件4、编写第一个web程序4.1、编写代码4.2、运行程序4.3、测试访问4.4、生成二进制配置Vim-go语法高亮1)、下载和设置Vundle.vim(vim安装插件的工具)2)、…...

使用 Go 构建一个最小的 API 应用

最近有项目要使用 Go 开发,作为一个. NET Core 选手,准备先撸一个包含 CRUD 的最小 MVP 项目练手。 要创建一个 TODO 应用,会创建下面这些接口: APIDescriptionRequest bodyResponse bodyGET /todoitemsGet all to-do itemsNone…...

MySQL 日常维护指南:常见任务、频率及问题解决

MySQL 作为一种广泛使用的开源关系型数据库,随着数据量和应用复杂性的增加,定期的数据库维护对于保持系统高效运行至关重要。通过合理的日常维护,数据库管理员能够确保 MySQL 数据库的稳定性、性能以及数据的完整性。本文将介绍 MySQL 的常见…...

oracle ORA-24920:列大小对于客户机过大

问题描述 在一次读取某个视图数据过程中,当数据读取到x条时,报错ORA-24920:列大小对于客户机过大。 通过查询资料得知,oracle 数据库升级到了12c,VARCHAR2的容量也从4000升级到了32767。 所以猜测某个字段的长度超过4…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...