本文介绍了Byzer-LLM,一个可以部署和使用市面上主流开源和SaaS版本大模型的工具。文章重点介绍了如何快速体验GLM-4模型,包括注册账号、申请API Key、部署使用等步骤。此外,文章还提到了Byzer-LLM的一些独特功能,如Function Calling、RespondWith Class和Funciton Impl,以及两套实现方式:基于Prompt改写和基于SystemMessage+Prompt改写。最后,文章对GLM-4的测试结果进行了评价,认为其表现惊艳。
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
本文档由网友提供,仅限参考学习,如有不妥或产生版权问题,请联系我们及时删除。
客服请加微信:skillupvip