HuggingFace代码开源补全 开源模型

StarCoder2 2

StarCoder系列 · HuggingFace × ServiceNow · 2024-02发布

开源支持本地部署国内可直连有免费额度长上下文代码专用

模型介绍

BigCode 计划开源的代码模型,训练于 900+ 语言版本库,3B/7B/15B 尺寸覆盖,代码补全与生成能力强。

模型基础信息

模型系列StarCoder系列
开发机构HuggingFace × ServiceNow
发布时间2024-02
参数规模3B / 7B / 15B
上下文窗口16K
模型类型文本(代码专用)
中文能力一般
使用方式网页体验 / API调用 / 本地部署

免费额度与收费政策

开源免费

免费规则详情

OpenRAIL-M 可商用(遵守条款)。

收费标准简介

本地零成本。

模型能力介绍

✅ 核心优势

  • 代码能力均衡
  • 尺寸覆盖广
  • HF 生态
  • 开源

⚠️ 短板与局限

  • 中文一般
  • 指令差于对话模型
  • 生态较小

🎯 适用场景

  • 代码补全
  • 代码搜索
  • IDE
  • 数据科学

模型使用教程

本章节整理 StarCoder2 的在线体验、API调用、本地部署全套入门教程,快速上手使用该模型。

  • 本地体验:ollama run starcoder2 或 Transformers / vLLM 加载。
  • 云端:HF 托管模型可在线体验。
ollama run starcoder2 "用中文介绍一下StarCoder2"
HF_ENDPOINT=https://hf-mirror.com huggingface-cli download HuggingFace × ServiceNow/StarCoder2 --local-dir ./starcoder2

或 ModelScope 国内直连下载。

from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained('HuggingFace × ServiceNow/StarCoder2')
tok = AutoTokenizer.from_pretrained('HuggingFace × ServiceNow/StarCoder2')
code = tok.apply_chat_template([{'role':'user','content':'你好'}], tokenize=False)
print(model.generate(**tok(code, return_tensors='pt')))

StarCoder2(3B/7B/15B)是 BigCode 的代码模型,OpenRAIL-M 许可,本地写代码/补全很合适。

  1. Ollama:

ollama pull starcoder2:15b

  1. 使用:

ollama run starcoder2:15b

  1. vLLM / transformers 服务化:

pip install vllm && vllm serve bigcode/starcoder2-15b-instruct-v0.1 --port 8000

Tips:3B 版适合低显存 FIM 补全;15B 代码质量更高,约 30GB 显存。

💡 使用小技巧

直接接 IDE 补全。

❓ 常见问题 FAQ

Q1:StarCoder2 特点?\nA1:代码补全训练。

访问备注与注意事项