前言
最近两个星期,DeepSeek 在互联网上引发了新一波有关生成式 AI 大模型的讨论,讨论的热烈程度不亚于当初 ChatGPT 刚出世的时候。
那么,在新一波的 AI 浪潮下,普通人和程序员又该如何面对呢?
下面,就让笔者来为普通人和程序员读者朋友分别给出一点参考方案。
普通人的 DeepSeek 使用指南
如果你并不了解编程相关知识,只想最快的体验一下 DeepSeek,那么我推荐你使用 DeepSeek 官方网页版和官方手机 APP。
官方网页版:https://chat.deepseek.com/
界面功能详解
网页版就和普通的聊天对话窗口一样,你可以直接输入任何你想要问的问题,然后等待 AI 的回复。
手机端和网页端大同小异,使用方法是一样的,在此不再赘述。
这里需要注意几个细节:
-
默认情况下, 深度思考和 联网搜索 两个按钮都是暗的,需要手动点一下才会启用。如果你觉得你的 AI 似乎没那么聪明,那么多半是没有启用深度思考。如果你注意到 AI 回复了过时的信息,那么就是没有启用联网搜索。
由于最近一段时间 DeepSeek 过于火爆,网页端的可用性不高,联网搜索偶尔会不可用,此时可尝试关闭联网搜索。
如果还是不可用,尝试关闭深度思考再试。
你可以在这个页面查看 DeepSeek 服务状态
-
image-20250208151314408
image-20250208151340780
联网搜索 和 上传文件 功能是互斥的,无法同时使用 目前,DeepSeek-R1(即深度思考模型) 仅支持文本处理,还不支持图片识别和图片生成。
-
image-20250208152328141
如果出现服务繁忙,可以点击这个按钮重新生成,不必重新输入文本。
典型使用场景
DeepSeek-R1 比普通的 AI 强大的多,你可以直接把你的想法告诉它,然后和它交流,例如论文润色、旅行规划、知识问答、小说编写等,这些都可以完成,你所能想到的任何文字工作,它都可以处理。
和一般的生成式 AI 不同,DeepSeek-R1 作为推理型 AI,过于冗长的提示词反倒容易起到反效果,我的建议是直接把文本素材提交给 AI,让它自己思考。
同时,因为 DeepSeek-R1 有思维链的缘故,你还可以看下它如何思考的。如果思维链上有错误,还可以直接指出问题。
程序员的 DeepSeek 使用指南
接下来的内容涉及一些编程相关知识,可能会有些门槛,如果你不太了解相关内容,可以尝试向 DeepSeek-R1 询问。
通过 API 调用
对程序员而言,网页端只能算试用,毕竟实际使用中是要集成到自己的项目、应用中使用的。
此时就需要通过 API 来调用 DeepSeek-R1 模型。
注册
首先前往 DeepSeek 开放平台 完成注册。新用户会赠送 10 元的额度用于体验,不必担心一上来就要付费。
创建 API key
接下来要创建一个 API key,用于调用 API。
请注意保管好自己的 API key,不要在任何情况下泄露你的 API key!如有泄露,请立刻删除!
编程调用 API
接下来就可以根据需求来调用 DeepSeek 的 API 了。
更多说明请参考官方 API 文档:https://api-docs.deepseek.com/zh-cn/
通过 Node.js 调用
首先安装 openai
模块,然后编写以下脚本,注意把 apiKey
替换为真实的 API key。
// Please install OpenAI SDK first: `npm install openai`
import OpenAI from "openai";
const openai = new OpenAI({
baseURL: 'https://api.deepseek.com',
apiKey: '<DeepSeek API Key>'
});
async function main() {
const completion = await openai.chat.completions.create({
messages: [{ role: "system", content: "You are a helpful assistant." }],
model: "deepseek-reasoner",
});
console.log(completion.choices[0].message.content);
}
main();
代码中调用的是deepseek-reasoner
,即 DeepSeek-R1;你也可以改成 deepseek-chat
来调用 DeepSeek-V3。
GUI 调用 API
通过编程来调用 API 多少还是有点麻烦的,只有自己写代码的时候才推荐这样调用。
如果只是想接入一个 GUI 的话,推荐使用现成的项目,例如 AnythingLLM、LM Studio 等,你可以直接接入 DeepSeek 的 API。
AnythingLLM 可以将任何文档、资源(如网址链接、音频、视频)或内容片段转换为上下文,以便任何大语言模型(LLM)在聊天期间作为参考使用。此应用程序允许你选择使用哪个 LLM 或向量数据库,同时支持多用户管理并设置不同权限。
PS:如果你在安装 AnythingLLM 的过程中遇到了异常,可以尝试使用管理员权限安装。
如果遇到了下载 ollama 缓慢,可以直接中断。ollama 不是必须的。
之后,就可以在 GUI 页面进行交互了。
当然,你可能会问,有 DeepSeek 官方提供的聊天窗口,为啥还要通过 API 来调用。
实际上,使用 AnythingLLM 是为了不局限于 DeepSeek 一家 AI 服务商,你还可以使用其他任何的 AI 服务商,包括本地部署的 AI 模型。
价格说明
通过 API 来调用 AI 模型的时候,最关心的毫无疑问就是价格的。
所幸,DeepSeek 有着全网最低的 AI 模型价格。以 DeepSeek-V3 为例,每百万 tokens 输入仅需 2 元,如果有缓存则仅需 0.5 元!
而 DeepSeek-R1 的价格相较于 DeepSeek-V3 虽然有所上涨,但整体而言也还是便宜的,每百万 tokens 输入仅需 4 元!
当然,这时候可能就有人会注意到了:你这只讲了输入,没讲输出啊?
是的,DeepSeek-V3 的每百万 tokens 输出价格高达 8 元,则 DeepSeek-R1 更是高达 16 元。
但就我亲身体验而言,以及后台的统计数据显示,在 DeepSeek-V3 中,输入的占比远大于输出;而 DeepSeek-R1 中输入的占比也占绝大多数。
因此,调用 API 的主要成本是由输入决定的,只有少部分 tokens 会用到高价格的输出。
此外,还有个好消息就是,由于 DeepSeek 官方的价格实在太便宜了,所以在其他云服务商纷纷上加 DeepSeek-R1 的时候,在定价上必须和 DeepSeek 官方差不多,甚至还得更便宜,不然用户就回去用 DeepSeek 官方的 API 了,这对开发者而言是个好事。
通过第三方云服务商 DeepSeek-R1
由于 DeepSeek 官方的使用人数过多,目前无论是网页端还是 API 调用,可用性都不高,时不时就无响应。
因此,如果想要体验满血版 DeepSeek-R1 的话,就还是要通过云服务商来调用。
下面以硅基流动为例:
首先,前往官网注册:https://cloud.siliconflow.cn/i/JZihT4rT
跟 DeepSeek 一样,硅基流动也给信用户赠送免费额度,额度更是多达 14 元,也可以用很长时间了。如果有邀请,还可以拿到更多额度。
如果只是想体验下聊天对话功能,那么可以直接通过官网的文本对话页面进行。
注意,硅基流动的官网页面也是要付费的,这个价格跟直接调用 API 价格是一样的。
而如果想要通过 API 方式调用,也是一样,先创建一个 API 秘钥。
然后在需要的地方调用即可。
跟 DeepSeek 唯一的区别就是改下 API 基础地址,具体可参考API 手册
硅基流动的 API 基础地址为 https://api.siliconflow.cn/v1
代码示例:
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: '{"model":"deepseek-ai/DeepSeek-V3","messages":[{"role":"user","content":"中国大模型行业2025年将会迎来哪些机遇和挑战?"}],"stream":false,"max_tokens":512,"stop":["null"],"temperature":0.7,"top_p":0.7,"top_k":50,"frequency_penalty":0.5,"n":1,"response_format":{"type":"text"},"tools":[{"type":"function","function":{"description":"<string>","name":"<string>","parameters":{},"strict":false}}]}'
};
fetch('https://api.siliconflow.cn/v1/chat/completions', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
价格说明
目前硅基流动的满血版 DeepSeek-R1 模型定价和 DeepSeek 一致,可以放心使用。
DeepSeek 辅助编程
在这里推荐使用 vscode 插件 Cline。
Cline 是一个集成在 IDE 中的自主编码代理,能够在您的许可下创建/编辑文件、执行命令、使用浏览器等,并支持多种 API 和模型,旨在提高软件开发效率。
在设置中选择 DeepSeek,然后模型选择 deepseek-reasoner
即可。
进阶使用指南
上文简单的介绍了下普通人和程序员如何使用 DeepSeek,下面就要开始上强度了,需要用到一定的编程和计算机相关知识了。
本地部署 DeepSeek-R1
首先需要说明的是,目前市面上所有的本地部署 DeepSeek-R1 的文章,也包括本文,部署的都是 DeepSeek-R1 的蒸馏模型,也就是说,并不是 DeepSeek-R1 本体!
为什么呢?
从 DeepSeek 的 AI 模型开源仓库 可知,除了最大的 671b 模型外,其他参数的模型都是从 Qwen 或 Llama 蒸馏而来的,具体参考下图:
所以,如果你下载的是 671b 以下的模型,例如 7b、14b,那么就是从 Qwen 蒸馏而来的;8b、70b,则是从 Llama 蒸馏而来的。
小参数的模型在智能水平上自然也不如真正的大模型
至于为什么只在本地部署小参数的模型,原因很简单,内存或显存不足。
根据 ollama 上的数据,满血版的 DeepSeek-R1 模型,体积高达 404GB,也就是说,至少要这么多内存或显存才能把模型放进去,更不要说实际推理的时候还要花更多的内存或显存。(实际上,内存或显存大概要 700GB 以上才能运行)
很显然,大部分人是不具备运行满血版的设备的。
下面就来讲述一下如何部署残血版的 DeepSeek-R1。
安装 Ollama
从 Download Ollama 页面安装 Ollama
安装完成后,执行以下命令测试是否安装成功
ollama -v
如果一切正常,应该会输出 Ollama 的版本号。
如果无法通过命令行调用,请将 Ollama 的安装路径添加到环境变量。
Ollama 默认会将模型安装在
C:\Users\%username%\.ollama\models
下,如果你不希望模型放在该路径下,可以设置OLLAMA_MODELS
环境变量来指定模型的安装位置。
运行 Ollama
执行以下命令启动 Ollama 服务。
ollama serve
如果一切顺利,就会在 11434 端口启动一个 http 服务,这时就可以直接通过 API 调用 Ollama 了。
下载 DeepSeek-R1
这里以最小的 1.5b 模型作为例子,你也可以根据自己的内存、显存配置使用更大参数的模型。
具体而言,
如果你的显存大于模型大小,则走的是 GPU 计算版本,性能更快;
如果显存小于模型大小,但内存大于模型大小,此时走的是 CPU 版本,性能一般,但兼容性好;
如果内存小于模型大小,则无法执行该模型。
另开一个命令行窗口,执行以下命令:
ollama pull deepseek-r1:1.5b
运行 DeepSeek-R1
执行以下命令:
ollama run deepseek-r1:1.5b
如果一切顺利,就可以看到一个命令行交互窗口,这时就可以直接使用了。
通过 GUI 调用 Ollama
显然,通过命令行使用还是不太方便的,此时可以考虑使用 AnythingLLM 来调用 Ollama。
注意不要关闭 Ollama 服务,然后在 AnythingLLM 进行以下配置
选择你需要的模型,然后根据配置调整 Max Tokens,也就是上下文长度,上下文太长会很吃配置,一般在 2000~8000 左右,更高配的可以调高点。
不要忘了点 save changes
保存改动。
后续就可以像之前一样在工作区调用了。
手机端使用 DeepSeek-R1
除了直接使用 DeepSeek 官方 APP 外,你也可以通过第三方 APP 来使用 DeepSeek-R1。
通过 ollama-app 可以直接在手机端访问 Ollama 模型。
执行以下命令获取电脑 IP 地址:
ipconfig
如果你希望电脑的内网 IP 是固定的,可以在路由器上绑定 IP 和 MAC 地址
然后在 ollama-app 端设置主机地址即可。
注意:默认情况下,ollama 是不允许从本机以外的地址访问的,因此可以在电脑端修改OLLAMA_HOST
环境变量,然后重启 ollama 服务(注意,需要新开一个命令行激活环境变量)。
然后就可以从手机端访问 ollama 了。
手机端部署 DeepSeek-R1
可能有部分用户需要真正的手机端本地部署,也就是完全离线的版本,在此仅做简单说明。
首先下载 Temux linux 环境模拟器,然后在沙盒中安装并编译 llama.cpp,最后下载 DeepSeek-R1 模型。
更多内容请参考这篇文章:《一步步教你如何在手机端离线运行 Deepseek-R1 本地模型》
部署 LLM API 聚合系统
你可能还注意到了一个问题:现在 LLM API 服务商那么多,从 OpenAI 切到 DeepSeek,从 DeepSeek 切到硅基流动,每个地方都要改 API 地址和秘钥,这未免也太麻烦了。
尤其是现在需要用到 LLM 的地方越来越多了,对 LLM API 服务的依赖程度也越来越高了。
所以,就需要类似 one-api 这样的 LLM API 管理 & 分发系统来统一管理 LLM API 的调用了。
one-api 的部署方式非常简单,通过 Docker Compose 就可以非常方便的部署。
docker-compose.yml 参考内容如下:
version: '3.4'
services:
one-api:
image: "${REGISTRY:-docker.io}/justsong/one-api:latest"
container_name: one-api
restart: always
command: --log-dir /app/logs
ports:
- "3000:3000"
volumes:
- ./data/oneapi:/data
- ./logs:/app/logs
environment:
# - SQL_DSN=oneapi:123456@tcp(db:3306)/one-api # 修改此行,或注释掉以使用 SQLite 作为数据库
- REDIS_CONN_STRING=redis://redis
- SESSION_SECRET=random_string # 修改为随机字符串
- TZ=Asia/Shanghai
# - NODE_TYPE=slave # 多机部署时从节点取消注释该行
# - SYNC_FREQUENCY=60 # 需要定期从数据库加载数据时取消注释该行
# - FRONTEND_BASE_URL=https://openai.justsong.cn # 多机部署时从节点取消注释该行
depends_on:
- redis
healthcheck:
test: [ "CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' | awk -F: '{print $2}'" ]
interval: 30s
timeout: 10s
retries: 3
redis:
image: "${REGISTRY:-docker.io}/redis:latest"
container_name: redis
restart: always
以个人用户的用量,基本上 SQLite 已经可以满足需求了,无需再启动一个 MySQL。
然后执行以下命令
# 数据存储在 ./data/mysql 文件夹内
docker-compose up -d
# 查看部署状态
docker-compose ps
总结
DeepSeek 这一波开源是彻底击穿了 OpenAI 所塑造的技术壁垒,将全球的 AI 大模型使用成本拉低到一个全新的价格,这使得以前成本高昂的方案,现在可以以极低的成本实现。
如果说当初 OpenAI 的狂欢是只属于少部分技术精英的,那么这一次 DeepSeek 的轰动则是属于所有人的,是每一个人都可以体验到的。
未来,AI 的成本还会更低,直到每一个人都能用的起,到那时,才是真正的 AI 时代。
本文作者:草梅友仁
本文地址:https://blog.cmyr.ltd/archives/deepseek-guide-for-everyone-and-programmers.html
版权声明:本文采用 CC BY-NC-SA 4.0 协议 进行分发,转载请注明出处!