star-vector
基于 VLM 架构的 SVG 矢量图生成模型,将图片和文本转换为可编辑的矢量代码
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 VLM 架构的 SVG 矢量图生成模型,将图片和文本转换为可编辑的矢量代码
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你上传一张截图或输入一句描述,AI 就能吐出精准的 SVG 代码——可以直接在浏览器里打开、在 Figma 里编辑、无限放大也不会模糊。这不是设想,而是 StarVector 已经做到的事情。
传统的图片处理工具有两大硬伤:位图(PNG/JPG)放大就糊,矢量图(SVG)靠人工手绘又慢又贵。在 AI 绘图工具井喷的年代,主流模型都在卷「画得更好看」,却没人认真解决「画成矢量格式」这个工程刚需。 2023 年底,Graphie 研究团队(后来的项目核心成员)看到了这个机会:与其让 AI 渲染像素图,不如让 AI 直接生成代码——SVG 本质上就是一种结构化标记语言,生成 SVG 和生成 Python 代码没有本质区别。这个思路直接奠定了 StarVector 的技术路线。
StarVector 的核心创新是把 SVG 生成问题重新定义为代码生成问题。它采用典型的 Vision-Language Model(VLM)架构,由两大部分组成:
视觉编码器(Image Encoder):基于 OpenCLIP 预训练模型,将输入图片转换为特征向量序列。这一步解决了「AI 看懂图片」的问题,CLIP 的多模态预训练提供了强大的视觉语义理解能力。
大语言模型(LLM Backbone):基于 GPT-bigcode 架构(StarCoder/StarCoder2 系列),这是一个专为代码任务优化的 Transformer 架构。视觉特征通过 projection layer 注入到 LLM 的 token 序列中,模型通过自回归方式逐 token 生成 SVG 代码。
技术选型上,项目使用了 HuggingFace Transformers 生态的完整工具链:AutoProcessor 统一处理图像和文本输入,AutoModelForCausalLM 加载 LLM backbone,配合 accelerate 实现分布式推理。
StarVector 提供两个参数规模的预训练模型,均托管在 HuggingFace:
transformers 库直接加载,配合 gradio 封装的 Web UI 使用门槛大幅降低。StarVector 的训练基于团队自建的 SVG-Stack 数据集(同样托管在 HuggingFace),该数据集整合了多个公开 SVG 资源,包括 EmojiSVG、IconSVG、FontSVG、FigRSVG 等,覆盖图标、字体、富文本插图等多种 SVG 场景。团队还构建了对应的评测基准 SVG-Bench,用于量化模型在不同类型 SVG 上的生成质量。
项目自带完整的 Gradio Web 界面,通过 gradio_web_server.py 启动,界面支持图片上传 + 文本描述的混合输入。底层推理服务基于 FastAPI 架构,提供了分布式 worker 机制(controller + model_worker 模式),支持多卡并行推理。
此外,团队还提供了基于 vLLM 的高性能推理脚本(scripts/quickstart-vllm.py),以及纯 HuggingFace 推理脚本(scripts/quickstart-hf.py),满足从快速 Demo 到生产部署的全场景需求。
这是项目最大的限制:StarVector 是一款必须依赖 GPU 运行的模型。即使是 1B 版本,推理也需要至少 16GB 显存(建议 RTX 3090 或 A100)。项目提供了 Dockerfile,基于 pytorch/pytorch:2.5.1-cuda12.4-cudnn9-devel 镜像,包含了 deepspeed 和 jupyter 环境,但没有多阶段构建,镜像体积较大。
部署流程建议:使用 pip install starvector 方式安装 Python 包,配合 vLLM 或 HuggingFace pipeline 推理,避免直接使用 Dockerfile 的 Jupyter 方式(更适合开发者调试而非生产)。
StarVector 已被 CVPR 2025 接收,后续工作 RLRF(Reinforcement Learning from Rich Feedback)进一步被 NeurIPS 2025 接收,展示了团队在模型优化方向持续深耕的路线图。这种学术背书在 AI 开源项目中极为稀缺,证明了项目的技术创新性和工程完整性。
StarVector 的出现填补了「AI 生成矢量图」这一空白赛道。随着设计工具自动化的需求增长,能够直接生成可编辑矢量代码的模型将具备极高的商业价值。从技术趋势看,VLM 架构在代码生成领域的应用正在从「文本代码」向「图形代码」迁移,StarVector 是这一趋势的代表性工作。 截至目前,项目已在 GitHub 获得 4438 颗星,HuggingFace 模型下载量持续增长,社区活跃度处于上升期。

图1:项目负责人 Juan Rodriguez