DeepSeek写代码怎么接入本地IDE?
先说说几个硬性门槛,别急着动手,先确认机器能不能跑起来。DeepSeek本地部署对资源要求不低,特别是7B及以上版本,上来就得过三关:显存至少12GB,像RTX 4080或A100起步;内存32GB打底;Python 3.9+和CUDA 11.8一个不能少。CPU模式虽然也能跑,但7B模型推理延迟轻松超过8秒,写代码时等这么久,基本没法用。跑个nvidia-smi确认GPU驱动正常,再执行python -c "import torch; print(torch.cuda.is_a vailable())",返回True才算通过。
如果显存不够,必须启用4-bit量化——这步要是省了,模型根本加载不起来。量化后显存占用能压到8GB左右,精度损失在可接受范围内,实测Ja va方法生成准确率还能达到89%,够用了。

第一步:拉起本地DeepSeek服务(FastAPI方式)
接下来就是创建服务脚本。新建一个deepseek-server.py,内容如下:
from fastapi import FastAPI, HTTPException
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
app = FastAPI()
model_path = "./deepseek-coder-7b-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.float16,
device_map="auto",
load_in_4bit=True # 必须启用
)
@app.post("/v1/completions")
async def completions(prompt: str):
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
output = model.generate(**inputs, max_new_tokens=512, temperature=0.3)
return {"choices": [{"text": tokenizer.decode(output[0], skip_special_tokens=True)}]}
启动服务时用uvicorn deepseek-server:app --host 0.0.0.0 --port 8000 --workers 1。注意两点:端口别用8080,那跟IDEA调试端口冲突;
务必加--workers 1
第二步:在IDEA里配置HTTP客户端调用本地服务
服务跑起来还不算完,关键一步是让IDEA能跟它对话。打开IDEA → Settings → Tools → HTTP Client → Create new HTTP file,然后粘贴以下请求:
POST http://localhost:8000/v1/completions
Content-Type: application/json
{
"prompt": "def fibonacci(n):
# 用递归实现斐波那契数列,加类型提示和docstring"
}
执行后能看到返回的完整Python函数,说明服务已经通了。但这只是手动测试,真正要的是在编辑器里自动化触发。
第三步:编写轻量插件,实现编辑器内实时触发
这才是重头戏。先新建IntelliJ Platform Plugin项目,选Gradle + Ja va,勾选Plugin DevKit。然后要在plugin.xml中声明扩展点:
核心逻辑在DeepSeekCompletionHandler类里实现:捕获Ctrl+Enter快捷键,提取当前光标处上下文,拼装JSON发往http://localhost:8000/v1/completions,解析响应后直接插入编辑器。最后打包插件(Build → Prepare Plugin for Distribution),在IDEA中Install plugin from disk。
插件安装后重启IDEA,打开任意.ja va文件,在方法体内按Ctrl+Enter,就能看到DeepSeek生成的代码块自动插入光标位置。整个过程就是这样,从硬件检查到服务部署,再到IDE集成,一步到位。