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
相关推荐
kaixuan_dashen9 小时前
Codex使用DeepSeek API的方法(cc switch + codex bridge方案)
人工智能·codex·deepseek·cc switch·codex bridge
AC赳赳老秦13 小时前
OpenClaw与WPS宏联动:批量执行WPS复杂操作,解决办公表格批量处理难题
java·前端·数据库·自动化·需求分析·deepseek·openclaw
wujian831114 小时前
AI表格怎么导出word
人工智能·ai·word·豆包·deepseek·ai导出鸭
Caster_Z16 小时前
Win10本地部署QQ智能机器人:AstrBot+NapCat+DeepSeekAI
机器人·deepseek·napcat·astrbot·自动客服
青春不败 177-3266-052016 小时前
MATLAB 2024b深度学习新特性全面解析与DeepSeek大模型集成开发
人工智能·深度学习·机器学习·matlab·卷积神经网络·自编码器·deepseek
codingxb4519 小时前
VSCode中使用ClaudeCode接入Deepseek-v4模型
vscode·deepseek·claude code
Orange_sparkle21 小时前
什么是前缀缓存,缓存命中
缓存·ai·deepseek·claude code
只看不学1 天前
Claude Code接入 DeepSeek V4 模型
deepseek·claude code
咪的Coding1 天前
为什么在 DeepSeek 输入 <think>,它竟吐出别人的“记忆碎片”!?
后端·deepseek
wujian83112 天前
豆包导出pdf方法
人工智能·ai·pdf·豆包·deepseek·ai导出鸭