从 DeepSeek API 切换到本地模型
从 DeepSeek API 切换到本地模型好消息是由于你用的是openaiSDK只要本地模型提供 OpenAI 兼容接口改动量极小——通常只需改base_url和model两个参数。一、核心原理text当前架构 Python → OpenAI SDK → https://api.deepseek.com 本地架构 Python → OpenAI SDK → http://localhost:11434/v1 本地推理服务只要本地推理服务暴露 OpenAI 兼容的/v1/chat/completions接口代码几乎不用改。二、常见本地推理方案对比方案优点缺点适用场景Ollama安装最简单一行命令拉模型吞吐量较低适合个人开发调试、个人使用vLLM吞吐量高支持并发部署较复杂需 GPU生产环境、多人使用LM Studio图形界面零配置依赖桌面环境本地测试LocalAI纯 CPU 可跑支持多种格式性能一般无 GPU 环境Xinference支持多模型管理相对小众模型实验三、方案一Ollama最简单推荐入门1. 安装 Ollamabash# Windows下载安装包 https://ollama.com/download # Linux curl -fsSL https://ollama.com/install.sh | sh2. 拉取模型bashollama pull qwen2.5:7b # 阿里通义千问 7B ollama pull deepseek-r1:7b # DeepSeek R1 蒸馏版 ollama pull llama3.1:8b # Meta Llama 3.13. 验证服务bashollama serve # 默认监听 11434 端口 curl http://localhost:11434/v1/models4. 改代码pythonimport os from openai import AsyncOpenAI client AsyncOpenAI( api_keyollama, # 本地模型不校验随便填 base_urlhttp://localhost:11434/v1, # 指向本地 Ollama ) response await client.chat.completions.create( modelqwen2.5:7b, # 换成 Ollama 里的模型名 messagesmessages, temperature0.3 )改动量只有base_url和model两个字段。四、方案二vLLM生产级高吞吐1. 安装 vLLMbashpip install vllm2. 启动 OpenAI 兼容服务bashpython -m vllm.entrypoints.openai.api_server \ --model Qwen/Qwen2.5-7B-Instruct \ --host 0.0.0.0 \ --port 8000 \ --tensor-parallel-size 13. 改代码pythonclient AsyncOpenAI( api_keyEMPTY, base_urlhttp://localhost:8000/v1, ) response await client.chat.completions.create( modelQwen/Qwen2.5-7B-Instruct, messagesmessages, temperature0.3 )优势支持多并发请求吞吐量是 Ollama 的数倍支持 PagedAttention显存利用率高生产环境首选五、统一封装一处配置多处切换建议把模型配置抽到环境变量或配置文件实现「云端 / 本地」一键切换。1. 配置文件config.pypythonimport os # 切换模式deepseek / ollama / vllm LLM_PROVIDER os.getenv(LLM_PROVIDER, deepseek) PROVIDER_CONFIG { deepseek: { base_url: https://api.deepseek.com, api_key: os.getenv(DEEPSEEK_API_KEY), model: deepseek-chat, }, ollama: { base_url: http://localhost:11434/v1, api_key: ollama, model: qwen2.5:7b, }, vllm: { base_url: http://localhost:8000/v1, api_key: EMPTY, model: Qwen/Qwen2.5-7B-Instruct, }, } def get_llm_config(): return PROVIDER_CONFIG[LLM_PROVIDER]2. 客户端工厂llm_client.pypythonfrom openai import AsyncOpenAI from config import get_llm_config _client None def get_llm_client() - AsyncOpenAI: global _client if _client is None: cfg get_llm_config() _client AsyncOpenAI( api_keycfg[api_key], base_urlcfg[base_url], timeout60, ) return _client def get_model_name() - str: return get_llm_config()[model]3. 业务代码pythonfrom llm_client import get_llm_client, get_model_name async def ask(question: str, messages: list) - str: client get_llm_client() response await client.chat.completions.create( modelget_model_name(), messagesmessages, temperature0.3 ) return response.choices[0].message.content4. 切换方式bash# 用 DeepSeek 云端 set LLM_PROVIDERdeepseek python main.py # 用本地 Ollama set LLM_PROVIDERollama python main.py # 用本地 vLLM set LLM_PROVIDERvllm python main.py业务代码零改动只需切换环境变量。六、本地模型 vs 云端 API 对比维度DeepSeek API本地模型成本按 Token 计费一次性硬件投入延迟受网络影响通常 1-3 秒本地推理0.5-2 秒取决于硬件隐私数据出境数据完全不出本地✅模型能力DeepSeek-V3/R1 满血版受限于本地硬件只能用 7B~32B并发能力无限扩展受限于 GPU 显存运维零运维需自己维护推理服务稳定性依赖外部服务完全自主可控七、硬件需求参考本地部署模型规模显存需求推荐硬件3B4-6 GBRTX 3060 / Mac M17B8-10 GBRTX 4070 / Mac M2 Pro14B16-20 GBRTX 4090 / Mac M3 Max32B40-48 GBA100 40G / 双卡 409070B80-140 GBA100 80G × 2量化技术可大幅降低需求Q4_K_M4bit 量化显存需求降低约 60%质量损失小Ollama 默认使用量化版本7B 模型只需 5GB 左右八、注意事项坑点说明解决方案api_key不能为空OpenAI SDK 强制要求填任意字符串如ollama模型名称必须匹配本地模型的名称和云端不同先ollama list或查看 vLLM 启动日志不支持所有参数本地模型可能不支持某些 OpenAI 参数移除logprobs、response_format等高级参数Tokenizer 差异不同模型的 Token 计算不同控制 messages 长度时留足余量上下文长度限制本地模型通常 8K~32K调整messages[-N:]的裁剪逻辑并发限制Ollama 默认单并发生产环境用 vLLM 或加OLLAMA_NUM_PARALLEL环境变量九、完整迁移清单步骤操作1选择本地推理方案Ollama / vLLM2安装推理服务并拉取模型3验证curl http://localhost:PORT/v1/models可访问4抽离配置到环境变量5修改base_url和model6移除本地模型不支持的高级参数7测试对话、超时、异常处理8观察延迟和资源占用必要时调整模型规模 总结场景推荐方案个人开发 / 快速验证Ollama 7B 量化模型团队内部使用vLLM 14B~32B 模型无 GPU 环境LocalAICPU 推理速度慢数据极度敏感本地部署 私有化模型Qwen、DeepSeek 开源版核心一句话只要本地推理服务提供 OpenAI 兼容接口切换本地模型只需改base_url和model两个字段。配合环境变量配置可以实现云端与本地一键切换业务代码完全不用动。

