【最后203篇系列】006 -使用ollama运行deepseek-r1前后端搭建
说明
这块已经不算新内容了,年前搭完了后端(ollama),本来想早点分享的,但是当时的openwebui有点不给力,有些地方不适配,然后配置项找不到。所以前端没搭好,也就不完整:只能通过命令行或者接口调用,可用性、体验感不强。
今天看到别的文章推荐了chatbox,试了一下还是挺方便的,所以就顺带补完。
内容
1 ollama
如果是电脑端,那么直接登录ollama的官网下载最新版就好了。老版本的是不能用的。
我用docker部署,那么也需要拉最新的ollama镜像,否则可以pull,但是运行时会报错。
启动命令类似这样
docker run -d --gpus=all \
-v /data/ollama:/root/.ollama \
-p 11434:11434 \
-e OLLAMA_MODELS=/data/ollama/models \
--name ollama \
ollama/ollama
检查版本
curl http://localhost:11434/api/version
{"version":"0.5.7-0-ga420a45-dirty"}
ollama可以与其他多种工具紧密结合,与langchain
from langchain_ollama import OllamaLLM
from langchain_core.prompts import ChatPromptTemplate
# ollama pull deepseek-r1:1.5b
# ollama pull deepseek-r1:8b
# 初始化远端 Ollama 模型
llm = OllamaLLM(
model="deepseek-r1:1.5b",
base_url="http://IP:11434" # 替换为远端服务器的 IP 或域名
)
# 调用模型
response = llm.invoke("langsmith可以帮助测试做什么?")
print(response)
# 使用 ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个世界顶级的文档写手"),
("user", "{input}")
])
使用openai风格
from openai import OpenAI
# 初始化 OpenAI 客户端,指向远端 Ollama 服务
client = OpenAI(
base_url="http://IP:11434/v1", # 替换为远端服务器的 IP 或域名
api_key="ollama", # 必填项,但会被忽略
)
# 调用模型
response = client.chat.completions.create(
model="deepseek-r1:8b", # 替换为你下载的模型名称
messages=[
{"role": "system", "content": "你是一个世界顶级的文档写手。"},
{"role": "user", "content": "请用中文描述字节跳动有限公司。"}
]
)
# 输出结果
print(response.choices[0].message.content)
2 chatbox
https://chatboxai.app/zh
chatbox是一款app,直接在商店里下载安装就好了。
里面还很贴心的给了ollama的配置教程
总结有三点:
- 1 选择ollama
- 2 选择地址(这里我的是远端地址,也可以在本运行)
- 3 选择模型(8b的速度其实非常快了)
使用:感觉非常迅速,毫无迟滞感(4090 backup)。而且我记得ollama似乎是允许4个并发的。