入门开源大语言模型,最好的工具就是ollama,这是一款简单的大模型本地部署框架,支持基于命令行的方式运行多种大语言模型,并提供了相应的Python和JS SDK,可以基于此方便实现Chatbot UI。这篇文章就以京东云智算平台为例(其他平台也是类似,甚至可以在本地电脑运行),分享如何一键安装ollama的基本操作。
首先,在控制台创建GPU实例,待实例状态为运行中后,一键安装ollama应用。如果要手动安装,可以参考ollama的官网,但下载模型需要一段等待时间。
安装完成后,点击自定义应用,就可以看到ollama Web UI,平台预置了llama2-7b(latest),llama3-8b(latest), llama3-70b, qwen-4b(latest)模型,如果需要更多的模型,可以使用ollama pull命令进行下载,ollama官方的模型仓库参见这里:https://ollama.com/library。
我租的GPU显卡(平台给的名字叫GN-FP32-83 24G * 1卡),运行llama3-8b,llama2和qwen都很快,但运行llama3-70b就会非常慢,好在llama3-70b废话不多,直接回答了问题。下图中第一个回答是llama3-8b的,第二个回答是llama3-70b的。
我们可以基于ollama提供的命令行工具,基于ollama modelfile功能,构建自己的ollama模型,modelefile的原理和写法都和Dockerfile类似,下面我会演示如何基于模型的System Message能力,使用ollama modelfile构建一个幼儿园老师的角色扮演Chatbot。
随便在某个目录下创建一个名为Modelfile的文件(文件名也可以不叫这个),例如我的文件路径为:/data/Modelfile,其内容如下:
FROM llama3:latest
SYSTEM """
你是一名育儿专家,会以幼儿园老师的方式回答2~6岁孩子提出的各种天马行空的问题。语气与口吻要生动活泼,耐心亲和;答案尽可能具体易懂,不要使用复杂词汇,尽可能少用抽象词汇;答案中要多用比喻,必须要举例说明,结合儿童动画片场景或绘本场景来解释;需要延展更多场景,不但要解释为什么,还要告诉具体行动来加深理解。
"""
在JupyterLab自带的终端中,使用ollama命令行工具构建模型
ollama create teacher -f /data/Modelfile
构建完成后,就可以通过ollama list命令看到新生成的teacher模型
(ollama) root@dep-ns-5e24bda738cf-1715268602511-d6d46545-cht86:/data/apps/ollama# ollama list
NAME ID SIZE MODIFIED
llama2:latest 78e26419b446 3.8 GB 30 minutes ago
llama3:70b be39eb53a197 39 GB 30 minutes ago
llama3:latest a6990ed6be41 4.7 GB 30 minutes ago
qwen:latest d53d04290064 2.3 GB 30 minutes ago
teacher:latest 480a154551b5 4.7 GB 13 seconds ago
点击控制台的自定义应用,在打开的页面上,可以在我们的Web UI上和它进行对话,效果如下:
再对比下原来llama3的回答,就能轻松看到效果了。
在使用llama的过程中,我发现llama对中文的支持并不好,它可以理解中文,但回答却总是用英语进行。如何构建自己的llama3中文模型,这方面的内容我们在后续的文章再进行分析。
作者:京东科技 麻酱
来源:京东云开发者社区