Byzer-LLM 快速体验智谱 GLM-4
AI魔法学院
2024-04-07
分享海报

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 rayfrom byzerllm.utils.client import ByzerLLMray.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 则一把全过,速度还很快。

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

 

 

出自:https://mp.weixin.qq.com/s/Zhzn_C9-dKP4Nq49h8yUxw


© THE END

转载请联系本网站获得授权

投稿或版权问题请加微信:skillupvip