Mac系统本地部署Deepseek极简教程

环境准备

  1. 操作系统:macOS 10.15+
  2. 终端工具:iTerm2或系统自带终端
  3. 内存要求:建议16GB以上
  4. 存储空间:至少10GB可用空间

Ollama安装

方法一:Homebrew安装(推荐)

bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install ollama

方法二:手动安装

  1. 访问Ollama官网下载dmg安装包
  2. 双击打开Ollama.dmg文件
  3. 将Ollama图标拖拽到Applications文件夹

模型部署

bash 复制代码
ollama pull deepseek-coder:6.7b

Python客户端实现

python 复制代码
# test_ollama.py
import requests
import json

def generate(prompt: str, model: str = 'deepseek-coder:6.7b') -> str:
    """
    Deepseek模型生成接口
    
    参数:
        prompt: 输入提示文本
        model: 使用的模型名称(默认deepseek-coder:6.7b)
    
    返回:
        模型生成的文本结果
    """
    try:
        response = requests.post(
            'http://localhost:11434/api/generate',
            json={
                'model': model,
                'prompt': prompt,
                'stream': True
            },
            headers={'Content-Type': 'application/json'},
            stream=True
        )
        response.raise_for_status()
        
        full_response = ''
        for line in response.iter_lines():
            if line:
                chunk = json.loads(line)
                print(chunk.get('response', ''), end='', flush=True)
                full_response += chunk.get('response', '')
        return full_response

    except requests.exceptions.RequestException as e:
        print(f"\nAPI请求错误: {e}")
        return ''
    except json.JSONDecodeError:
        print("\n响应解析失败")
        return ''

if __name__ == "__main__":
    test_prompt = """
    请用Python编写一个快速排序算法函数,要求:
    1. 输入参数为一个整数列表
    2. 返回排序后的升序列表
    3. 添加详细的代码注释
    """
    
    print("测试prompt:\n", test_prompt)
    print("\n模型响应:")
    result = generate(test_prompt)
    
    # 验证代码可执行性
    try:
        exec(result)
        print("\n\n代码验证通过")
    except Exception as e:
        print(f"\n\n代码执行错误: {e}")

执行验证

bash 复制代码
python3 test_ollama.py

预期终端输出片段:

ini 复制代码
模型响应:

def quick_sort(arr):
    # 基线条件:空或单元素数组直接返回
    if len(arr) <= 1:
        return arr
    # 选择基准元素
    pivot = arr[len(arr)//2]
    # 分割为三个子数组
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    # 递归排序并合并
    return quick_sort(left) + middle + quick_sort(right)

代码验证通过

常见问题

Q1: 服务启动失败提示端口占用

bash 复制代码
lsof -i :11434
kill -9 <PID>

Q2: 模型下载中断

bash 复制代码
ollama pull deepseek-coder:6.7b

Q3: Python依赖缺失

bash 复制代码
pip3 install requests

最佳实践

  1. 生产环境建议使用Docker容器化部署
  2. 复杂需求可配合LangChain框架使用
  3. 实时监控API调用:
bash 复制代码
ollama serve
相关推荐
摘星编程26 分钟前
华为云Flexus+DeepSeek征文 | MaaS平台避坑指南:DeepSeek商用服务开通与成本控制
deepseek·华为云flexus·maas平台·云成本控制·ai服务开通
Ombré_mi15 小时前
MCP客户端Client开发流程
大模型·uv·deepseek·mcp·mcp客户端
量子位15 小时前
苹果炮轰推理模型全是假思考!4 个游戏戳破神话,o3/DeepSeek 高难度全崩溃
人工智能·deepseek
TobyMint15 小时前
golang调DeepSeek API 实战
deepseek
蚂小蚁20 小时前
从DeepSeek翻车案例看TypeScript类型体操的深层挑战
typescript·deepseek·trae
mengyoufengyu1 天前
DeepSeek12-Open WebUI 知识库配置详细步骤
人工智能·大模型·deepseek
mengyoufengyu1 天前
DeepSeek11-Ollama + Open WebUI 搭建本地 RAG 知识库全流程指南
人工智能·深度学习·deepseek
Shannon@1 天前
Deepseek基座:Deepseek-v2核心内容解析
deepseek
潘锦1 天前
DeepSeek 和腾讯元宝都选择在用的SSE 到底是什么?
deepseek
轻语呢喃2 天前
DeepSeek 接口调用:从 HTTP 请求到智能交互
javascript·deepseek