下面是一个完整的指南,介绍如何在 VSCode 中使用 Continue 插件配合 vLLM 和 QWenCoder 来部署自动写代码的脚本。

准备工作

  1. 确保已安装以下软件:

    • Visual Studio Code (VSCode)

    • Python 3.8+

    • Git

安装 Continue 插件

  1. 在 VSCode 中打开扩展市场 (Ctrl+Shift+X)

  2. 搜索 "Continue" 并安装

  3. 安装完成后,VSCode 侧边栏会出现 Continue 的图标

设置 vLLM 服务

vLLM 是一个高效的大语言模型推理引擎,我们需要先部署它来运行 QWenCoder 模型。

安装 vLLM

pip install vllm

下载 QWenCoder 模型

确保你有足够的存储空间(QWenCoder 模型通常需要几十GB空间)

sudo apt update
sudo apt install git-lfs
安装后初始化:
git lfs install
git clone https://www.modelscope.cn/XGenerationLab/XiYanSQL-QwenCoder-3B-2502.git

启动 vLLM 服务

python -m vllm.entrypoints.api_server \
    --model Qwen2.5-Coder-1.5B \
    --trust-remote-code \
    --port 8000
如果 GPU (Tesla V100) 不支持 bfloat16 数据类型使用以下命令:
python -m vllm.entrypoints.api_server \
    --model Qwen2.5-Coder-1.5B \
    --trust-remote-code \
    --port 8080 \
    --dtype half \
    --gpu-memory-utilization 0.9

 vllm serve Qwen2.5-Coder-1.5B  --port 8080 --dtype half 

服务启动后会在本地 8000 端口提供 API 接口。

配置 Continue 使用本地 vLLM 服务

在 VSCode 中打开 Continue 设置

添加以下配置到 Continue 的设置中:

name: Local Assistant
version: 1.0.0
schema: v1
models:
  - name: Qwen2.5-Coder-1.5B
    provider: vllm
    model: Qwen2.5-Coder-1.5B
    useLegacyCompletionsEndpoint: true
    apiBase: http://i-1.gpushare.com:24901/v1
    roles:
      - chat
      - autocomplete
context_providers:
  - name: code
  - name: docs
  - name: diff
  - name: terminal
  - name: problems
  - name: folder
  - name: codebase

使用自动写代码功能

  1. 在 VSCode 中打开一个代码文件

  2. 使用快捷键 Ctrl+Shift+M 打开 Continue 的聊天界面

  3. 你可以:

    • 描述你想要的代码功能,Continue 会生成代码

    • 选中一段代码,让 Continue 解释或修改它

    • 输入 /edit 命令让 Continue 直接修改当前文件

示例用法

  1. 生成新代码

    请帮我写一个Python函数,计算斐波那契数列的第n项
  2. 修改现有代码
    选中一段代码然后输入:

    请优化这段代码的性能
  3. 解释代码
    选中一段代码然后输入:

    请解释这段代码的工作原理

高性能 config.yaml 配置模板

name: QWenCoder-HighPerf
models:
  - model: QWenCoder
    api_base: http://localhost:8000/v1
    api_key: "none"
    context_length: 8192  # 最大上下文长度
    temperature: 0.3      # 降低随机性提高确定性
    top_p: 0.9           # 平衡生成质量与多样性
    max_tokens: 4096      # 单次生成最大token数
    stop: ["<|endoftext|>", "\n\n\n"]  # 停止标记
    system_message: "你是一个高性能代码助手,响应需精确且简洁"

context_providers:
  - name: code
    accept: ["**/*.{py,js,ts,java,cpp,go,rs}"]  # 仅监控代码文件
  - name: terminal
  - name: problems

features:
  autocomplete:
    enabled: true
    delay: 150  # 自动补全触发延迟(ms)
  chat:
    max_parallel_requests: 2  # 并行请求数

Logo

免费领 200 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