相关新闻

三百万级污水自控项目实战全解析:PLC架构到调试避坑

三百万级污水自控项目实战全解析:PLC架构到调试避坑

三百万,在污水处理行业里是什么概念?一套中小型污水厂自控系统的合同价,可能就是三百来万;一个日处理量一两万吨的改扩建项目,电气自控这块的预算也常常卡在这个数。很多人一听"三百万"觉得是个大工程&#…

2026/10/14 20:14:32 阅读更多 →
联合仿真-实验训练:凿穿物理建模的空气墙

联合仿真-实验训练:凿穿物理建模的空气墙

1. 项目概述:为什么物理系统建模必须“虚实双跑”最近在工业控制、机器人运动规划和智能硬件研发一线,我反复被同一个问题卡住:仿真模型跑得飞快、指标漂亮,一上真实设备就抖动、发散、甚至直接失控。不是代码写错了,也…

2026/10/14 20:14:32 阅读更多 →
粒子群优化SVR参数:从调参困境到自动寻优实战

粒子群优化SVR参数:从调参困境到自动寻优实战

做预测建模的朋友,十有八九被SVM的参数折磨过。同样是RBF核,C从1调到100,gamma从0.01调到0.1,预测精度可能完全两个样。我之前在做一个多维输入单维输出预测项目时,输入是十几个传感器变量,输出是一个连续质…

2026/10/14 20:14:32 阅读更多 →

最新新闻

Open Deep Research:基于 Firecrawl 与推理模型的 Web 深度研究智能体实战指南

Open Deep Research:基于 Firecrawl 与推理模型的 Web 深度研究智能体实战指南

AI 应用AI AgentRAG前端后端 【免费下载链接】open-deep-research An open source deep research clone. AI Agent that reasons large amounts of web data extracted with Firecrawl 项目地址: https://gitcode.com/gh_mirrors/ope/open-deep-research 点击查看 免…

2026/10/15 2:33:22 阅读更多 →
Parameter Golf 深度循环架构研究复盘:Noisy QAT、3x3 循环配置与“循环税“的量化证据(PR 363)

Parameter Golf 深度循环架构研究复盘:Noisy QAT、3x3 循环配置与“循环税“的量化证据(PR 363)

【免费下载链接】parameter-golf Train the smallest LM you can that fits in 16MB. Best model wins! 项目地址: https://gitcode.com/gh_mirrors/pa/parameter-golf 点击查看 免费下载 本篇文章以 OpenAI Parameter Golf 竞赛非记录提交 PR #363(Dep…

2026/10/15 2:33:22 阅读更多 →
由于移动虚拟机安装位置导致Unable to find the VMX binary ‘E:\VM\vmware-vmx.exe‘. 解决常规方法的管理员权限问题(已解决)

由于移动虚拟机安装位置导致Unable to find the VMX binary ‘E:\VM\vmware-vmx.exe‘. 解决常规方法的管理员权限问题(已解决)

1.找到软件安装目录下的安装包程序2.右键——>以管理员的身份运行3.一步一步往下点4.点击修复5.点击完成,重新启动VMware软件即可

2026/10/15 2:33:22 阅读更多 →
Apache Axis1.4 官网备份与老系统维护实战指南

Apache Axis1.4 官网备份与老系统维护实战指南

简介:Apache Axis1.4 官网备份是一份面向 Java Web 服务开发者与教学研究者的历史版本资源包,用于在官方停止维护后仍能搭建 SOAP 服务端与客户端环境,适合需要复现早期 JAX-RPC、WSDL 自动代码生成及 SOAP 1.1/1.2 通信场景的中高级开发者。…

2026/10/15 2:33:22 阅读更多 →
LVGL 无触摸屏控件导航:Keypad and Encoder 演示工程源码解析与移植参考

LVGL 无触摸屏控件导航:Keypad and Encoder 演示工程源码解析与移植参考

嵌入式物联网智能硬件嵌入式GUI硬件开发 【免费下载链接】HoloCubic 带网络功能的伪全息透明显示桌面站 项目地址: https://gitcode.com/gh_mirrors/ho/HoloCubic 点击查看 免费下载 导读 LVGL(本仓库内为 v7.6.1)并不强制要求触摸屏才能操…

2026/10/15 2:33:22 阅读更多 →
LAMMPS comm_modify 命令详解:精细调控幽灵原子通信,优化并行性能

LAMMPS comm_modify 命令详解:精细调控幽灵原子通信,优化并行性能

科研科学计算高性能计算 【免费下载链接】lammps Public development project of the LAMMPS MD software package 项目地址: https://gitcode.com/gh_mirrors/la/lammps 点击查看 免费下载 comm_modify 是 LAMMPS 中用于调节"处理器间原子通信"行为的核…

2026/10/15 2:32:22 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →