Byzer-LLM 快速体验智谱 GLM-4

文章介绍了Byzer-LLM的新版本,特别是针对GLM-4的部署教程,包括注册账号、获取APIKey,以及使用两种接口进行模型部署和对话。文章还讨论了Byzer-LLM的功能实现及其在不同模型上的测试结果。
摘要由CSDN通过智能技术生成

Byzer-LLM 可以让用户用一套接口就可以部署和使用市面上主流的开源和SaaS版本大模型, 之前以Qwen 写过一篇,可以看这里:Byzer-LLM 支持同时开源和SaaS版通义千问

今天我们升级了一个 0.1.37 版本,这个版本是专门针对 GLM-4 而发布的。今天我们来看看如何快速体验下 GLM-4。

首先,你去官网注册一个账号,然后申请一个 API Key。这个类似于 OpenAPI 的Key。

现在,可以开始我们的使用旅程了。

部署使用

先做个部署:

import ray


from byzerllm.utils.client import ByzerLLM


ray.init(address="auto",namespace="default",ignore_reinit_error=True)  


llm = ByzerLLM(verbose=True)


llm.setup_num_workers(1).setup_gpus_per_worker(0)


chat_name = "zhipu_chat"
llm.deploy(model_path="",
           pretrained_model_type="saas/zhipu",
           udf_name=chat_name,
           infer_params={
            "saas.api_key":"xxxxx",            
            "saas.model":"glm-4"
           })

部署的时候实际上就两个参数,第一个是 api_key, 第二个是选择模型。

现在我们可以使用了:

v = llm.chat_oai(model=chat_name,conversations=[{
    "role":"user",
    "content":"你好,你是谁",
}])


print(v[0].output)
# 你好,我是一个人工智能助手,很高兴为您提供帮助。请问有什么问题我可以解答或者协助您解决吗?

也可以用流式接口:

v = llm.stream_chat_oai(model=chat_name,conversations=[{
    "role":"user",
    "content":"你好,你是谁",
}])


for t in v:
    print(t[0],flush=True) 
    print(t[1].generated_tokens_count,flush=True)

你也可以选择使用 Zhipu的 embedding 模型:

import ray
from byzerllm.utils.client import ByzerLLM
ray.init(address="auto",namespace="default",ignore_reinit_error=True)  


llm = ByzerLLM(verbose=True)


llm.setup_num_workers(1).setup_gpus_per_worker(0)


chat_name = "zhipu_emb"


llm.deploy(model_path="",
           pretrained_model_type="saas/zhipu",
           udf_name=chat_name,
           infer_params={
            "saas.api_key":"xxxxx",            
            "saas.model":"embedding-2"
           })

然后可以这样得到向量:

llm.emb(model="zhipu_emb",request=LLMRequest(instruction="你好"))
# [LLMResponse(output=[-0.02675454691052437, 0.019060475751757622, 0.006672845687717199, -0.023301372304558754, 0.0015068714274093509

能力到底怎么样

Byzer-LLM 其实有一套实现功能,不依赖于底层大模型原生的实现。这套功能分别是:

  1. Function Calling

  2. Respond With Class

  3. Funciton Impl

第一个大家比较熟悉,2,3 可能会略微生疏些,可以参考两:

给开源大模型带来Function Calling、 Respond With Class

函数实现越通用越好?来看看 Byzer-LLM 的 Function Implementation 带来的编程思想大变化

这几个能力,其实很吃大模型的基础能力,一般开源模型都过不了,目前我的实现只有Qwen 72B以及 DeepSeek 67B 全过了。

好了,大概有概念之后,我们看看 GLM-4 的的测试结果。 

Byzer-LLM 为了实现上面的能力,其实有两套实现:

  1.   基于Prompt 改写

  2.   基于 System Message + Prompt 改写

基于 Prompt 改写的,我测试了 Qwen, Baichuan, GLM-4, 他们都过了。Qwen我做了特殊优化,所以算是有点小作弊。

而第二个难度其实会高很多,QWen 我用了 max 版本过了,但是运行速度较慢, Baichuan 只有 Function Calling 过了, GLM-4 则一把全过,速度还很快。

所以给我的感觉还是非常惊艳的。期待大家更多更深入的评测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值