主页 > 开源代码  > 

【deepseek-r1模型】linux部署deepseek

【deepseek-r1模型】linux部署deepseek
1、快速安装

Ollama 下载:Download Ollama on macOS

Ollama 官方主页: ollama

Ollama 官方 GitHub 源代码仓库: github /ollama/ollama/

官网提供了一条命令行快速安装的方法。

(1)下载Ollama

curl -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)开启并使用 Ollama

1).在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