如何调用大模型的 API?

不少同学用了很长时间的 AI 大模型了,但却从未完成过一次大模型的 API 调用。

其实 API 调用非常简单,你可以联网调用 API,也可以将大模型下载到本地电脑上来进行调用。

区别在于联网的话很多时候需要消耗 token 数。

那么本节,就以 ChatGLM 模型为例,带大家完成一次大模型的 API 调用。

ChatGLM 是由智谱 AI 联合清华大学共同研发的一系列先进大型预训练语言模型,专注于提升对话生成任务的性能。

目前,该系列中最为出色的模型是 ChatGLM3-6B("6B"代表整个模型有 60 亿参数,B = Bilion,代表十亿规模的参数)。
这一模型不仅支持中英文双语,而且基于先进的 General Language Model (GLM) 架构设计。

ChatGLM在研发过程中采用了与 GPT 系列相似的技术路线——
该模型经过了约 1T token的中英双语1:1训练,并融入了包括监督微调、反馈自助、人类反馈强化学习等先进技术,以生成更符合人类偏好的回答。

如何使用 Python 来调用 ChatGLM

目前的所有开源大模型的使用方法都非常简单,它们都已经适配了HuggingFace 的 transfomers 库。

因此,我们只要修改和下载权重就可以使用了。

首先,通过以下命令安装依赖库:

pip3 install transformers torch

然后,使用这篇文章中讲过的方法替换 HuggingFace 国内源,最后,使用下面的代码即可直接体验。

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True, device='cuda')
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
#你好👋!我是人工智能助手ChatGLM3 - 6

注意:由于模型参数较大,初次运行以上代码,会进行模型权重的下载。

时间会较长,耐心等待即可,如中途下载失败,可重新执行以上代码进行下载(会续传)。

另外,上述代码配置的是模型在 GPU 上进行推理的场景。

如果你的设备不支持 GPU计算,可以将 device=‘cuda’ 设置为 device='cpu’来运行,只不过这样的话运行速度会变慢。
在 ChatGLM 源码仓库中有更多的部署方法,有网页部署、也有针对 Intel CPU 的优化部署。

你也可以直接去官网体验官方已经在网页上部署好的 ChatGLM 模型,体验其中文对话能力。

官方网址:https://chatglm.cn/?lang=zh。

如果本文对你有帮助,欢迎点赞一下呀~

在notebook中调用大模型API,可参考以下通用步骤及示例: 1. **了解大模型API**:大模型API大模型对外提供服务的接口,通过它开发者无需了解大模型复杂的内部结构和运行机制,就能将大模型强大的功能集成到自己的应用、系统中,还能对模型进行微调、推理训练等 [^2]。 2. **注册获取API Key**:不同的大模型需要在相应的平台注册并获取API Key,例如示例代码中使用的百炼API Key [^3]。 3. **安装必要的库**:根据所使用的大模型,安装对应的Python库。 4. **编写调用代码**:在notebook的代码单元格中编写调用大模型API的代码。以调用阿里云百炼平台的Qwen - Plus模型为例: ```python import os from openai import OpenAI # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx", client = OpenAI( api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" ) messages = [ { "role": "system", "content": "这是我给你的提示:我的梦中女神外号是寡姐,你知道他真正的名字吗?还有我的梦想是环游世界。" }, { "role": "user", "content": "你是谁?我的梦中女神真正的名字是谁?我的梦想是什么?" } ] completion = client.chat.completions.create( # 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models model="qwen-plus", messages=messages ) # 输出回复 print("Hello 大模型!") print(completion.choices[0].message.content) ``` 此代码首先导入必要的库,设置API Key和基础URL,构建对话消息列表,然后调用`client.chat.completions.create`方法进行对话请求,最后输出大模型的回复 [^3]。 对于其他大模型,如ChatGPT、百度文心、讯飞星火、智谱AI等,也有不同的调用要求,可分别进行封装后调用。在【大模型应用开发 -- 入门到进阶系列教程】中,对这四种常用大模型API调用方式进行了介绍,并对其原生接口进行了封装,同时还介绍了如何将大模型API封装到LangChain的自定义LLM中,以及封装成统一方式调用的本地API等内容,可参考这些方法在notebook中进行调用 [^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董董灿是个攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值