当前位置:   article > 正文

Byzer-LLM 快速使用指南_byzer-llm 安装

byzer-llm 安装

安装

参考文档:https://byzer.csdn.net/657160c976f0791b6eca8719.html

注意,即使你已经有安装过大模型相关的环境,建议你依然使用裸机全自动化部署, Byzer LLM 会创新一个 byzerllm 用户,该用户的环境变量和配置文件都是独立的,不会影响到你的其他环境。

一旦安装好环境之后,就可以通过 http://127.0.0.1:9002 访问 Byzer Notebook 了。

使用

1. 下载模型

这里推荐根据资源情况,你可以选择不同大小的模型。假设你下载了 OpenBuddy 社区的 llama7b : https://huggingface.co/OpenBuddy/openbuddy-llama-7b-v4-fp16 ,你可以将其放入:

/home/byzerllm/models/openbuddy-llama-7b-v4-fp16

2. 启动模型

新建一个 Notebook, 在第一个cell里填入如下代码:

  1. !byzerllm setup single;
  2. !byzerllm setup "num_gpus=1";
  3. !byzerllm setup "maxConcurrency=1";
  4. run command as LLM.`` where
  5. action="infer"
  6. and pretrainedModelType="llama"
  7. and localModelDir="/home/byzerllm/models/openbuddy-llama-7b-v4-fp16"
  8. and reconnect="false"
  9. and udfName="llama_7b_chat"
  10. and modelTable="command";

你可以参考这篇文章访问 Ray Dashboard, 从而在 Web 界面上查看日志等。

https://docs.byzer.org/#/byzer-lang/zh-cn/byzer-llm/ray

和大模型对话

执行完成上面的代码后,你就可以在第二个cell里输入你的对话了。

  1. --%chat
  2. --%model=llama_7b_chat
  3. --%system_msg=You are a helpful assistant. Think it over and answer the user question correctly.
  4. --%user_role=User
  5. --%assistant_role=Assistant
  6. --%output=q1
  7. 你好,请记住我的名字,我叫祝威廉。如果记住了,请说记住。

接着你试试他记住了不:

  1. --%chat
  2. --%model=llama_7b_chat
  3. --%user_role=User
  4. --%assistant_role=Assistant
  5. --%input=q1
  6. --%output=q2
  7. 请问我叫什么名字?

3. 通过SQL调用大模型

你也可以通过SQL来调用:

  1. select
  2. llama_7b_chat(llm_param(map(
  3. "user_role","User",
  4. "assistant_role","Assistant",
  5. "system_msg",'You are a helpful assistant. Think it over and answer the user question correctly.',
  6. "instruction",llm_prompt('
  7. 你好,请记住我的名字:{0}
  8. ',array("祝威廉"))
  9. )))
  10. as q as q1;

继续追问:

  1. select
  2. llama_7b_chat(llm_stack(q,llm_param(map(
  3. "user_role","User",
  4. "assistant_role","Assistant",
  5. "instruction",'请问我是谁?'
  6. ))))
  7. as q from q1
  8. as q2;

4. 通过Python调用大模型

  1. #%python
  2. #%input=command
  3. #%output=output
  4. #%schema=st(field(content,string))
  5. #%runIn=driver
  6. #%dataMode=model
  7. #%cache=false
  8. #%env=:
  9. from pyjava import RayContext
  10. import requests
  11. from typing import List, Tuple
  12. import json
  13. ray_context = RayContext.connect(globals(),None)
  14. def request(sql:str,json_data:str)->str:
  15. url = "http://127.0.0.1:9003/model/predict"
  16. data = {
  17. "sessionPerUser": "true",
  18. "sessionPerRequest": "true",
  19. "owner": "william",
  20. "dataType": "string",
  21. "sql": sql,
  22. "data": json_data
  23. }
  24. response = requests.post(url, data=data)
  25. if response.status_code != 200:
  26. raise Exception(response.text)
  27. return response.text
  28. def chat(s:str,history:List[Tuple[str,str]])->str:
  29. newhis = [{"query":item[0],"response":item[1]} for item in history]
  30. json_data = json.dumps([
  31. {"instruction":s,"history":newhis}
  32. ])
  33. response = request("select llama_7b_chat(array(feature)) as value",json_data)
  34. t = json.loads(response)
  35. t2 = json.loads(t[0]["value"][0])
  36. return t2[0]["predict"]
  37. ray_context.build_result([{"content":chat("You are a helpful assistant. Think it over and answer the user question correctly. User:你好\nAssistant:",[])}])

5. 对大模型做微调

可以参考这篇文章:https://docs.byzer.org/#/byzer-lang/zh-cn/byzer-llm/model-sft

6. 对大模型做二次预训练

可以参考这篇文章:https://docs.byzer.org/#/byzer-lang/zh-cn/byzer-llm/model-sfft

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

闽ICP备14008679号