当前位置: 首页 > news >正文

OpenVINO™ C# API 3.3 全新发布!正式接入 OpenVINO GenAI,C# 本地大模型开发全面启航!

penVINO C# API 3.2 主要解决的是:C# 如何稳定、完整地调用 OpenVINO 做传统推理。到了 3.3,项目继续保留这条主线,同时把能力边界向 GenAI 扩展。

3.3 的升级重点可以概括为:

  • 正式接入 OpenVINO GenAI:新增OpenVinoSharp.GenAI命名空间,开始覆盖 LLM、Whisper、VLM 等生成式 AI pipeline。
  • C# 直接调用本地大模型:不再必须绕 Python 服务,也不需要把模型推理拆到外部脚本中。
  • GenAI runtime NuGet 化:通过JYPPX.OpenVINO.GenAI.runtime.*管理 native runtime,减少手动拷 DLL 的部署成本。
  • 传统推理保持稳定:只使用CoreModelCompiledModelInferRequest的老项目,不会强制加载 GenAI runtime。
  • 示例和文章同步补齐:新增samples/GenAI,并提供文本生成、Whisper、VLM 三类可复现实战文章。
  • 全目标框架继续覆盖:从net46net10.0,兼顾老项目和新项目。

适用读者

读者类型阅读重点预期收益
3.2 老用户是否兼容、是否必须安装 GenAI runtime判断升级风险和迁移路径
C# AI 开发者LLM、Whisper、VLM 如何进入 .NET 项目快速了解 3.3 的新能力
桌面/工业软件开发者离线部署、runtime 管理、本地推理评估是否能接入现有业务
技术负责人包支持平台、示例完整度、后续教程判断技术选型和落地成本
新用户项目定位、NuGet 安装、示例入口建立对 OpenVINO C# API 的整体认知

阅读建议

  1. 想快速了解版本价值,先看【一句话总结】和【核心亮点抢先看】。
  2. 想知道新增了哪些功能,重点看【3.3 核心亮点详解】。
  3. 已经在使用 3.2,重点看【老项目是否需要担心】和后续迁移文章。
  4. 想立即运行示例,可以从本文的 TinyLlama 快速体验开始,再阅读第 2 篇文本生成教程。

🌟 核心亮点抢先看

┌─────────────────────────────────────────────────────────────────────────────┐ │ OpenVINO™ C# API 3.3 核心亮点 │ ├─────────────────────────────────────────────────────────────────────────────┤ │ 🚀 GenAI 正式接入 新增 OpenVinoSharp.GenAI,C# 直接调用本地生成式 AI │ │ 🧠 LLM 文本生成 支持 Greedy、Beam Search、Sampling、Streaming、Chat │ │ 🎙 Whisper 语音识别 支持本地 WAV 转写、语言设置和时间戳分段 │ │ 🖼 VLM 图文问答 支持图片 Tensor + Prompt 的视觉语言模型调用 │ │ 📦 Runtime NuGet GenAI runtime 平台包发布,减少手动部署 native DLL │ │ 🧩 老项目友好 传统推理不强制加载 GenAI runtime,可按需升级 │ │ 🎯 全框架覆盖 net46 到 net10.0,兼顾 .NET Framework 与现代 .NET │ └─────────────────────────────────────────────────────────────────────────────┘

📢 写在前面:C# 本地大模型开发,终于可以更自然了

在很多真实项目里,C# 仍然是主力工程语言:桌面软件、工业上位机、视觉检测系统、企业内网工具、ASP.NET Core 服务、边缘设备应用,都大量运行在 .NET 生态里。

过去,当这些项目想接入大模型能力时,常见做法是:

  • C# 程序调用 Python 服务;
  • 通过命令行脚本间接运行模型;
  • 把推理逻辑拆到另一个进程;
  • 或者手动封装 native DLL,自己处理依赖加载。

这些方案能用,但工程成本不低。服务部署、进程通信、模型路径、运行时依赖、日志排错、版本锁定,都会变成额外工作。

OpenVINO C# API 3.3 的目标,就是让 C# 开发者可以用更贴近 .NET 工程习惯的方式使用 OpenVINO GenAI。

C# 应用代码 ↓ OpenVinoSharp.GenAI ↓ OpenVINO GenAI runtime ↓ 本地 LLM / Whisper / VLM 模型

