2025年1月以来,DeepSeek热度越来越高,DeepSeek成本价格低廉,性能卓越,在 AI 行业引起了广泛关注。本地部署在数据安全、性能、定制化、成本、离线可用性和技术自主性方面具有显著优势,本文将详细介绍deepseek如何进行本地化部署。
一:ollama安装
ollama地址:https://ollama.com/
1:ollama介绍
- Ollama 是一个开源的本地大语言模型运行框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。
- Ollama 支持多种操作系统,包括 macOS、Windows、Linux 以及通过 Docker 容器运行。
- Ollama 提供对模型量化的支持,可以显著降低显存要求,使得在普通家用计算机上运行大型模型成为可能。
- Ollama 支持多种流行的大型语言模型,包括但不限于 DeepSeek、qwen、codegeex4、phi4、llama 等,我们可以根据自己的需求选择合适的模型进行本地运行。
2:ollama安装
(1):windows安装
直接在Ollama官网选择windows安装包下载下来直接安装即可
(2):linux安装
参考地址:https://github.com/ollama/ollama/blob/main/docs/linux.md
curl -fsSL https://ollama.com/install.sh | sh
设置ollama开机自启动
创建一个ollama用户和用户组
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
在以下位置创建服务文件/etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
[Install]
WantedBy=default.target
设置开机自启
sudo systemctl daemon-reload
sudo systemctl enable ollama
3:ollama运行检测
在浏览器上访问:http://localhost:11434,显示Ollama is running,表示ollama运行成功
ollama --version
查看安装的ollma版本信息
二:deepseek模型安装
在ollama官网我们可以找到支持的语言模型,这里我安装的是deepseek-r1:1.5b模型
deepseek-r1 提供多个版本,参数量越大,模型的性能越强大,但也需要更多的存储和计算资源。例如:1.5b 模型参数为15亿/1.1GB,7b 模型参数约为 70亿/4.7GB,14b 模型参数约为 140亿/9GB
ollama run deepseek-r1:1.5b #下载并运行deepseek-r1:1.5b模型
如上就表示deepseek-r1:1.5b模型安装成功了,这时候我们就是用在命令行中和deepseek进行聊天了
三:deepseek的API调用介绍
Ollama 提供了一个用于运行和管理模型的 REST API,以下是使用该 API 的示例
参考地址:https://github.com/ollama/ollama/blob/main/docs/api.md
1:文本生成
流式传输请求
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:1.5b",
"prompt": "Why is the sky blue?"
}'
无流媒体请求
当流媒体关闭时,一次回复即可收到响应。
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:1.5b",
"prompt": "Why is the sky blue?",
"stream": false
}'
php实现调用API
原生curl调用
//初始化 cURL 会话
$ch = curl_init();
// 设置 URL 和选项
$url = "http://localhost:11434/api/generate";
$data = json_encode([
"model" => "deepseek-r1:1.5b",
"prompt" => "Why is the sky blue?",
"stream" => false
]);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
// 执行 cURL 请求并获取响应
$response = curl_exec($ch);
// 检查是否有错误发生
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
// 输出响应
echo $response;
}
// 关闭 cURL 会话
curl_close($ch);
使用yiisoft/yii2-httpclient拓展调用
$data = [
"model" => "deepseek-r1:1.5b",
"prompt" => "Why is the sky blue?",
"stream" => false
];
$client = new \yii\httpclient\Client();
$response = $client->createRequest()
->setMethod('POST') // 请求方式
->setUrl('http://localhost:11434/api/generate')
->setData($data)
->setFormat(\yii\httpclient\Client::FORMAT_JSON)
->send();
var_dump(($response->data));
2:与模型聊天
流式传输请求
curl http://localhost:11434/api/chat -d '{
"model": "deepseek-r1:1.5b",
"messages": [
{
"role": "user",
"content": "why is the sky blue?"
}
]
}'
无流媒体请求
curl http://localhost:11434/api/chat -d '{
"model": "deepseek-r1:1.5b",
"messages": [
{
"role": "user",
"content": "why is the sky blue?"
}
],
"stream": false
}'
php实现调用API
原生curl调用
//初始化 cURL 会话
$ch = curl_init();
// 设置 URL 和选项
$url = 'http://localhost:11434/api/chat';
$data = [
'model' => 'deepseek-r1:1.5b',
'messages' => [
[
'role' => 'user',
'content' => 'why is the sky blue?'
]
],
'stream' => false
];
// 将数据编码为 JSON 格式
$jsonData = json_encode($data);
// 设置 cURL 选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
// 执行 cURL 请求并获取响应
$response = curl_exec($ch);
// 检查是否有错误发生
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
// 输出响应
echo $response;
}
// 关闭 cURL 会话
curl_close($ch);
使用yiisoft/yii2-httpclient拓展调用
$data = [
'model' => 'deepseek-r1:1.5b',
'messages' => [
[
'role' => 'user',
'content' => 'why is the sky blue?'
]
],
'stream' => false
];
$client = new \yii\httpclient\Client();
$response = $client->createRequest()
->setMethod('POST') // 请求方式
->setUrl('http://localhost:11434/api/chat')
->setData($data)
->setFormat(\yii\httpclient\Client::FORMAT_JSON)
->send();
var_dump(($response->data));
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。