ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

在本地部署一套几乎免费的大模型环境3:让本地IDE(vscode)连上本地大模型环境

在本地部署一套几乎免费的大模型环境3:让本地IDE(vscode)连上本地大模型环境 原本计划在之前搭建的本地大模型环境基础上增加完联网搜索能力之后进一步增加RAG相关功能但由于近期正好在开发A股量化分析相关系统所以想先打通本地开发IDE和本地大模型环境提升后续的开发效率。一、需求与效果老规矩先上完成后的效果展示从截图可以看到在vscode中通过continue组件实现了IDE和本地大模型的打通之前在本地部署的Qwen2.5-Coder 14B和Qwen2.5-Coder 7B 作为主备下挂在Local CoderQwen3.5 7B作为带Thinking能力的模型下挂在Local Coder Vision下。当我提问用 AKShare 获取 600519 茅台的日线数据返回 pandas DataFrame后模型给出了它的答案。需求其实只有两个1、能在IDE中通过对话方式提供编码建议2、能在IDE的编码窗口提示代码补全二、组件选型与架构先来快速回顾一下现有环境1、节点 AMac Mini (中低配置7×24 运行) IP: 10.25.1.71 角色: 中枢网关 / 轻量算力 / Web UI 运行服务: LiteLLM 网关​ (端口 4000) → 核心调度器 OpenWebUI​ (端口 3001) → 交互界面 SearXNG​ (端口 8080/8082) → 联网搜索 Ollama: qwen2.5-coder:7b → 轻量补全/备用 网络: Docker (Colima)宿主机可直接访问 localhost。 2、节点 BWindows (相对高性能4070GPU日常开发)** IP: 10.25.1.58 角色: 主力算力 / 开发环境 运行服务: VS Code​ → 日常开发 IDE Ollama: qwen3.5:9b (推理)、qwen2.5-coder:14b (编码主力) 网络: 裸金属 WindowsOllama 监听 11434。选择目前比较主流的轻量级IDE编码辅助插件为Continue。集成完后的目标架构如下目标让 58 上的 VS Code 能连上 71 上的 LiteLLM从而能够使用本地部署的模型。三、配置步骤要将上述理想效果转化为项目中的现实能力并不需要复杂的构建工具配置或安装额外的 npm 包。现代主流浏览器和 Node.js 环境已经原生支持这些特性所谓的“配置”更多是指如何在现有代码库中规范地落地使用以及如何处理兼容性兜底策略。以下是具体的实施步骤和实践建议。1. 在 58 上验证跨机连通性在 Windows (10.25.1.58)​ 的 PowerShell 执行Test-NetConnection-ComputerName 10.25.1.71-Port 4000-InformationLevel Detailed看 TcpTestSucceeded 字段True​ → 网络通跳到第二步False​ → macOS 防火墙挡了看下方排障如果 False在 Mac (71) 上放行防火墙macOS 默认防火墙可能拦截入站。在 Mac 终端# 查看防火墙状态sudo/usr/libexec/ApplicationFirewall/socketfilterfw--getglobalstate# 临时放行 4000或永久允许 Pythonsudo/usr/libexec/ApplicationFirewall/socketfilterfw--add/Users/xxx/.litellm_env/bin/python3sudo/usr/libexec/ApplicationFirewall/socketfilterfw--unblock/Users/xxx/.litellm_env/bin/python32. 在 58 上验证 LiteLLM 接口网络通了之后在 Windows (58)​ 的 PowerShellcurl.exe-s http://10.25.1.71:4000/v1/models -HAuthorization: Bearer sk-litellm-local-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx✅ 预期返回 JSON 模型列表包含 local-coder-vision、local-coder。3. 配置 VS Code Continue在 58 上安装Continue插件1、打开 VS Code 2、快捷键 CtrlShiftX 打开扩展面板 3、搜索 Continue 4、找到 Continue - open-source AI code agent作者Continue 5、点击 Install安装完成后 VS Code 左侧活动栏会出现 Continue 图标修改Continue配置文件config.yaml1、CtrlL 打开 Continue Chat 侧边栏 2、点击聊天输入框上方的模型/Agent 下拉选择器 3、找到 Local Config 4、点击它右侧的齿轮图标​ ⚙️ 5、配置文件 config.yaml 会在 VS Code 编辑器里直接打开config.yaml完整内容如下name:Local LLM Gatewayversion:0.0.1schema:v1models:# ① 主对话/编辑模型14B 编码主力LiteLLM 自动 fallback 到 7B-name:Local Coder (Auto 14B/7B)provider:openaimodel:local-coderapiBase:http://10.25.1.71:4000/v1apiKey:sk-litellm-local-xxxxxxxxxxxxxxxxxxxxxxxxxxroles:-chat-edit-applycontextWindow:32768maxTokens:4096# ② 推理模型9B thinking 模型用于复杂分析-name:Local Coder Vision (9B Reasoning)provider:openaimodel:local-coder-visionapiBase:http://10.25.1.71:4000/v1apiKey:sk-litellm-local-xxxxxxxxxxxxxxxxxxxxxxxxxxroles:-chatcontextWindow:32768maxTokens:4096# ③ Tab 自动补全模型同样走 LiteLLM 的 local-coder# LiteLLM 会优先调度 14B14B 繁忙时自动切 7B-name:Local Coder (Autocomplete)provider:openaimodel:local-coderapiBase:http://10.25.1.71:4000/v1apiKey:sk-litellm-local-xxxxxxxxxxxxxxxxxxxxxxxxxxroles:-autocompletetabAutocompleteOptions:debounceDelay:350maxPromptTokens:4096multilineCompletions:alwaysallowAnonymousTelemetry:falserules:-你是一个A股量化交易系统的Python开发专家精通AKShare、pandas、FastAPI、量化策略开发。-代码风格遵循 PEP 8优先使用类型注解。-涉及AKShare接口调用时优先使用akshare最新API避免已弃用接口。-量化策略代码需要考虑防未来函数、滑点、手续费等实际情况。-输出中文注释变量命名清晰。配置字段说明对照 LiteLLM字段说明值provider告诉 Continue 用 OpenAI 兼容协议连接 LiteLLMopenaimodel必须与 LiteLLM /v1/models 返回的 id 完全一致local-coder / local-coder-visionapiBase必须是版本根路径 /v1不能是完整 /v1/chat/completionshttp://10.25.1.71:4000/v1apiKeyLiteLLM 要求鉴权LiteLLM 配置文件中的master_keyroles决定模型承担哪些功能chat/edit/apply/autocomplete4. 验证1、CtrlL 打开 Continue Chat 侧边栏 2、点击顶部的模型下拉选择器 ✅ 你应该能看到两个模型autocomplete 角色的模型是专门用于行内代码补全的它不一定出现在聊天下拉框里 Local Coder (Auto 14B/7B) ← 用于 Chat/Edit Local Coder Vision (9B Reasoning) ← 用于复杂推理 3、验证对话在 Continue Chat 输入框输入测试 4、验证代码补全打开任意一个 .py 文件输入 def get_kline停顿 350ms预期出现灰色补全建议按 Tab 接受5. 其他如果你希望某个项目的配置独立于全局比如不同项目用不同规则可以在项目根目录创建 .continuerc.json{mergeBehavior:merge,rules:[本项目是XX策略模块使用AKShare的XX接口获取XX数据]}mergeBehavior: merge 表示叠加到全局配置上。另外我留意到continue对话框下面还有一个mode下拉框有chat、plan、agent三个选项这里也通过A股量化开发场景简单说明一下区别Chat 模式 → 回答问题、解释代码、头脑风暴“AKShare 里获取北向资金的函数怎么用”“解释一下这段代码里的未来函数风险”“Qwen2.5-Coder 的 RoPE 实现原理是什么”特点纯对话模型不会主动去翻你的代码库你给它什么上下文file、codebase它才看什么Plan 模式 → 读文件、搜索代码、分析结构、制定方案“我要给现有的 AKShare 服务加一个 /get_stock_news 接口帮我规划实现步骤”“分析一下当前量化策略模块的架构给出防未来函数的改造方案”“我想把 T1 策略从规则引擎改成 ML 模型先给我一份技术方案”特点模型会主动读你的代码、搜索项目结构但不会改任何文件——它只输出一份详细的实施计划价值在不动代码的前提下先让 AI 把方案讲清楚你认可后再动手Agent 模式 → 读文件 改代码 跑终端命令 调工具“给所有 API 接口加上输入校验用 Pydantic 模型返回 400 错误”“在 tool_server.py 里新增一个 /run_backtest 接口调用我的回测模块”“把项目里所有的 print 调试语句替换成 logging 模块调用”特点模型自主决定读哪些文件、改哪些文件、跑哪些命令直到任务完成安全机制默认每次工具调用都会弹窗问你授权你可以点 Continue 允许或 Cancel 拒绝风险本地 9B/14B 模型做多步 Agent 任务可能不稳定——它可能在第 3 步迷路所以建议从小任务开始四、总结完整操作清单步骤位置操作1VS Code安装 Continue 插件2VS CodeCtrlL → 模型下拉 → Local Config 齿轮 → 打开 config.yaml3编辑器替换为上面的 YAML 配置4Continue Chat模型下拉选择 Local Coder (Auto 14B/7B)5Chat 输入测试“用 AKShare 获取 600519 日线”6.py 文件输入 def get_kline 测试 Tab 补全配置完成后的效果[VS Code 58] │ ├── Chat/Edit → Continue → LiteLLM(71:4000) │ → local-coder → 14B(58) 优先 │ → 7B(71) fallback │ ├── Reasoning Chat → Continue → LiteLLM(71:4000) │ → local-coder-vision → 9B(58) │ └── Tab Autocomplete → Continue → LiteLLM(71:4000) → local-coder → 14B(58) 优先 → 7B(71) fallback完全开源、零 API 费用、数据 100% 本地
返回列表