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
配置 Ollama 允许跨域访问
由于 Ollama 的默认参数配置,启动时设置了仅本地访问,所以跨域访问以及端口监听需要进行额外的环境变量设置 OLLAMA_ORIGINS
。使用 launchctl
设置环境变量:
1
| launchctl setenv OLLAMA_ORIGINS "*"
|
完成设置后,需要重启 Ollama 应用程序。
下载模型
下载模型也很简单,再ollama启动后,执行以下命令即可:
实际使用
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"
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, "max_tokens": 512, "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插件,左上角选择模型,齿轮可以设置语言和模型相关参数。
4.lobe-chat
这个软件是一个各平台ai的集成工具,我部署的是一个服务器版,并配置了登录校验和知识库。这个工具可以随时切换各种模型使用,还是挺方便的。建议设置的时候勾选客户端模式,毕竟不少模型还是需要魔法的。
注意这软件有bug,连通性检查虽然不通过,但是实际模型是可以正常使用的。