一、Augment Code介绍
Augment Code 是一个用于辅助开发者进行编程的 AI 编程助手工具,目标是通过 AI 提高代码的生成效率、质量和理解能力。它可以集成在本地 IDE 中(如 VS Code、JetBrains 系 IDE),帮助开发者进行代码自动补全、生成注释、自动重构、单元测试生成、代码解释等任务。
截至目前的信息(2025 年),Augment Code 是由 Augment AI 公司推出的产品,在 GitHub 上有开源版本,同时也有付费的商业版本。
1、Augment Code 的核心功能
不论是社区版还是商业版,Augment Code 通常具备以下主要功能:
功能类别 | 描述 |
---|---|
🔍 代码补全 | 类似于 GitHub Copilot,根据上下文预测并自动补全代码。 |
📄 代码生成 | 可以通过自然语言生成函数、类等代码结构。 |
🧠 代码解释 | 可以解释选中代码块的含义,便于新手理解复杂逻辑。 |
🔧 单元测试生成 | 自动为指定函数生成单元测试代码。 |
🧹 代码重构 | 提出重构建议,例如方法拆分、变量命名优化等。 |
💬 Chat Coding | 内嵌类似 ChatGPT 的对话界面,可与 AI 聊天生成/调试代码。 |
2、社区版(Community Edition)
社区版是开源或免费可用的版本,适合个人用户、小团队或爱好者使用。
特点:
-
✅ 开源/免费 使用(通常基于 MIT 或 Apache-2.0 协议)
-
✅ 支持主流 IDE 插件(VS Code、JetBrains)
-
✅ 本地模型部署选项(支持通过 LLM 接入 OpenAI、Hugging Face 模型、DeepSeek 等)
-
✅ 标准功能支持(补全、解释、测试生成)
-
❌ 无商业 SLA 或支持
-
❌ 模型能力依赖于用户本地/私有模型接入
-
❌ 没有协作功能或团队管理
-
❌ 无安全/审计能力
适用人群:
-
独立开发者
-
AI 爱好者
-
教育/科研机构试验使用
3、商业版(Pro / Enterprise)
商业版是为企业级用户设计的付费版本,提供更强大的功能和服务支持。
商业版功能(相较社区版):
功能类别 | 商业版专属功能 |
---|---|
🧠 模型接入 | 集成增强型模型(如 GPT-4 Turbo、Claude、DeepSeek Pro 版本) |
🧩 插件生态 | 支持企业内部工具集成(Jira、Confluence、GitHub Enterprise) |
🔐 安全性 | SSO、数据加密、私有模型托管、敏感信息屏蔽 |
📈 团队管理 | 团队成员管理、使用分析、权限控制等 |
💬 协作功能 | 团队共享 prompt、AI 会话、代码模板库 |
📞 商业支持 | 企业级 SLA、工单系统、专属客服通道 |
☁️ 云部署选项 | 可选择 SaaS 云服务或私有化部署 |
授权模式:
-
Pro:个人专业版,月付或年付
-
Enterprise:企业私有部署或大规模团队授权
4、社区版 vs 商业版 总结对比表:
功能项 | 社区版(Community) | 商业版(Pro/Enterprise) |
---|---|---|
代码补全 | ✅ 支持 | ✅ 高性能+定制优化 |
代码解释 | ✅ 支持 | ✅ 语义更深+团队共享支持 |
单元测试生成 | ✅ 支持 | ✅ 支持更多语言和框架 |
自然语言生成代码 | ✅ 支持 | ✅ 多模型+多语言优化 |
本地部署 | ✅(需自己配置) | ✅ 私有部署或托管可选 |
模型支持 | 部分模型(开源或 API) | 支持商业模型+自训练模型 |
团队协作与管理 | ❌ 不支持 | ✅ 支持团队功能 |
安全与权限控制 | ❌ 不支持 | ✅ 支持 SSO、审计、角色控制 |
插件生态 | 部分支持 | ✅ 可接 Git、Jira、CI 等工具 |
商业支持 | ❌ 无 | ✅ SLA、客服、培训等 |
5、部署方式
模式 | 描述 |
---|---|
本地部署 | 开源社区版可直接运行在开发者本地机,模型需自备 |
云托管版 | 商业版支持 SaaS 形式,企业可选用 Augment 官方服务 |
私有化部署 | 商业版支持部署在企业自己的服务器或私有云上,支持 GPU 加速与多模型调度 |
二、OpenShift AI 私有大模型系统 + Augment Code:架构概览
搭建的 OpenShift AI 私有大模型系统,本质上是一个支持企业内部部署、模型调度与服务编排的平台,可以托管像 DeepSeek、CodeLlama、StarCoder、Mistral 等大语言模型(LLM)。
而 Augment Code 支持通过 API/插件调用外部 LLM 服务,包括本地部署的模型服务 —— 这就为集成提供了可能性。
1、集成方式示意:
[Augment Code 插件 (本地IDE)] ←→ [本地 API 代理] ←→ [OpenShift AI 中的大模型服务 (OpenVINO, Triton, KServe)]
或者:
[Augment Code 插件] ←→ [企业内的 HTTP 推理接口 / Model Gateway] ←→ [部署在 OpenShift AI 的模型容器]
2、集成的好处
价值点 | 说明 |
---|---|
✅ 安全合规 | 模型不出内网,避免代码泄露,满足合规性需求(尤其是金融、制造、政务行业) |
✅ 成本可控 | 使用开源模型(如 DeepSeek-Coder、CodeLlama)部署在 OpenShift AI 上,避免 SaaS 订阅费用 |
✅ 可优化与调优 | 企业可微调代码相关数据集(代码库、注释习惯、业务术语),打造“公司专属代码助手” |
✅ 与CI/CD集成 | 通过 OpenShift Pipeline、Tekton、GitOps 等,可以结合 Augment Code 实现 AI Code Review、PR 检查、测试生成 |
✅ 可视化监控 | 使用 OpenShift AI 的监控能力查看模型响应时延、调用频率、资源占用等数据 |
3、集成技术细节
集成项 | 建议实现方式 |
---|---|
模型服务 | 在 OpenShift AI 中用 KServe / Triton 部署 DeepSeek-Coder / StarCoder / CodeGeeX 等代码大模型 |
服务接口 | 提供标准 HTTP 接口,如 OpenAI API 兼容格式(POST /v1/completions 或 /v1/chat/completions ) |
Augment Code 配置 | 在社区版中,Augment Code 可配置 API endpoint,用于连接本地 LLM 推理服务 |
身份控制 | 在模型服务前加上网关(如 Istio + JWT),保证只有授权 IDE 请求能调用模型 |
模型调度 | 使用 Ray / vLLM / Text Generation Inference 管理多个模型,按任务负载分配资源 |
调优支持 | 可使用 LangChain / LlamaIndex 等框架结合代码库做嵌入检索(RAG)增强代码理解能力 |
4、示例使用场景
-
AI 补全: 用户在 VS Code 编写 Java 代码,Augment Code 通过本地模型提供代码续写。
-
代码注释生成: 用户选中一段代码,请求解释,后台模型基于代码上下文生成自然语言注释。
-
代码审查: 提交代码前,自动触发模型分析是否符合规范、是否冗余。
-
单元测试生成: 用户选中一个函数,通过 Augment Code 请求生成测试,使用模型自动编写 JUnit 或 PyTest 测试样例。
5、注意事项
问题 | 建议 |
---|---|
模型响应延迟 | 使用 FP16 或 INT4 模型优化部署,GPU 建议使用 A100 或 L40 |
VS Code 配置接口 | 确保模型服务符合 OpenAI 格式,或使用插件适配 |
并发请求控制 | 模型服务需设置限流或队列机制,防止高并发时拥塞 |
模型精度 | 可通过继续预训练 / 微调(LoRA)提升模型对企业代码风格的适配 |
权限与审计 | 可加入调用日志、IP 白名单、身份认证机制,保障使用透明可控 |
三、OpenAI API 兼容接口的推理服务镜像
搭建一个 OpenAI API 兼容接口 的推理服务镜像,部署在现有的 OpenShift AI 环境中,用来接收像 Augment Code 或 Chat 界面那样的请求。
1、目标
你将获得一个支持如下接口的服务:
-
POST /v1/completions
(支持 Codex 类模型) -
POST /v1/chat/completions
(支持 Chat 模型,如 DeepSeek-Coder-Instruct) -
完全兼容 OpenAI 的 client(如 OpenAI SDK、Copilot、Augment Code 等)
2、底层模型建议
建议选择如下模型之一(都支持代码补全/对话):
模型名称 | 参数量 | 特点 | 推荐用途 |
---|---|---|---|
DeepSeek-Coder-6.7B / Instruct | 6.7B | 强代码补全/解释能力 | 💡推荐 |
Code Llama 7B / 13B | 7B/13B | Meta 出品,代码性能好 | 推理速度快 |
StarCoder2 | 15B | 多语言支持 | 比较全能 |
Mistral | 7B | 通用能力强 | 非代码专用,但也不错 |
3、构建 API 服务镜像(基于 vllm + OpenAI 兼容 API
)
我们使用开源库 vllm + openai-proxy
来构建容器服务。
1. Dockerfile 示例(Dockerfile.openai-llm
)
FROM nvidia/cuda:12.1.1-runtime-ubuntu20.04
# 安装基础工具
RUN apt update && apt install -y python3 python3-pip git
# 安装 vllm 和 openai proxy 接口
RUN pip3 install vllm fastapi uvicorn openai openai-proxy
# 下载模型(也可以通过挂载卷实现)
# RUN huggingface-cli login --token YOUR_TOKEN
# RUN vllm-download-model deepseek-ai/deepseek-coder-6.7b-instruct
# 启动服务命令
CMD ["python3", "-m", "vllm.entrypoints.openai.api_server", \
"--model", "deepseek-ai/deepseek-coder-6.7b-instruct", \
"--host", "0.0.0.0", \
"--port", "8000", \
"--tensor-parallel-size", "1"]
2. 容器启动参数说明
参数 | 描述 |
---|---|
--model | 指定 Hugging Face 上的模型 ID,也可以换成本地路径 |
--tensor-parallel-size | 多 GPU 启动用,一般单卡设为 1 |
--dtype | 自动选择 float16 以加快推理速度 |
--openai-api | 启动兼容 OpenAI 接口的 API |
--served-model-name | 如果你想设置模型别名 |
3. OpenShift AI 部署建议
-
使用 OpenShift 的 容器部署工作流,可将上述 Dockerfile 构建为镜像。
-
使用
DeploymentConfig
部署服务并暴露端口 8000。 -
使用 GPU 节点(NVIDIA GPU 驱动已装好)
-
为服务添加 route,例如
https://openai-llm.apps.mycluster.example.com
4、测试 OpenAI API 接口
可以用以下 Python 代码测试接口是否成功:
import openai
openai.api_key = "sk-xxx" # 可设任意值,实际不验证
openai.api_base = "https://openai-llm.apps.mycluster.example.com/v1"
response = openai.ChatCompletion.create(
model="deepseek-coder-6.7b-instruct",
messages=[
{"role": "system", "content": "你是一个代码助手"},
{"role": "user", "content": "写一个 Python 快速排序函数"}
],
temperature=0.5,
)
print(response['choices'][0]['message']['content'])
5、安全增强建议
-
✅ 添加 Basic Auth 或 Token 校验机制
-
✅ 加网关(Istio 或 OpenShift route policy)拦截非法访问
-
✅ 设置 QPS 限制,避免模型资源被刷爆
-
✅ 日志追踪和用户行为审计
6、扩展支持
可以支持多个模型(多路服务):
-
用 nginx 或 API 网关设置
/v1/completions
→model A
,/v1/chat/completions
→model B
-
或用 vLLM 的多模型支持功能
四、用 OpenShift AI 的 model serving operator 来部署
使用 OpenShift AI 的 Model Serving Operator(通常是 KServe 或其增强版本,如 odh-model-controller
),是最原生、自动化的一种方式,尤其适合 OpenShift 环境,支持 GPU 加速、自动扩缩容、监控和安全集成。
1、目标
使用 Model Serving Operator(如 KServe) 部署一个 兼容 OpenAI API 接口的代码大模型服务,供工具如 Augment Code 或 Chat IDE 使用。
部署完成后将拥有:
-
✅ 一个支持
/v1/completions
//v1/chat/completions
的 API 服务 -
✅ 部署在 GPU 节点上(使用 DeepSeek-Coder 或其他模型)
-
✅ 自动可扩容、监控、日志、TLS/Route 集成
-
✅ 可接入现有的私有模型平台架构(OpenShift AI)
2、步骤总览
-
🔧 安装 Model Serving Operator(如
kserve
或odh-model-controller
) -
📦 准备模型镜像(使用
vllm + OpenAI API
) -
🧾 创建
ModelServer
或InferenceService
YAML -
🌐 配置 Route 暴露
/v1/chat/completions
-
🧪 测试 OpenAI API 接口兼容性
3、安装 Model Serving Operator(如 KServe)
如果你已经安装了 OpenShift AI(RHODS),一般会包含如下组件:
-
odh-model-controller
(OpenShift 原生的模型部署 CRD) -
kserve
(基础层实现) -
GPU Operator(用于 GPU 节点调度)
检查是否已安装:
oc get pods -n redhat-ods-applications
oc get crd | grep model
如果还未安装,可以通过 OperatorHub 安装:
-
OperatorHub 中搜索:
Red Hat OpenShift AI
(包含 model serving) -
或搜索:
KServe
4、使用 VLLM 创建模型推理镜像
你需要一个镜像,比如:
✅ 推荐镜像(已构建好的)
-
ghcr.io/your-org/vllm-openai-api:latest
(你也可以自己构建) -
或使用
huggingface/text-generation-inference
+ openai-proxy(稍复杂)
如果你想我帮你构建,我可以附带 Dockerfile 和构建命令。
5、创建 ModelServer
CR(推荐使用 ODH 的方式)
以下是一个使用 ModelServer
CR(来自 odh-model-controller
)的 YAML 示例,部署 DeepSeek-Coder
模型,并暴露 OpenAI 接口:
apiVersion: serving.opendatahub.io/v1alpha1
kind: ModelServer
metadata:
name: code-llm-deepseek
namespace: your-namespace
spec:
modelFormat:
name: openai
storage:
# 可选,使用本地模型卷或持久化存储,如果镜像里已包含模型可省略
path: ""
runtime:
name: vllm-openai
resources:
limits:
cpu: "4"
memory: "16Gi"
nvidia.com/gpu: "1"
route:
enabled: true
⚠️ 你需要事先在 ServingRuntime
中注册好 vllm-openai
这个 runtime 类型。
6、定义 ServingRuntime
(一次性配置)
apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
metadata:
name: vllm-openai
namespace: your-namespace
spec:
supportedModelFormats:
- name: openai
version: "1"
autoSelect: true
containers:
- name: kserve-container
image: ghcr.io/your-org/vllm-openai-api:latest
ports:
- containerPort: 8000
args:
- "--model"
- "deepseek-ai/deepseek-coder-6.7b-instruct"
- "--openai-api"
resources:
limits:
nvidia.com/gpu: 1
memory: "16Gi"
cpu: "4"
7、暴露服务
如果设置了:
route:
enabled: true
OpenShift 会自动为你生成一个 Route
,你可以访问:
https://code-llm-deepseek-your-namespace.apps.your-cluster.com/v1/chat/completions
这就是你的 OpenAI API 接口。
8、测试调用(Python 示例)
import openai
openai.api_key = "sk-dummy"
openai.api_base = "https://code-llm-deepseek-your-namespace.apps.your-cluster.com/v1"
response = openai.ChatCompletion.create(
model="deepseek-coder-6.7b-instruct",
messages=[
{"role": "user", "content": "请写一个Python快速排序函数"}
]
)
print(response['choices'][0]['message']['content'])
9、总结
项目 | 状态 |
---|---|
模型部署 | ✅ 用 ModelServer 实现 |
OpenAI 接口 | ✅ /v1/chat/completions 接口兼容 |
Route 访问 | ✅ 自动暴露 |
GPU 加速 | ✅ 配置支持 |
与 Augment Code 集成 | ✅ 可通过配置 API Base 完美接入 |
五、OpenShift AI 模型服务部署模板包
下面是一个完整的 部署模板打包包,适用于在 OpenShift AI(RHODS)环境中通过 Model Serving Operator 部署一个 OpenAI API 兼容的本地代码大模型服务(以 DeepSeek-Coder 为例)。
1、ServingRuntime:定义运行时(vLLM + OpenAI 接口)
apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
metadata:
name: vllm-openai
namespace: model-serving
spec:
supportedModelFormats:
- name: openai
version: "1"
autoSelect: true
multiModel: false
replicas: 1
containers:
- name: kserve-container
image: ghcr.io/your-org/vllm-openai-api:latest
imagePullPolicy: IfNotPresent
command: ["python3", "-m", "vllm.entrypoints.openai.api_server"]
args:
- --model
- deepseek-ai/deepseek-coder-6.7b-instruct
- --host
- 0.0.0.0
- --port
- "8000"
- --dtype
- float16
ports:
- containerPort: 8000
resources:
limits:
cpu: "4"
memory: "16Gi"
nvidia.com/gpu: 1
📌 说明:
-
image
:你可以换成自己的镜像地址,推荐提前构建带模型的镜像 -
--model
:也可换成本地路径(例如/mnt/models/deepseek
)
2、ModelServer:部署模型实例并暴露服务
apiVersion: serving.opendatahub.io/v1alpha1
kind: ModelServer
metadata:
name: deepseek-coder-service
namespace: model-serving
spec:
modelFormat:
name: openai
runtime:
name: vllm-openai
storage:
path: "" # 如果模型已内置在镜像中,则为空
resources:
limits:
cpu: "4"
memory: "16Gi"
nvidia.com/gpu: "1"
route:
enabled: true
📌 结果: OpenShift 会自动创建一个 route,比如:
https://deepseek-coder-service-model-serving.apps.<cluster>.com/v1/chat/completions
3、(可选)添加身份认证(推荐)
在 Route 中启用 OAuth,或通过 Istio / NGINX Ingress 添加 API Token 校验,比如:
curl -H "Authorization: Bearer sk-xxx" \
-X POST https://your-api/v1/chat/completions \
...
4、测试调用(示例)
import openai
openai.api_key = "sk-anything" # 实际不会验证
openai.api_base = "https://deepseek-coder-service-model-serving.apps.<cluster>.com/v1"
resp = openai.ChatCompletion.create(
model="deepseek-coder-6.7b-instruct",
messages=[
{"role": "user", "content": "请解释下面的Python函数含义:\n def quicksort(arr): ..."}
]
)
print(resp['choices'][0]['message']['content'])
六、通过 OpenShift BuildConfig 自动构建镜像
使用 OpenShift 的 BuildConfig 自动构建镜像 是最原生的方式,适合企业内部 CI/CD 流程,同时支持从 Git 仓库拉取 Dockerfile 和模型,构建出 GPU 可用的推理镜像。
1、目标成果
通过本步骤,你将拥有:
✅ 一个自动构建的镜像(包含 vLLM + OpenAI API 接口 + DeepSeek-Coder 模型)
✅ 存储在 OpenShift 内部的镜像仓库(image-registry.openshift-image-registry.svc:5000
)
✅ 可用于 ServingRuntime
的模型镜像地址
✅ 自动化更新能力(每次 Git 提交即可触发重建)
2、项目结构推荐(Git 仓库内容)
可以把下面这个结构放到一个 Git 仓库(例如:https://github.com/your-org/code-llm-serve
):
code-llm-serve/
├── Dockerfile
└── start.sh # 启动脚本(可选)
3、Dockerfile(适配 GPU + vLLM)
# 使用官方 CUDA 基础镜像(支持 GPU)
FROM nvidia/cuda:12.1.1-runtime-ubuntu20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
python3 python3-pip git curl && \
pip3 install --upgrade pip
# 安装 vLLM 及其依赖
RUN pip install "vllm[openai]" fastapi uvicorn
# 下载模型(也可以通过卷挂载)
RUN pip install huggingface_hub
RUN huggingface-cli download deepseek-ai/deepseek-coder-6.7b-instruct --local-dir /models --local-dir-use-symlinks False
# 启动脚本(可选)
COPY start.sh /start.sh
RUN chmod +x /start.sh
CMD ["/start.sh"]
4、start.sh(简洁启动)
#!/bin/bash
python3 -m vllm.entrypoints.openai.api_server \
--model /models \
--host 0.0.0.0 \
--port 8000 \
--dtype float16
5、OpenShift BuildConfig 模板
以下是一个完整的 BuildConfig + ImageStream:
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
name: code-llm-serve
namespace: model-serving
---
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
name: code-llm-serve
namespace: model-serving
spec:
source:
type: Git
git:
uri: https://github.com/your-org/code-llm-serve.git
ref: main
strategy:
type: Docker
dockerStrategy:
dockerfilePath: Dockerfile
output:
to:
kind: ImageStreamTag
name: code-llm-serve:latest
triggers:
- type: GitHub
- type: ConfigChange
- type: ImageChange
6、触发构建
oc start-build code-llm-serve
完成后镜像地址为:
image-registry.openshift-image-registry.svc:5000/model-serving/code-llm-serve:latest
7、替换 ServingRuntime 中的镜像地址
只需在原始 ServingRuntime
中修改如下字段:
image: image-registry.openshift-image-registry.svc:5000/model-serving/code-llm-serve:latest
其余配置保持不变,部署后即生效!
8、总结流程图:
Git 仓库 (包含 Dockerfile)
↓
OpenShift BuildConfig 自动构建
↓
ImageStream → 本地镜像仓库
↓
Model Serving (ServingRuntime + ModelServer)
↓
用户通过 OpenAI API 接口访问推理服务
七、打包 DeepSeek 模型为本地 cache
将 DeepSeek-Coder 模型预打包为本地缓存,可以显著缩短镜像构建时间,避免 Hugging Face 网络不稳定带来的失败,还能减少构建时 GPU/CPU 资源占用。
1、目标
我们要将 Hugging Face 上的 deepseek-ai/deepseek-coder-6.7b-instruct
模型 下载为本地缓存目录,并在 Docker 构建时 直接复制到镜像中,实现离线构建。
2、步骤分解
1. 下载 DeepSeek 模型到本地缓存目录
可以使用以下命令,将模型完整下载为 Hugging Face 格式:
huggingface-cli download deepseek-ai/deepseek-coder-6.7b-instruct \
--local-dir ./deepseek-coder-6.7b-instruct \
--local-dir-use-symlinks False
或者使用 Python 方式:
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="deepseek-ai/deepseek-coder-6.7b-instruct",
local_dir="./deepseek-coder-6.7b-instruct",
local_dir_use_symlinks=False,
resume_download=True
)
下载后的目录大约有 14GB 左右,包含:
./deepseek-coder-6.7b-instruct/
├── config.json
├── generation_config.json
├── model-00001-of-00002.safetensors
├── model-00002-of-00002.safetensors
├── tokenizer_config.json
├── tokenizer.model
└── ...
2. 项目目录结构(用于 BuildConfig)
code-llm-serve/
├── Dockerfile
├── start.sh
└── deepseek-coder-6.7b-instruct/ ← 本地模型缓存目录
3. 更新 Dockerfile(复制模型目录)
FROM nvidia/cuda:12.1.1-runtime-ubuntu20.04
RUN apt-get update && apt-get install -y \
python3 python3-pip git && \
pip3 install --upgrade pip
# 安装依赖
RUN pip install "vllm[openai]" fastapi uvicorn
# 复制模型(提前打包好)
COPY deepseek-coder-6.7b-instruct /models
# 启动脚本
COPY start.sh /start.sh
RUN chmod +x /start.sh
CMD ["/start.sh"]
4. start.sh(无需模型下载)
#!/bin/bash
python3 -m vllm.entrypoints.openai.api_server \
--model /models \
--host 0.0.0.0 \
--port 8000 \
--dtype float16
5. 上传到 Git 仓库 / 提交 OpenShift BuildConfig
将整个打包好的目录(含模型)放入私有 Git 仓库或 GitHub 上,例如:
https://github.com/your-org/code-llm-serve-with-model.git
然后使用 OpenShift BuildConfig 去自动构建即可,无需再联网下载模型。
八、OpenShift AI 全流程部署模板包(含BuildConfig + ServingRuntime + ModelServer 的统一模板包)
下面是一个统一部署模板包(BuildConfig + ServingRuntime + ModelServer),支持在 OpenShift AI(RHODS)中自动构建、部署并提供 OpenAI API 接口的 DeepSeek-Coder 模型服务(基于 vLLM)。
1、假设目录结构(Git 仓库内容)
Git 仓库如 https://github.com/your-org/code-llm-serve-with-model
包含:
code-llm-serve-with-model/
├── Dockerfile
├── start.sh
└── deepseek-coder-6.7b-instruct/ ← 本地模型缓存目录(约 14GB)
2、 ImageStream(镜像仓库定义)
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
name: code-llm-serve
namespace: model-serving
3、BuildConfig(自动构建 vLLM + DeepSeek 镜像)
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
name: code-llm-serve
namespace: model-serving
spec:
source:
type: Git
git:
uri: https://github.com/your-org/code-llm-serve-with-model.git
ref: main
contextDir: .
strategy:
type: Docker
dockerStrategy:
dockerfilePath: Dockerfile
output:
to:
kind: ImageStreamTag
name: code-llm-serve:latest
triggers:
- type: GitHub
- type: ConfigChange
- type: ImageChange
4、ServingRuntime(vLLM + OpenAI 接口适配)
apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
metadata:
name: vllm-openai-runtime
namespace: model-serving
spec:
supportedModelFormats:
- name: openai
version: "1"
autoSelect: true
multiModel: false
replicas: 1
containers:
- name: kserve-container
image: image-registry.openshift-image-registry.svc:5000/model-serving/code-llm-serve:latest
imagePullPolicy: IfNotPresent
command: ["/start.sh"]
ports:
- containerPort: 8000
resources:
limits:
cpu: "4"
memory: "16Gi"
nvidia.com/gpu: "1"
5、ModelServer(部署模型服务 + 暴露 OpenAI 接口)
apiVersion: serving.opendatahub.io/v1alpha1
kind: ModelServer
metadata:
name: deepseek-coder-service
namespace: model-serving
spec:
modelFormat:
name: openai
runtime:
name: vllm-openai-runtime
storage:
path: "" # 镜像已内含模型,无需挂载
resources:
limits:
cpu: "4"
memory: "16Gi"
nvidia.com/gpu: "1"
route:
enabled: true
6、调用接口示例(OpenAI SDK)
import openai
openai.api_key = "sk-test" # 无需验证
openai.api_base = "https://deepseek-coder-service-model-serving.apps.<cluster>.com/v1"
resp = openai.ChatCompletion.create(
model="deepseek-coder-6.7b-instruct",
messages=[{"role": "user", "content": "请解释下面的Python函数作用:\ndef quicksort(arr): ..."}]
)
print(resp['choices'][0]['message']['content'])
7、总结:这份模板包适合
✅ 离线构建,无需依赖 Hugging Face
✅ 使用 OpenShift BuildConfig 构建镜像,原生支持 CI/CD
✅ 基于 GPU,支持 vLLM 高性能推理
✅ 支持 VS Code Copilot 类调用、Augment Code 接入、LangChain、Chat UI 等
九、模板下载
文章顶部可下载,包含内容如下:
-
Dockerfile
(带本地模型目录构建) -
start.sh
(vLLM 启动脚本) -
deepseek-coder-6.7b-instruct/
(模型目录 placeholder) -
k8s/
(OpenShift 所需 YAML 模板)-
ImageStream.yaml
-
BuildConfig.yaml
-
ServingRuntime.yaml
-
ModelServer.yaml
-
准备好模型权重文件后放入 deepseek-coder-6.7b-instruct/
,提交 Git 仓库,即可一键部署完整服务!