
技术小白也能上手!如何在AWS等公有云的EC2上自主部署DeepSeek R1
在你自己的基础设施上部署像 DeepSeek R1 这样的大语言模型(LLM),可以让你完全掌控数据隐私和自定义设置。在本指南中,你将学习如何在 AWS EC2 实例上使用 Ollama(用于本地大语言模型管理)和 nextjs-ollama-llm-ui(一个基于 Next.js 的用户界面,用于与模型进行交互)自行托管 DeepSeek R1。
简介
在你自己的基础设施上部署像 DeepSeek R1 这样的大语言模型(LLM),可以让你完全掌控数据隐私和自定义设置。
在本指南中,你将学习如何在 AWS EC2 实例上使用 Ollama(用于本地大语言模型管理)和 nextjs-ollama-llm-ui(一个基于 Next.js 的用户界面,用于与模型进行交互)自行托管 DeepSeek R1。
一、准备
-
拥有可访问 EC2 的 AWS 账户,其他公有云账号也可以。
-
基本熟悉shell 和 ssh 操作。
二、设置 EC2 实例
启动 EC2 实例
选择 Ubuntu 24.04 LTS 亚马逊系统映像(AMI)(架构:64 位 Arm)
选择一个资源充足的实例类型(例如,g5.xlarge)。
配置存储(建议为模型权重分配 100GB 以上的空间)。
在安全组中打开端口 22(用于 SSH)和 3000(用于 Next.js 用户界面)。
连接到实例
ssh -i "你的密钥.pem" ubuntu@\<EC2公网IP地址>
三、在 EC2 上安装 Ollama
下载并安装 Ollama
curl -L https://ollama.ai/install.sh | sh
拉取 DeepSeek R1 模型
ollama pull deepseek-r1 # 如果模型名称不同,请替换为正确的模型名称
Ollama 有一个用于运行和管理模型的 REST API:
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1",
"prompt":"What's your name?"
}'
四、为 Ollama 大语言模型设置 Web 界面
安装 NodeJS 20 及以上版本
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# Download and install Node.js:
nvm install 20
# Verify the Node.js version:
node -v # Should print "v20.18.3".
nvm current # Should print "v20.18.3".
# Verify npm version:
npm -v # Should print "10.8.2".
克隆用户界面仓库
git clone https://github.com/jakobhoeg/nextjs-ollama-llm-ui
cd nextjs-ollama-llm-ui
将.example.env 重命名为.env
mv .example.env .env
如果你的 Ollama 实例未在默认地址和端口上运行,请在.env 文件中更改变量以符合你的使用情况:
OLLAMA\_URL="http://localhost:11434"
安装依赖项并构建
npm install
npm run build
使用 PM2 在后台运行用户界面
npm install -g pm2
pm2 start npm --name "ollama-ui" -- run start
检查应用程序的状态
pm2 status
五、测试部署
访问用户界面
在你的浏览器中打开 http://<EC2 公网 IP 地址>:3000
。开始与 DeepSeek R1 聊天吧!
六、保护你的部署(可选)
- 反向代理:使用 Nginx 或 Caddy 添加 HTTPS 并将流量路由到端口 3000/11434。
- 防火墙规则:将对 Ollama 端口(11434)的访问限制为仅本地主机。
- 身份验证:向 Next.js 用户界面添加基本身份验证,或使用 AWS 安全组限制 IP 访问。
七、成本优化
- 使用竞价型实例以降低成本。
- 不使用时关闭实例。
- 使用 AWS CloudWatch 监控使用情况。
八、结论
现在你已经在 AWS EC2 上自行托管了 DeepSeek R1,从而完全掌控推理和数据。结合 Ollama 的简便性和 Next.js 的灵活性,你可以构建强大的、私有的人工智能应用程序。尝试进行微调、自定义提示,或集成其他工具。
更多推荐
所有评论(0)