DeepSeek-R1 是一款强大的自然语言处理模型,适用于多种任务,如文本生成、问答系统、对话生成等。

设备

我是用的mac mini 2023款的,M2芯片,16g内存。苹果的芯片比较特别,是统一内存架构,CPU、GPU和神经引擎都共享同一内存池,所以用来部署ai模型还是比较方便的。

Ollama

Ollama 是一个开源平台和工具,使用非常非常简单。Ollama旨在让用户更方便地在本地部署和运行大型语言模型(如GPT等)并进行推理。其目的是通过简化部署流程,让开发者和研究人员能够更容易地将AI模型(尤其是大型语言模型)集成到自己的应用中,而不必依赖于云服务提供商。

下面以Mac平台为例,windows和linux差不多。

下载

https://ollama.com/download?utm_source=lobehub&utm_medium=docs&utm_campaign=download-macos

image.png

配置 Ollama 允许跨域访问

由于 Ollama 的默认参数配置,启动时设置了仅本地访问,所以跨域访问以及端口监听需要进行额外的环境变量设置 OLLAMA_ORIGINS。使用 launchctl 设置环境变量:

1
launchctl setenv OLLAMA_ORIGINS "*"

完成设置后,需要重启 Ollama 应用程序。

下载模型

下载模型也很简单,再ollama启动后,执行以下命令即可:

1
ollama pull 模型名称

以deepseek-r1 7b模型为例

实际使用

1.直接控制台里面对话

控制台运行对话

2.自己写代码

比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import requests
import json

# 配置参数
OLLAMA_API_URL = "http://localhost:11434/api/generate"
MODEL_NAME = "deepseek-r1:7b" # 需替换为Ollama中实际模型名称

def generate_response(prompt, stream=False):
"""
调用Ollama API生成对话响应
:param prompt: 用户输入的提示文本
:param stream: 是否使用流式响应
:return: 生成的文本或流式响应生成器
"""
payload = {
"model": MODEL_NAME,
"prompt": prompt,
"stream": stream,
"options": {
"temperature": 0.7, # 控制随机性 (0.0-1.0)
"max_tokens": 512, # 最大生成token数
"top_p": 0.9 # 控制生成多样性
}
}

try:
response = requests.post(
OLLAMA_API_URL,
json=payload,
stream=stream,
headers={"Content-Type": "application/json"},
timeout=60
)
response.raise_for_status()

if stream:
# 处理流式响应
for chunk in response.iter_lines():
if chunk:
decoded_chunk = json.loads(chunk.decode("utf-8"))
yield decoded_chunk.get("response", "")
else:
# 处理非流式响应
full_response = response.json()
return full_response.get("response", "No response generated")

except requests.exceptions.RequestException as e:
print(f"API请求失败: {str(e)}")
return None
except json.JSONDecodeError:
print("响应解析失败")
return None

# 示例使用
if __name__ == "__main__":
# 非流式对话示例
user_input = "请用Python写一个快速排序算法"
print(f"[用户]: {user_input}")
response = generate_response(user_input)
print(f"[AI]: {response}")

# 流式对话示例
print("\n流式对话演示:")
user_input_stream = "解释量子计算的基本原理"
print(f"[用户]: {user_input_stream}")
for chunk in generate_response(user_input_stream, stream=True):
print(chunk, end="", flush=True)
print()

3.chrome插件

Page Assist插件,左上角选择模型,齿轮可以设置语言和模型相关参数。
image.png

4.lobe-chat

这个软件是一个各平台ai的集成工具,我部署的是一个服务器版,并配置了登录校验和知识库。这个工具可以随时切换各种模型使用,还是挺方便的。建议设置的时候勾选客户端模式,毕竟不少模型还是需要魔法的。

注意这软件有bug,连通性检查虽然不通过,但是实际模型是可以正常使用的。

模型配置