你仍然写 C#,仍然通过 NuGet 管理包,仍然用using管理资源,只是在 3.3 中,文本生成、语音识别、图文问答这些 GenAI 能力开始进入同一个 API 体系。


🎯 一句话总结

OpenVINO C# API 3.3 = 3.2 的稳定传统推理能力 + OpenVINO GenAI 托管封装 + GenAI runtime NuGet 平台包 + LLM / Whisper / VLM 示例工程 + 面向 C# 开发者的完整教程系列

如果说 3.2 是一次“传统推理能力的全栈强化”,那么 3.3 就是一次“从传统推理走向本地 GenAI 应用”的关键升级。


📊 3.2 与 3.3 对比一览

能力维度OpenVINO C# API 3.2OpenVINO C# API 3.3升级价值
项目定位传统 OpenVINO 推理封装核心推理 + GenAI 能力入口⭐⭐⭐⭐⭐
GenAI 支持未系统覆盖新增OpenVinoSharp.GenAI⭐⭐⭐⭐⭐
LLM 文本生成无完整 C# 示例Greedy、Beam、Sampling、Streaming、Chat⭐⭐⭐⭐⭐
Whisper 语音识别未覆盖新增 Whisper pipeline 示例⭐⭐⭐⭐
VLM 图文问答未覆盖新增图片 + 文本 prompt 示例⭐⭐⭐⭐
runtime 管理基础OpenVINO.runtime.*新增JYPPX.OpenVINO.GenAI.runtime.*⭐⭐⭐⭐⭐
老项目兼容支持传统推理传统推理继续稳定,GenAI 按需启用⭐⭐⭐⭐⭐
示例体系YOLO 等传统示例新增samples/GenAI示例树⭐⭐⭐⭐⭐
文档教程安装、API、传统案例增加 GenAI 系列实战文章⭐⭐⭐⭐⭐
目标框架覆盖 .NET Framework 与现代 .NET继续覆盖net46net10.0⭐⭐⭐⭐⭐

✨ 3.3 核心亮点详解

1️⃣ 正式接入 OpenVINO GenAI:C# 不再只是传统推理入口

3.3 新增了OpenVinoSharp.GenAI命名空间,把 OpenVINO GenAI C API 的核心能力封装成 C# 类型。

主要新增类型包括:

作用
GenAIGenAI runtime 初始化与可用性检查
GenerationConfig文本生成配置
LLMPipelineLLM 文本生成 pipeline
DecodedResults文本生成结果
PerformanceMetrics性能指标
WhisperPipelineWhisper 语音识别 pipeline
WhisperGenerationConfigWhisper 生成配置
WhisperDecodedResultsWhisper 识别结果
VLMPipeline视觉语言模型 pipeline
VLMDecodedResultsVLM 输出结果

最小文本生成代码大致如下:

using OpenVinoSharp.GenAI; using GenerationConfig config = new(); config.SetMaxNewTokens(64); using LLMPipeline pipeline = new(modelDir, "CPU"); using DecodedResults results = pipeline.Generate("What is OpenVINO?", config); Console.WriteLine(results.GetText());

这段代码展示了 3.3 最核心的体验:C# 对象 + NuGet runtime + 本地模型目录 +using资源管理

后续第 2 篇文章会专门展开 LLM 文本生成,包括 Greedy、Beam Search、Multinomial Sampling、Streaming 和 Chat。


2️⃣ LLM 文本生成:从 smoke test 到聊天应用的基础能力

3.3 新增的文本生成示例覆盖多个典型场景:

示例场景
Greedy稳定、确定性的文本生成,适合 smoke test
BeamSearch多候选路径搜索,适合更稳定的生成任务
Multinomialtemperature、top-p、top-k 采样,适合开放式输出
Streaming逐 token 输出,适合聊天窗口和长文本生成
Chat支持交互式输入和--turn脚本化对话
Benchmark输出 TTFT、TPOT、吞吐等性能指标

其中Chat示例已经加入中文 prompt 验证路径,适合自动化测试:

