【ChatGLM4系列】入门介绍以及API调用

【ChatGLM4系列】入门介绍以及API调用


GLM 全名 General Language Model ,是一款基于自回归填空的预训练语言模型。

北京时间2024年1月16日,智谱AI正式推出GLM-4新一代基座大模型,整体性能相比GLM3全面提升60%,根据实际测试,GLM-4在以中文为主的应用场景中实际性能逼近GPT-4的95%,在一些中文对齐的测试中,甚至超过GPT-4表现,逼近GPT-4-turbo模型。 此外,GLM-4支持128K对话上下文,并且支持更强的多模态功能、支持更快推理速度,更多并发,大大降低推理成本;同时GLM-4增强了智能体(Agent)和Retrieval(检索)功能。并且,经过一段时间的实际使用发现,GLM-4相比ChatGLM3有明显进步,这也进一步增加了我们对国产大模型未来发展的期待。

在这里插入图片描述

以下是一些关键概念的介绍

  • 1、GLM: GLM 全名 General Language Model ,是一款基于自回归填空的预训练语言模型。ChatGLM系列模型,支持相对复杂的自然语言指令,并且能够解决困难的推理类问题。该模型配备了易于使用的 API 接口,允许开发者轻松将其融入各类应用,广泛应用于智能客服、虚拟主播、聊天机器人等诸多领域。
  • 2、Embedding: Embedding 是一种将数据(如文本)转化为向量形式的表示方法,这种表示方式确保了在某些特定方面相似的数据在向量空间中彼此接近,而与之不相关的数据则相距较远。通过将文本字符串转换为向量,使得数据能够有效用于搜索、聚类、推荐系统、异常检测和分类等应用场景。
  • 3、Token: Token 是模型用来表示自然语言文本的基本单位,可以直观的理解为“字”或“词”;通常 1 个中文词语、1 个英文单词、1 个数字或 1 个符号计为 1 个token。一般情况下 ChatGLM 系列模型中 token 和字数的换算比例约为 1:1.8 ,但因为不同模型的分词不同,所以换算比例也存在差异,每一次实际处理 token 数量以模型返回为准,您可以从返回结果的 usage 中查看。

以下为从官方文档中截取的部分适用场景:

在这里插入图片描述

语言模型:
在这里插入图片描述

多模态模型:

在这里插入图片描述

向量模型:
在这里插入图片描述

其他模型:
在这里插入图片描述



输出:

content=‘“激活想象,智谱AI平台,让每一刻都是创新的起点!”’ role=‘assistant’ tool_calls=None

常用参数:

  • model:要调用的模型名称
  • messages,对话消息列表,以JSON数组形式提供。
  • stream:是否为流式输出
  • max_tokens: 模型输出的最大token数。
  • tools:模型可以调用的工具,目前支持的工具类型为(function、retrival、web_search)。

参数列表如下:智谱 AI GLM 教程
在这里插入图片描述
在这里插入图片描述

异步调用: 除了调用的函数不同,请求参数与同步API调用是相同的。



通用搜索:网络搜索功能默认为关闭状态(False)。当启用搜索(设置为 True)时,系统会自动判断是否需要进行网络检索,并调用搜索引擎获取相关信息。

  • search_query : 可以使用 search_query 参数可以自定义搜索内容,提升搜索结果的相关性和精确度。 如果不传 search_query 参数,系统将根据用户的消息自动进行网页检索。
  • content: 可以在用户的问题中加网页,以指定搜索某个网页
  • search_result : 启用 search_result 参数允许用户获取详细的网页搜索来源信息,包括来源网站的图标、标题、链接、来源名称以及引用的文本内容。

输出:

content=‘根据您提供的参考信息,中国2024年一季度的GDP为亿元人民币。这个数据是根据国家统计局的初步核算,按不变价格计算得出的同比增长率5.3%。’ role=‘assistant’ tool_calls=None

Tools字段传入可以调用的函数列表:
在这里插入图片描述
备注:

  • 传参错误:可以添加提示词例如——不要假设或猜测传入函数的参数值。如果用户的描述不明确,请要求用户提供必要信息
  • tool_choice : 强制模型使用特定函数

输出: 根据以下输出,我们可以看到模型成功调用了函数,并且传入了参数。

content=None role=‘assistant’ tool_calls=[CompletionMessageToolCall(id=‘call_’, function=Function(arguments=‘{“date”:“2024-01-20”,“departure”:“北京”,“destination”:“上海”}’, name=‘get_flight_number’), type=‘function’)]

函数实现:



  • 构建知识库: 用于管理文件,支持上传多个文件,并通过关联知识库ID后进行调用。知识库最大容量为1G、调用方式请参考接口文档。

  • 上传文件: 支持将doc、docx、pdf、xlsx类型文件上传到知识库,支持自定义文件切片的大小和规则。文件大小不得超过50MB。

  • 通过工具调用知识库: 创建知识库后,您将获得一个知识库ID。调用模型服务时,传入知识库ID,使大模型能获取相关内容以响应用户查询。

单文件问答示例:


多文件问答示例


删除文件: 每个用户最多可以上传100个文件,建议在提取数据后删除文件,并将文件抽取内容存储到本地,避免重复上传。


参考文章:

  • 智谱AI官方文档

想上天🐟

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:Ai探索者,转载请注明出处:https://javaforall.net/270911.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月12日 下午2:33
下一篇 2026年3月12日 下午2:33


相关推荐

关注全栈程序员社区公众号