【deepseek-r1模型】linux部署deepseek
- 开源代码
- 2025-08-26 10:51:02

1、快速安装
Ollama 下载:Download Ollama on macOS
Ollama 官方主页: ollama
Ollama 官方 GitHub 源代码仓库: github /ollama/ollama/
官网提供了一条命令行快速安装的方法。
(1)下载Ollamacurl -fsSL ollama /install.sh | sh
此命令将自动下载最新版本的 Ollama 并完成安装,以下是 Ollama 使用常见的指令:
ollama serve #启动ollama ollama create #从模型文件创建模型 ollama show #显示模型信息 ollama run #运行模型 ollama pull #从注册表中拉取模型 ollama push #将模型推送到注册表 ollama list #列出模型 ollama cp #复制模型 ollama rm #删除模型 ollama help #获取有关任何命令的帮助信息 验证安装完成,在 Exec 处输入:ollama -h
输出如下:即表示安装成功🎉
(2)开启并使用 Ollama1).在Service中增加下面两行
vi /etc/systemd/system/ollama.service
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
2).首先,在终端中开启 Ollama,并在后台挂起(这里有可能有问题,启动的时候是127.0.0.1监听的)
ollama serve
(3)下载大模型然后下载大模型选择Models 选择一个模型 我这里选择的是deepseek-r1
执行命令以下是成功的结果
(4)以下是常用的指令1.运行指定大模型指令
ollama run deepseek-r1:7b
2.停止ollama服务
systemctl stop ollama
3.指令启动方式(这个是解决ollama serve启动时ip监听错误的指令)
OLLAMA_HOST=0.0.0.0:11434 /usr/local/bin/ollama serve
这是错误的监听界面
这是正确的监听界面
2. Ollama接口概览Ollama 提供了以下主要接口:
(1) 生成文本 URL: POST /api/generate功能: 向模型发送提示(prompt),生成文本。请求体:
{ "prompt": "你的提示文本", "max_tokens": 50, // 可选,生成的最大 token 数量 "temperature": 0.7, // 可选,控制生成文本的随机性 "top_p": 0.9, // 可选,控制生成文本的多样性 "stop": ["\n", "。"] // 可选,生成停止的标记 }响应体:
{ "response": "模型生成的文本", "tokens_used": 50 // 使用的 token 数量 } (2) 对话模式 URL: POST /api/chat功能: 与模型进行多轮对话。请求体:
{ "messages": [ {"role": "user", "content": "你好!"}, {"role": "assistant", "content": "你好,有什么可以帮助你的?"} ], "max_tokens": 100, // 可选,生成的最大 token 数量 "temperature": 0.7 // 可选,控制生成文本的随机性 }响应体:
{ "response": "模型生成的回复", "tokens_used": 100 // 使用的 token 数量 } (3) 获取模型信息 URL: GET /api/model功能: 获取当前加载的模型信息。响应体:
{ "model_name": "deepseek-r1:7b", "model_size": "7B", } (4) 重新加载模型 URL: POST /api/reload功能: 重新加载模型。请求体:
{ "model": "deepseek-r1:7b" // 可选,指定重新加载的模型 }响应体:
{ "status": "success", "message": "Model reloaded successfully" } (5) 停止服务 URL: POST /api/stop功能: 停止 Ollama 服务。响应体:
{ "status": "success", "message": "Service stopped successfully" } 3. 参数说明参数名
类型
说明
prompt
string
生成文本的提示。
messages
array
对话模式中的消息列表,每条消息包含 role
(user/assistant)和 content
。
max_tokens
integer
生成的最大 token 数量。
temperature
float
控制生成文本的随机性,值越高越随机。
top_p
float
控制生成文本的多样性,值越高越多样。
stop
array
生成停止的标记列表。
4. 错误响应
如果请求失败,Ollama 会返回以下格式的错误信息:
{ "error": "错误描述", "code": 400 // 错误码 }常见错误码:
400: 请求参数错误。404: 接口不存在。500: 服务器内部错误。5. 注意事项 确保 Ollama 服务已正确启动,并且模型 deepseek-r1:7b 已加载。如果服务监听在 127.0.0.1,外部无法访问,请修改为 0.0.0.0。如果需要更高的性能,可以调整模型的参数(如 max_tokens 和 temperature)。 6. Java调用demo public static void main(String[] args) { try (CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost post = new HttpPost("http://你的ip:11434/api/generate"); // 注意Ollama的API参数格式 String json = "{" + "\"model\": \"deepseek-r1:7b\"," + "\"prompt\": \"Hello World!\"," // + "\"temperature\": 0.7," // 新增温度参数 // + "\"top_p\": 0.9," // 新增top_p参数 + "\"stream\": false," // 是否启用流式 true时会逐个返回结果,而不是一次性返回全部结果 + "\"max_tokens\": 50" + "}"; post.setEntity(new StringEntity(json)); post.setHeader("Content-Type", "application/json"); HttpResponse response = httpClient.execute(post); String result = EntityUtils.toString(response.getEntity()); System.out.println("API Response:\n" + result); // 解析 JSON JSONObject jsonObject = JSON.parseObject(result); // 提取 "response" 字段的值 String responseStr = jsonObject.getString("response"); // 去除 HTML 标签(如果需要) String cleanedResponse = responseStr.replaceAll("\\u003c/?.*?\\u003e", "").trim(); // 打印结果 System.out.println(String.format("提取的回答内容:%s", cleanedResponse)); } catch (Exception e) { e.printStackTrace(); } }
以下是请求成功的示例
如果对你有帮助请帮忙点个👍
【deepseek-r1模型】linux部署deepseek由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【deepseek-r1模型】linux部署deepseek”