dotnet run --project samples/GenAI/TextGeneration/Chat/Chat.csproj --framework net8.0 -- ` --model E:\LlmModel\TinyLlama-1.1B-Chat-v1.0-int4-ov ` --device CPU ` --turn "请用中文列出三个 OpenVINO 关键词。"

需要注意的是,C# 编码链路能正确传递中文,并不代表所有模型都有稳定中文能力。TinyLlama 适合作为轻量验证模型;正式中文应用建议选择中文或多语能力更强的 OpenVINO 模型。


3️⃣ Whisper 语音识别:本地音频转写进入 .NET 应用

3.3 新增WhisperPipeline示例,演示如何在 C# 中加载 OpenVINO 格式 Whisper 模型,把 16 kHz mono WAV 转成文本,并输出时间戳分段。

典型调用流程:

float[] samples = WavFile.ReadMonoFloat(audio, 16000); using WhisperPipeline pipeline = new(model, device); using WhisperGenerationConfig config = pipeline.GetGenerationConfig(); config.SetLanguage("<|en|>"); config.SetTask("transcribe"); config.SetReturnTimestamps(true); using WhisperDecodedResults results = pipeline.Generate(samples, config); Console.WriteLine(results.GetString());

这个能力适合:

  • 离线语音识别;
  • 会议音频预处理;
  • 桌面软件语音输入;
  • 工业现场本地转写;
  • 内网环境下不出网的语音文本化。

第 3 篇文章会详细讲模型准备、音频转换、WAV 读取、timestamp chunks 和常见错误。


4️⃣ VLM 视觉语言问答:图片 + Prompt 的多模态入口

3.3 也新增了 VLM 示例,用 C# 把图片加载成 OpenVINOTensor,再和文本 prompt 一起送入VLMPipeline

核心代码大致如下:

using Tensor imageTensor = ImageTensorLoader.LoadRgbTensor(image); using GenerationConfig config = GenAISample.CreateTextConfig(maxNewTokens); using VLMPipeline pipeline = new(model, device); using VLMDecodedResults results = pipeline.Generate( prompt, new[] { imageTensor }, config); Console.WriteLine(results.GetText());

这个方向可以扩展到:

  • 图片内容描述;
  • 工业检测结果解释;
  • 文档截图理解;
  • 设备状态问答;
  • 本地多模态助手。

第 4 篇文章会进一步讲图片 Tensor、RGB BMP/PPM 输入、中文 VLM prompt 和交互式问答。


5️⃣ GenAI Runtime NuGet:部署不再靠手动拷 DLL

OpenVINO GenAI 不是只有一个openvino_genai_c.dll。一个正常运行的 GenAI 应用,还需要 OpenVINO core runtime、tokenizers、plugins、frontends、TBB 等 native 依赖。

3.3 对使用者最直接的改进是:GenAI runtime 可以通过平台 NuGet 包引入。

Windows GenAI 项目示例:

<ItemGroup> <PackageReference Include="JYPPX.OpenVINO.CSharp.API" Version="3.3.0" /> <PackageReference Include="JYPPX.OpenVINO.GenAI.runtime.win" Version="2026.2.0" /> </ItemGroup>

当前2026.2.0GenAI runtime 包覆盖:

平台GenAI runtime 包
Windows x64JYPPX.OpenVINO.GenAI.runtime.win
Ubuntu 24 x64JYPPX.OpenVINO.GenAI.runtime.ubuntu.24-x86_64
Ubuntu 22 x64JYPPX.OpenVINO.GenAI.runtime.ubuntu.22-x86_64
Ubuntu 22 ARM64JYPPX.OpenVINO.GenAI.runtime.ubuntu.22-arm64
RHEL 8 x64JYPPX.OpenVINO.GenAI.runtime.rhel8-x86_64
macOS ARM64JYPPX.OpenVINO.GenAI.runtime.macos-arm64

如果项目需要 GenAI,通常使用对应平台的JYPPX.OpenVINO.GenAI.runtime.*即可。GenAI runtime 包已经包含 GenAI 所需的 OpenVINO native 依赖,不建议在同一个项目里再同时引用基础OpenVINO.runtime.*包。

第 5 篇文章会专门讲:平台包怎么选、必要 DLL 有哪些、常见加载错误怎么排查。


6️⃣ 老项目友好:传统推理不被 GenAI 绑架

3.3 不是一次“强制所有项目接入 GenAI”的升级。

如果你的项目只使用传统 OpenVINO 推理,例如:

  • Core
  • Model
  • Tensor
  • CompiledModel
  • InferRequest

那么仍然可以只安装基础 runtime:

<ItemGroup> <PackageReference Include="JYPPX.OpenVINO.CSharp.API" Version="3.3.0" /> <PackageReference Include="OpenVINO.runtime.win" Version="2026.2.0" /> </ItemGroup>

只有当项目调用OpenVinoSharp.GenAI下的 API 时,才需要切换到对应平台的 GenAI runtime 包。

这对 3.2 老用户很关键:你可以先升级 API 包,验证原有推理路径稳定,再决定是否引入 GenAI。


7️⃣ 全框架覆盖:从 .NET Framework 4.6 到 .NET 10.0

JYPPX.OpenVINO.CSharp.API3.3.0 同时打包以下目标框架:

net46 net461 net462 net47 net471 net472 net48 net481 netcoreapp3.1 net5.0 net6.0 net7.0 net8.0 net9.0 net10.0

这意味着:

  • 老的 .NET Framework 桌面项目可以继续升级;
  • 新项目可以直接使用 .NET 8、.NET 9、.NET 10;
  • 同一套 API 包可以覆盖更多企业项目和边缘部署场景。

🧪 示例体系:新增samples/GenAI

3.3 新增完整的 GenAI 示例目录:

samples/GenAI ├── Common ├── TextGeneration │ ├── Greedy │ ├── BeamSearch │ ├── Multinomial │ ├── Streaming │ ├── Chat │ └── Benchmark ├── WhisperSpeechRecognition ├── VisualLanguageChat ├── README.md ├── RUNBOOK.md └── RunAllSamples.ps1

这些示例不是空壳 demo,而是配套了:

  • 公共参数解析;
  • runtime 可用性检查;
  • WAV 读取;
  • BMP/PPM 图片 Tensor 加载;
  • 性能指标打印;
  • 批量验证脚本;
  • 中文 prompt 自动化验证。

本地完整验证脚本会依次运行 LLM、Chat、Whisper、VLM 等多个场景,并保存日志,便于文章复现和 CI 验证。


⚡ 快速体验:TinyLlama 文本生成

准备模型路径:

cd E:\GitSpace\OpenVINO-CSharp-API-csharp3.3\OpenVINO-CSharp-API $modelRoot = "E:\LlmModel" $llm = Join-Path $modelRoot "TinyLlama-1.1B-Chat-v1.0-int4-ov"

运行 Greedy 示例:

dotnet run --project samples/GenAI/TextGeneration/Greedy/Greedy.csproj --framework net8.0 -- ` --model $llm ` --device CPU ` --prompt "What is OpenVINO?" ` --max-new-tokens 24

本机实测输出:

示例会输出生成文本和性能指标,包括 load time、TTFT、TPOT、throughput 等,方便后续做设备对比、版本验证和参数调优。


🎯 适合哪些项目关注?

OpenVINO C# API 3.3 尤其适合这些方向:

  • C# 桌面 AI 助手;
  • 工业视觉系统中的本地文本解释;
  • 离线语音识别工具;
  • 内网知识库前端;
  • 本地多模态问答应用;
  • 需要固定 runtime 版本的企业级部署;
  • 已经使用 OpenVINO C# API 3.2 的老项目。

如果你的项目本来就在 .NET 生态中,又希望把本地 AI 能力接进来,3.3 会比“C# 调 Python 服务”更接近工程化方案。


⚠️ 已知说明

当前阶段仍有一些需要说明的地方:

  • GenAI runtime 多平台包依赖上游 OpenVINO GenAI 官方发布物情况。
  • VLM 输出对模型、图片和 runtime 组合更敏感,正式演示建议使用语义明确的真实图片。
  • RAG、图像生成、视频生成等 pipeline 尚未作为 C# 示例加入。
  • 传统核心推理仍保持主线能力,GenAI 不会强制影响传统项目。

这些内容会在后续 runtime 使用指南和迁移文章中展开。


🚀 总结:从传统推理封装,迈向 .NET 本地 AI 工具箱

OpenVINO C# API 3.3 的价值,可以概括为三点:

  1. 它把 OpenVINO GenAI 正式带进 C#/.NET 生态。
  2. 它让 LLM、Whisper、VLM 有了可运行、可教学、可迁移的示例工程。
  3. 它通过可选 runtime 设计,让 3.2 老项目可以平滑升级。

从 3.2 到 3.3,OpenVINO C# API 不再只是传统推理封装,而是在向完整的.NET 本地 AI 工具箱演进。

下一篇,我们从最容易跑通、最适合展示的场景开始:用 C# 调用 TinyLlama,完成第一个 OpenVINO GenAI 文本生成示例。


📚 更多资源

资源链接
📖 完整文档https://guojin-yan.github.io/OpenVINO-CSharp-API
💻 示例代码https://github.com/guojin-yan/OpenVINO-CSharp-API/tree/csharp3.3/samples
📦 NuGet 包https://www.nuget.org/packages/JYPPX.OpenVINO.CSharp.API
🐛 问题反馈https://github.com/guojin-yan/OpenVINO-CSharp-API/issues
💬 技术交流QQ群:945057948

📢软件声明

1. 开源协议声明

作者所有开源项目代码均遵循Apache License 2.0开源协议。

特别说明:本项目集成了若干第三方库。若任何第三方库的许可协议与 Apache 2.0 协议存在冲突或不一致,均以该第三方库的原始许可协议为准。本项目不包含也不代表这些第三方库的授权声明,使用前请务必阅读并遵守第三方库的相关许可。

2. 代码开发与质量说明

  • AI 辅助开发:本代码在开发过程中使用了人工智能(AI)辅助生成与优化,并非完全由人工逐行编写。
  • 安全性承诺作者郑重声明,本代码中绝无任何有意设置的后门、病毒、木马或旨在破坏用户设备、窃取数据的恶意代码。
  • 技术局限性:受限于作者个人的技术水平与能力,代码中可能存在因逻辑不严谨、优化不足或经验欠缺导致的低级问题(例如但不限于内存泄漏、偶发崩溃、资源未释放等)。这些问题纯属能力不足所致,并非主观故意。
  • 测试范围:由于作者精力有限,未对本软件进行全方位、覆盖所有边缘场景的完整测试。
http://www.jsqmd.com/news/1094435/

相关文章:

  • 苹果用户用了十年的功能,我终于在Windows上实现了
  • 自由能商用燃气热水器:告别热水焦虑,用硬核实力定义高端商用热水
  • 从0到1搭建全面预算管理体系:一套可复用的四步闭环法
  • 2026腾讯会议领衔5款同传工具推荐
  • 计算机毕业设计之电脑商城销售管理系统的设计与实现
  • 6月产品上新|Flutter SDK 正式上线,一份Dart 代码,双端跑通定位与地图
  • lattice propel的使用例子
  • 程序员量化交易实战 23:串起每日模拟盘流程
  • 自定义数据集
  • 内网穿透的应用-把雨声和篝火装进NAS:Moodist环境音服务部署实践
  • Adobe Speech to Text 使用教程Adobe Speech to Text 2026 Mac 下载安装教程
  • 2026掌静脉梯控实测:这三点体验颠覆你的认知
  • ClearerVoice-Studio语音处理引擎:解决复杂音频场景下的语音清晰化挑战
  • git进阶07_Git 高级技巧与故障排查
  • 90%的外贸网站标题都写错了!GEO视角下的标题优化法则
  • [大模型架构重构,或可完美适配昇腾]大模型不是生成器而是分类响应器——三段式归档-范式-输出引擎 + 分类调度缓存
  • 计算机毕业设计之基于深度学习的文本异常事件抽取系统研究与实现
  • 从Prompt Engineering到Parameter Tuning:ChatGPT微调能力金字塔(L1-L5认证级能力图谱),你卡在第几层?(附自测题库与进阶路径图)
  • 计算机毕业设计之基于SSM技术企业营销画像系统设计与实现
  • 专业Modbus测试工具OpenModScan:工业自动化调试的终极解决方案
  • AI系统建设知识管理与应用系统:让企业的“AI造轮子”经验变成“数字资产”
  • 【JAVA毕设源码分享】基于springboot建筑工程项目管理系统设计与实现(程序+文档+代码讲解+一条龙定制)
  • 2026养猪保温灯罩排行榜!猪场实测:这才是规模化养殖标配
  • Calibre繁简中文转换插件:3分钟搞定电子书跨地区阅读难题
  • C#联合编程(网格检测)
  • 2026最新易学入门APP怎么选?
  • #代码合并冲突:一场关于协作的“健康摩擦”
  • 年轻电竞玩家AI笔记本实测:四款机型核心性能对比
  • 【Function Calling性能瓶颈白皮书】:实测对比12种参数组合,响应延迟从2.8s压至320ms的关键3配置
  • 专业geo搜索优化公司怎么选?一文理清核心要点