【常见大模型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 time



class 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_key
        self.index = model_index


    def 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 time



class 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_key
        self.index = model_index

    def 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秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值