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

【动手学大模型开发】使用 LLM API:智谱 GLM

🌈 嗨,我是青松,很高兴遇到你!

🌟 希望用我的经验,让每个人的AI学习之路走的更容易些~

🔥 专栏:大模型(LLMs)高频面题全面整理(★2025最新版★)| 动手学大模型开发


目录

4.1 API 申请指引

4.2 调用智谱 GLM API


智谱 AI 是由清华大学计算机系技术成果转化而来的公司,致力于打造新一代认知智能通用模型。公司合作研发了双语千亿级超大规模预训练模型 GLM-130B,并构建了高精度通用知识图谱,形成数据与知识双轮驱动的认知引擎,基于此模型打造了 ChatGLM(chatglm.cn)。

ChatGLM 系列模型,包括 ChatGLM-130B、ChatGLM-6B 和 ChatGLM2-6B(ChatGLM-6B 的升级版本)模型,支持相对复杂的自然语言指令,并且能够解决困难的推理类问题。其中,ChatGLM-6B 模型来自 Huggingface 上的下载量已经超过 300w(截至 2023 年 6 月 24 日统计数据),该模型在 Hugging Face (HF) 全球大模型下载榜中连续 12 天位居第一名,在国内外的开源社区中产生了较大的影响。

4.1 API 申请指引

首先进入到 智谱AI开放平台,点击开始使用或者开发工作台进行注册:

新注册的用户可以免费领取有效期 1 个月的 100w token 的体验包,进行个人实名认证后,还可以额外领取 400w token 体验包。智谱 AI 提供了 GLM-4 和 GLM-3-Turbo 这两种不同模型的体验入口,可以点击立即体验按钮直接体验。

智谱 AI 控制台

对于需要使用 API key 来搭建应用的话,需要点击右侧的查看 API key按钮,就会进入到我们个人的 API 管理列表中。在该界面,就可以看到我们获取到的 API 所对应的应用名字和 API key 了。

智谱 AI api 管理

我们可以点击 添加新的 API key 并输入对应的名字即可生成新的 API key。

4.2 调用智谱 GLM API

智谱 AI 提供了 SDK 和原生 HTTP 来实现模型 API 的调用,建议使用 SDK 进行调用以获得更好的编程体验。

首先我们需要配置密钥信息,将前面获取到的 API key 设置到 .env 文件中的 ZHIPUAI_API_KEY 参数,然后运行以下代码加载配置信息。

import osfrom dotenv import load_dotenv, find_dotenv# 读取本地/项目的环境变量。# find_dotenv() 寻找并定位 .env 文件的路径
# load_dotenv() 读取该 .env 文件,并将其中的环境变量加载到当前的运行环境中  
# 如果你设置的是全局的环境变量,这行代码则没有任何作用。
_ = load_dotenv(find_dotenv())Copy to clipboardErrorCopied

智谱的调用传参和其他类似,也需要传入一个 messages 列表,列表中包括 role 和 prompt。我们封装如下的 get_completion 函数,供后续使用。

from zhipuai import ZhipuAIclient = ZhipuAI(api_key=os.environ["ZHIPUAI_API_KEY"]
)def gen_glm_params(prompt):'''构造 GLM 模型请求参数 messages请求参数:prompt: 对应的用户提示词'''messages = [{"role": "user", "content": prompt}]return messagesdef get_completion(prompt, model="glm-4", temperature=0.95):'''获取 GLM 模型调用结果请求参数:prompt: 对应的提示词model: 调用的模型,默认为 glm-4,也可以按需选择 glm-3-turbo 等其他模型temperature: 模型输出的温度系数,控制输出的随机程度,取值范围是 0~1.0,且不能设置为 0。温度系数越低,输出内容越一致。'''messages = gen_glm_params(prompt)response = client.chat.completions.create(model=model,messages=messages,temperature=temperature)if len(response.choices) > 0:return response.choices[0].message.contentreturn "generate answer error"Copy to clipboardErrorCopied
get_completion("你好")Copy to clipboardErrorCopied
'你好!有什么可以帮助你的吗?如果有任何问题或需要咨询的事情,请随时告诉我。'

这里对传入 zhipuai 的参数进行简单介绍:

  • messages (list),调用对话模型时,将当前对话信息列表作为提示输入给模型;按照 {"role": "user", "content": "你好"} 的键值对形式进行传参;总长度超过模型最长输入限制后会自动截断,需按时间由旧到新排序

  • temperature (float),采样温度,控制输出的随机性,必须为正数取值范围是:(0.0, 1.0),不能等于 0,默认值为 0.95。值越大,会使输出更随机,更具创造性;值越小,输出会更加稳定或确定

  • top_p (float),用温度取样的另一种方法,称为核取样。取值范围是:(0.0, 1.0) 开区间,不能等于 0 或 1,默认值为 0.7。模型考虑具有 top_p 概率质量 tokens 的结果。例如:0.1 意味着模型解码器只考虑从前 10% 的概率的候选集中取 tokens

  • request_id (string),由用户端传参,需保证唯一性;用于区分每次请求的唯一标识,用户端不传时平台会默认生成

  • 建议您根据应用场景调整 top_p 或 temperature 参数,但不要同时调整两个参数

相关文章:

  • Python中的defaultdict方法
  • 信息过载(Information Overload):太多的信息导致了信息处理能力的饱和
  • JVM | CMS垃圾收集器详解
  • 基于tabula对pdf中的excel进行识别并转换成word(三)
  • FlexNoC-Latency
  • 进程自动守护,监控并自动重启
  • 完整的 SSL 证书生成与 Spring Boot 配置流程
  • MySQL下载与安装
  • 无人设备遥控器之移动手持定位系统篇
  • qtfaststart使用教程(moov置前)
  • MLOps全链路能力:模型监控、版本回滚与持续训练
  • 2025年- H13-Lc120-189.轮转数组(普通数组)---java版
  • MinIO中mc工具的安装、配置、简单使用
  • AI驱动软件工程:SoftEngine 方法论与 Lynx 平台实践分析
  • AI防摔倒检测系统
  • 华帝股份携手体验家,构建厨电终端服务体验管理闭环
  • HRScene:首个覆盖多场景高分辨率图像理解的综合性基准数据集
  • (01)Redis 的订阅发布Pub/Sub
  • 2025年高级Java后端面试题:最新技术体系深度解析
  • Promtail+Loki+Grafana监控日志
  • 软硬件企业集中发布未成年人模式使用手册
  • 年轻人的事业!6家上海人工智能企业畅想“模范生”新征程
  • 五月院线片单:就看五一档表现了
  • 日趋活跃!2024年我国数据生产总量同比增长25%
  • 来伊份一季度净利减少近八成,今年集中精力帮助加盟商成功
  • A股三大股指收跌:地产股领跌,银行股再度走强