当前位置:   article > 正文

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

智谱glm-4如何体验

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

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

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

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

部署使用

先做个部署:

  1. import ray
  2. from byzerllm.utils.client import ByzerLLM
  3. ray.init(address="auto",namespace="default",ignore_reinit_error=True)
  4. llm = ByzerLLM(verbose=True)
  5. llm.setup_num_workers(1).setup_gpus_per_worker(0)
  6. chat_name = "zhipu_chat"
  7. llm.deploy(model_path="",
  8. pretrained_model_type="saas/zhipu",
  9. udf_name=chat_name,
  10. infer_params={
  11. "saas.api_key":"xxxxx",
  12. "saas.model":"glm-4"
  13. })

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

现在我们可以使用了:

  1. v = llm.chat_oai(model=chat_name,conversations=[{
  2. "role":"user",
  3. "content":"你好,你是谁",
  4. }])
  5. print(v[0].output)
  6. # 你好,我是一个人工智能助手,很高兴为您提供帮助。请问有什么问题我可以解答或者协助您解决吗?

也可以用流式接口:

  1. v = llm.stream_chat_oai(model=chat_name,conversations=[{
  2. "role":"user",
  3. "content":"你好,你是谁",
  4. }])
  5. for t in v:
  6. print(t[0],flush=True)
  7. print(t[1].generated_tokens_count,flush=True)

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

  1. import ray
  2. from byzerllm.utils.client import ByzerLLM
  3. ray.init(address="auto",namespace="default",ignore_reinit_error=True)  
  4. llm = ByzerLLM(verbose=True)
  5. llm.setup_num_workers(1).setup_gpus_per_worker(0)
  6. chat_name = "zhipu_emb"
  7. llm.deploy(model_path="",
  8. pretrained_model_type="saas/zhipu",
  9. udf_name=chat_name,
  10. infer_params={
  11. "saas.api_key":"xxxxx",
  12. "saas.model":"embedding-2"
  13. })

然后可以这样得到向量:

  1. llm.emb(model="zhipu_emb",request=LLMRequest(instruction="你好"))
  2. # [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 则一把全过,速度还很快。

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/357971
推荐阅读
相关标签
  

闽ICP备14008679号