当前位置: 首页 > 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 参数,但不要同时调整两个参数

http://www.xdnf.cn/news/206983.html

相关文章:

  • Java练习6
  • Linux 内核中 TCP 协议的支撑解析
  • 云蝠智能大模型智能呼叫:赋能零售行业服务,助力客户增长
  • 基于PyTorch的Fashion-MNIST图像分类数据集处理与可视化
  • Tauri(2.5.1)+Leptos(0.7.8)开发桌面应用---后台调用Python Matplotlib绘制图形
  • 【计算机架构】CISC(复杂指令集计算机)架构
  • 移远通信LG69T赋能零跑B10:高精度定位护航,共赴汽车智联未来
  • flink cdc 配置
  • 1.5 城镇道路工程安全质量控制
  • Go 1.25为什么要废除核心类型
  • Educational Codeforces Round 178 div2(题解ABCDE)
  • 简化excel校验提高开发效率
  • 精益数据分析(31/126):电商关键指标深度解析与实战策略
  • 51LA使用方法与悟空统计,网站数据分析的双重选择
  • Twitter 工作原理|架构解析|社交APP逻辑
  • 微信小程序封装选择年月日时分秒组件
  • “兴火·燎原”总冠军诞生,云宏信息《金融高算力轻量云平台》登顶
  • uni-app 中封装全局音频播放器
  • 无人机航拍牛只检测数据集VOC+YOLO格式906张1类别
  • Codigger Desktop:重新定义数字工作与生活方式
  • 8.idea创建maven项目(使用Log4j日志记录框架+Log4j 介绍)
  • 如何解决 Xcode 签名证书和 Provisioning Profile 过期问题
  • Linux系统基础:基础指令简介(网络概念部分)
  • AtCoder Beginner Contest 403(题解ABCDEF)
  • PLOT: PROMPT LEARNING WITH OPTIMAL TRANSPORT FOR VISION -LANGUAGE MODELS
  • Vue使用Sortablejs拖拽排序 视图显示与数据不一致、拖拽结束后回跳问题
  • 4.27搭建用户界面
  • PostgreSQL数据库批量删除唯一索引
  • 【AI】OrinNX上安装RIVA-2.19.0,实现文本转语音
  • Spring Boot 集成 ActiveMQ 实现异步消息通信(二)