1 引言
本文将介绍 ollama+llama3 的最基本的安装和使用方法。只要你的 GPU 和 Docker 环境可用,基本上只需不超过五行的命令就能完成(实际上可能只需要一行)。使用 ollama 安装 llama3 比预期中要方便得多。
项目地址:https://github.com/ollama/ollama 65.5K Star
2 Docker 安装
PLAINTEXT
1 | $ docker pull ollama/ollama |
镜像大小约 438M,不包含 Python&Torch 环境,所以很省空间。
1 2 3 | $ docker run --rm -d -e OLLAMA_ORIGINS="app://obsidian.md*" --gpus=all -v /exports/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama $ docker exec -it ollama bash $ ollama run llama3 |
在初次使用时,会下载模型,大约需要 4.7G 的存储空间,这可能是量化版本。下载完成后,就可以直接与其对话了:
在使用过程中,显存的使用量大约为 5.4G。
此外需要注意的是,docker 启动了一个 web 界面供用户进行设置。默认情况下,只有在本地主机 localhost 的浏览器中才能打开。
2.1 使用 api 访问
使用类似 openai 方式调用在命令行调用 ollama
SHELL
1 2 3 4 5 6 7 | curl http://localhost:11434/v1/chat/completions -d '{ "model": "llama3", "messages": [ { "role": "user", "content": "你好,请用中文回答我" } ], "stream": false }' |
直接使用 openai 的 api 调用 ollama:
PYTHON
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | from openai import OpenAI client = OpenAI( base_url = 'http://localhost:11434/v1', # 默认只仅本机访问 api_key='ollama', ) response = client.chat.completions.create( model="llama3", messages=[ {"role": "user", "content": "你好,请用中文与我交谈"} ] ) print(response.choices[0].message.content) |
3 用后感
(个人感觉,仅供参考)
- 默认情况下,该系统会提供英文回答。即使明确指定中文回答,偶尔也会蹦出几个英文单词。在用模型翻译工作时,也存在这样的问题。
- 运行时约占用 5.4G 显存,其推理速度与当前的 ChatGPT-3.5 网页版本基本相当,几乎不会感到明显的延迟。
- Llama3 的风格和价值观与 ChatGPT 相似,但略显啰嗦。我个人感觉这可能与训练语料过多有关:似乎有很多信息,但没有形成自己的想法,从这个角度看 OpenAI 效果更好。
- 我觉得目前的开源模型中,4.7G 的模型(可能是 8G 的量化版本)真的有可能替代 ChatGPT,在内容质量,响应速度,资源占用方面都能接受。但可能由于该模型过小,对指令的遵从能力略差,给人的感觉略有点不靠谱。