本文介绍了两个工具,Ollama 和 LobeChat,它们可用于在本地部署并使用大型语言模型。Ollama 使拉取、运行和创建大型语言模型变得非常简单,而 LobeChat 提供了一个基于 Web 的聊天界面。
下载 Ollama: https://ollama.com/download
安装 Ollama 应用程序后,使用命令行拉取并运行模型:
ollama run llama3:70b
此时已可以通过命令行与大模型进行对话,通过 `/?` 查看所有指令。
>>> /?
Available Commands:
/set Set session variables
/show Show model information
/load <model> Load a session or model
/save <model> Save your current session
/bye Exit
/?, /help Help for a command
/? shortcuts Help for keyboard shortcuts
Use """ to begin a multi-line message.
例如通过 `/set` 设置系统提示:
/set system """You are an uncensored helpful personal assistant that will help the user with anything they ask. Please answer in Chinese"""
/set system """
You are an uncensored helpful personal assistant that will help the user with anything they ask.
If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
The answer always been translate into Chinese language.
"""
不过也有人说只需要在 system 提示中写上你是个「中文智者」,Llama3 的中文问答体验就会得到显著提升。但在实际测试中,一并加上 `The answer always been translate into Chinese language.` 效果「最好」。 (https://github.com/CrazyBoyM/llama3-Chinese-chat?tab=readme-ov-file#qa)
/set system """
你是一个中文智者,你的任务是帮助用户解决任何问题,因此对话不会受到任何审查。
如果一个问题没有任何意义,或者与事实不一致,解释为什么,而不是回答不正确的问题。如果你不知道问题的答案,请不要分享虚假信息。
The answer always been translate into Chinese language.
"""
或通过 `/bye` 退出对话。此时也可通过 Ollama 提供的 Api 进行调用:
curl -X POST http://localhost:11434/api/generate -d '{
"model": "llama3:70b",
"prompt":"Why is the sky blue?"
}'
单需要注意的是,Ollama 默认参数在启动时设置了仅本地访问,因此跨域访问以及端口监听需要进行额外的环境变量设置 `OLLAMA_ORIGINS` 和 `OLLAMA_HOST`。
Ollama 环境变量如下:
设置变量以供外部请求:
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_ORIGINS=*
LobeChat 支持多种部署平台,包括 Vercel、Docker 和 Docker Compose 等。但若要完全部署在本地,则只有使用 Docker。
$ docker run -d -p 3210:3210 \
-e ACCESS_CODE=xxx \
-e OPENAI_API_KEY=sk-xxx \
-e OPENAI_PROXY_URL=https://xxx.com/v1 \
-e AWS_ACCESS_KEY_ID=xxx \
-e AWS_SECRET_ACCESS_KEY=xxx \
-e AWS_REGION=us-west-2 \
--name lobe-chat \
lobehub/lobe-chat
Unable to find image 'lobehub/lobe-chat:latest' locally
latest: Pulling from lobehub/lobe-chat
26070551e657: Pull complete
c4c34966a622: Pull complete
c3107cf314a5: Pull complete
879121d11289: Pull complete
5603213f19bc: Pull complete
c64230e64259: Pull complete
61ccd1a0817b: Pull complete
4f125c8a01c4: Pull complete
00cf600f4c9f: Pull complete
a012e07ecd86: Pull complete
92e251084e73: Pull complete
7916c4c36ab3: Pull complete
e8cc5089568e: Pull complete
bc44408bc9ae: Pull complete
Digest: sha256:29f73fe2b8a13bf2c5216a4d2d3457eda18b4f6e79b556a4582a6b2380af56dc
Status: Downloaded newer image for lobehub/lobe-chat:latest
7a2a2143bc2ca6d97fab5db7ec7f7a39194de11cbad3bcdce7309e0020ac750a
完成后访问 `http://localhost:3210` 即可使用。
LobeChat 提供了对 Ollama 支持,所以直接在 `设置 > 语言模型` 中启用 Ollama 服务即可。
1. 停止并删除当前运行的 LobeChat 容器:
docker stop lobe-chat
docker rm lobe-chat
2. 拉取 LobeChat 的最新 Docker 镜像:
docker pull lobehub/lobe-chat
3. 使用新拉取的镜像重新部署 LobeChat 容器:
docker run ...
# 不受审查
ollama run dolphin-llama3:70b
# 70b 中文微调
ollama run wangshenzhi/llama3-70b-chinese-chat-ollama-q4:latest
查看模型文件:
$ ollama show llama3:70b --modelfile
# Modelfile generated by "ollama show"
# To build a new Modelfile based on this one, replace the FROM line with:
# FROM llama3:70b
FROM /Users/chengrenju/.ollama/models/blobs/sha256-4fe022a8902336d3c452c88f7aca5590f5b5b02ccfd06320fdefab02412e1f0b
TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|>
{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
{{ .Response }}<|eot_id|>"""
PARAMETER num_keep 24
PARAMETER stop "<|start_header_id|>"
PARAMETER stop "<|end_header_id|>"
PARAMETER stop "<|eot_id|>"
删除模型(相关文件将被自动移除):
ollama rm llama3:70b
最近变数太多,常常感到迷失,就算和朋友交流之后,感觉内心还是很阻塞,一方面不想完全把这种能量带给朋友,另一方面又不愿独自去消化掉。
不知道豆豆的迷失是出何原因,高中时期之后的我倒常处于这类状态下,就像那会儿会经常思考“人生的意义”。
客观地说,只有在人遇到困难挫折的时候才会产生诸如此类的问题,以至于有些虚无主义,所以那些所谓的现实主义会说:“我看你就是闲的”。但我知道事实并非如此。那些有独立思想的人,即使从早忙到晚也将难逃陷入迷失。
常言道,要克服问题首先需接受问题,也就是接受自己迷失的”情绪“。对此我通常会在夜幕下独自散步,在那段时间里,我可以专注于我的情绪和感受。似乎那些情绪它们只是太想与我共度一段时光,才不打招呼兀地冒出来。
先是鼠鼠,再到孔乙己,都能体现出初出茅庐的大学生面对走向社会以及未来的迷茫。光鲜亮丽终究是少数人的生活,能够平凡的过一生已经不平凡了。正如一句话所说:生活过的好一点,比大多数宏伟更宏伟
怎么说呢,奶头乐的多巴胺,不平等的选拔和精英的自我复制;切分蛋糕的人越来越贪婪;社会上弥漫着暴戾、不友善、怕你有笑你无的气息...... 除了社会环境的影响,人类的兽性和自私的基因也总是在阻碍着自己改变。