使用Ollama 在Ubuntu运行deepseek大模型:以DeepSeek-coder为例_ubuntu deepseek-CSDN博客
时间: 2025-03-01 19:05:07 AIGC 浏览: 195
### 安装准备
为了在Ubuntu上使用Ollama运行DeepSeek大模型(以DeepSeek-coder为例),需要先确保操作系统环境满足最低需求。通常情况下,建议的操作系统版本为Ubuntu 20.04 LTS或更高版本[^1]。
### 安装Docker
由于Ollama依赖于Docker容器技术来部署和管理其服务,因此首先需安装Docker。可以通过官方文档获取最新的安装指南,一般过程涉及更新包索引、添加Docker官方GPG密钥以及设置稳定版仓库等操作。完成这些前置步骤之后,利用`apt-get install docker-ce`命令即可安装Docker引擎。
```bash
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
```
### 配置Docker权限
为了让当前用户无需root权限就能执行docker命令,可以将该用户加入到docker组中:
```bash
sudo usermod -aG docker $USER
newgrp docker
```
### 下载并启动Ollama
访问Ollama官方网站找到适用于Linux系统的二进制文件链接,下载完成后解压至指定目录,并按照说明配置环境变量以便全局调用ollama命令工具。接着通过`ollama init`初始化项目结构,这一步骤会自动拉取必要的镜像资源用于后续处理工作流。
```bash
wget https://example.com/path/to/ollama-linux-amd64.tar.gz # 替换为实际URL
tar -xzvf ollama-linux-amd64.tar.gz
mv ollama /usr/local/bin/
ollama init
```
### 获取与加载预训练模型
针对想要使用的特定模型如DeepSeek-coder,在线查找对应的发布页面,依据指引下载模型权重文件(.bin/.pt格式),将其放置于`.ollama/models/deepseek_coder`路径下;或者直接采用`ollama pull deepseek/coder`的方式从远程仓库同步最新版本的模型数据。
```bash
mkdir -p ~/.ollama/models/deepseek_coder
cd ~/.ollama/models/deepseek_coder
# 方法一:手动下载
#wget http://model-url-to-deepseek-coder.bin
# 方法二:推荐方式
ollama pull deepseek/coder
```
### 编写推理脚本
创建一个新的Python脚本来定义交互逻辑,比如接收输入文本作为提示词(prompt), 调用API接口发送请求给已加载好的模型实例, 解析返回的结果展示最终输出。这里提供了一个简单的例子供参考:
```python
import requests
def generate_code(prompt):
url = 'http://localhost:8080/api/v1/infer'
payload = {
"prompt": prompt,
"max_tokens": 50,
"temperature": 0.7,
"top_p": 0.9
}
response = requests.post(url,json=payload).json()
generated_text = response['choices'][0]['text']
return generated_text.strip()
if __name__ == "__main__":
input_prompt = "设计一个函数实现两个数相加"
result = generate_code(input_prompt)
print(f"生成代码:\n{result}")
```
上述代码假设本地已经有一个正在监听端口8080的服务进程负责接受HTTP POST请求并将它们转发给底层的大规模语言模型进行预测运算。
阅读全文
相关推荐

















