大数跨境

OpenVINO C# API 3.3.1:支持OpenVINO 2026.3及GenAI增强

OpenVINO C# API 3.3.1:支持OpenVINO 2026.3及GenAI增强 dotNET跨平台
2026-08-09
3
导读:OpenVINO C# API 3.3.1 已完成对 OpenVINO 2026.3 的适配。对于使用 C#

OpenVINO C# API 3.3.1 已完成对 OpenVINO 2026.3 的适配。此次更新为 C# AI 开发团队带来两大核心价值:现有推理代码可平滑升级,且 LLM、Whisper 及视觉语言模型等 GenAI 场景拥有了更完整的 C# 调用支持。

目前 API 与对应平台的 2026.3 runtime 均已发布至 NuGet。开发者无需单独安装 OpenVINO SDK 或手动复制 native 动态库,仅需为项目选择正确的平台包即可。

01这次更新带来了什么

Core 推理保持兼容

OpenVINO 2026.3 的 Core C API 未引入 ABI 破坏性变化。因此,已使用 CoreCompiledModelInferRequest 和 Tensor 的项目,升级后通常无需修改模型加载和推理代码。

常见的图像分类、目标检测、OCR、语义分割和 NLP 推理流程均可继续使用:

using OpenVinoSharp;  using Core core = new(); using CompiledModel compiledModel = core.CompileModel("model.xml", "CPU"); using InferRequest request = compiledModel.CreateInferRequest();  request.SetInputTensor(inputTensor); request.Infer();  using Tensor outputTensor = request.GetOutputTensor(); 

3.3.1 版本同时保留了原有 C 风格方法名和 PascalCase 方法名。既有代码可继续运行,新项目则建议优先使用 CompileModel()CreateInferRequest()SetInputTensor() 和 Infer() 等更符合 C# 规范的写法。

GenAI 仍然是可选能力

仅使用传统推理 API 的应用不会主动加载 openvino_genai_c。仅在需要以下能力时,才需引入 JYPPX.OpenVINO.GenAI.runtime.*

  • LLM 文本生成(包括 greedy、beam search、top-k、top-p 及流式输出);
  • Whisper 语音识别;
  • VLM 图片理解与多轮视觉问答;
  • Tokenizer、GenerationConfig、性能指标和聊天历史管理。

此举确保普通推理应用无需承担 GenAI runtime 的包体积和部署依赖,而 GenAI 项目仍可通过统一的 OpenVinoSharp.GenAI 命名空间使用托管 API。

VLM 多轮对话使用 ChatHistory

OpenVINO GenAI 2026.3 正式提供 VLM history 调用入口。OpenVINO C# API 通过 ChatHistory 和 GenerateWithHistory() 暴露该能力,由应用显式管理多轮对话上下文。

using OpenVinoSharp; using OpenVinoSharp.GenAI;  using VLMPipeline pipeline = new(modelDirectory, "CPU"); using ChatHistory history = new();  history.AddUserMessage("这张图片里有什么?"); using VLMDecodedResults first =     pipeline.GenerateWithHistory(history, new[] { imageTensor }); history.AddAssistantMessage(first.GetText());  history.AddUserMessage("其中最显眼的物体是什么颜色?"); using VLMDecodedResults second = pipeline.GenerateWithHistory(history); history.AddAssistantMessage(second.GetText()); 

图片通常只需在第一轮传入,后续问题通过 ChatHistory 延续上下文。流式输出也可在 GenerateWithHistory() 中传入回调处理。

旧版 StartChat() 和 FinishChat() 暂时保留以兼容既有代码,但已标记为 [Obsolete]。新项目应直接使用 history API;已有项目也建议在本次升级时完成迁移,避免继续依赖 OpenVINO GenAI 已弃用的有状态聊天模式。

02NuGet 安装与版本选择

建议将 C# API 和 native runtime 明确锁定至本次发布版本,避免构建机或部署环境自动还原到不一致的 native 版本。

Windows Core 推理项目:

<PackageReference Include="JYPPX.OpenVINO.CSharp.API" Version="3.3.1" /> <PackageReference Include="OpenVINO.runtime.win" Version="2026.3.0" /> 

Windows GenAI 项目:

<PackageReference Include="JYPPX.OpenVINO.CSharp.API" Version="3.3.1" /> <PackageReference Include="JYPPX.OpenVINO.GenAI.runtime.win" Version="2026.3.0" /> 

其他系统只需替换 runtime 包名。2026.3 当前提供的平台如下:

系统与架构 Core runtime GenAI runtime
Windows x64 OpenVINO.runtime.win JYPPX.OpenVINO.GenAI.runtime.win
Ubuntu 24 x64 OpenVINO.runtime.ubuntu.24-x86_64 JYPPX.OpenVINO.GenAI.runtime.ubuntu.24-x86_64
Ubuntu 22 x64 OpenVINO.runtime.ubuntu.22-x86_64 JYPPX.OpenVINO.GenAI.runtime.ubuntu.22-x86_64
Ubuntu 22 ARM64 OpenVINO.runtime.ubuntu.22-arm64 JYPPX.OpenVINO.GenAI.runtime.ubuntu.22-arm64
RHEL 8 x64 OpenVINO.runtime.rhel8-x86_64 JYPPX.OpenVINO.GenAI.runtime.rhel8-x86_64
CentOS 8 x64 OpenVINO.runtime.centos8-x86_64 暂无 2026.3 GenAI 包
macOS Apple Silicon OpenVINO.runtime.macos-arm64 JYPPX.OpenVINO.GenAI.runtime.macos-arm64

应用通常只应引用目标部署平台对应的 runtime 包。切勿同时加入多个 Linux 发行版或多个 CPU 架构的 native 包,以免增大产物体积或导致发布目录中的 native 文件冲突。

需注意,OpenVINO GenAI 官方版本号为 2026.3.0.0,对应的 NuGet runtime 包版本统一为 2026.3.0。在 .csproj 中应填写 NuGet 版本,而非四段式的官方归档版本号。

03升级前需要考虑的几件事

1. 区分 Core 与 GenAI 模型

Core 推理可继续使用 OpenVINO IR、ONNX 等受支持模型;而 LLMPipelineWhisperPipeline 和 VLMPipeline 则需要与 OpenVINO GenAI 兼容的模型目录。仅有一个普通 ONNX 文件并不等于可以直接传给 GenAI Pipeline。

2. 保持托管包和 runtime 版本匹配

本次推荐组合如下:

组件 推荐版本
JYPPX.OpenVINO.CSharp.API 3.3.1
OpenVINO.runtime.* 2026.3.0
JYPPX.OpenVINO.GenAI.runtime.* 2026.3.0

若应用通过环境变量或系统路径加载自行安装的 OpenVINO,需检查实际被加载的动态库,避免旧版系统 runtime 优先于 NuGet 包进入进程。

3. 根据设备准备驱动和插件

代码中的 CPUGPUAUTO 等设备名称仍遵循 OpenVINO 的设备规则。runtime 包提供 OpenVINO native 库,但 GPU 是否可用仍取决于操作系统、硬件和驱动环境。升级后建议先枚举可用设备,再在目标机器上进行一次真实模型推理。

4. 检查发布架构

Windows runtime 当前面向 x64,macOS 2026.3 包面向 Apple Silicon,Linux 则需要同时匹配发行版和 CPU 架构。项目的 RuntimeIdentifier、容器基础镜像和最终部署机器必须保持一致。

5. GenAI 项目优先迁移聊天历史 API

若代码中仍调用 StartChat() 或 FinishChat(),升级后将看到弃用警告。这虽非立即的运行时破坏,但表明该调用方式不再是后续版本的推荐路径。将用户消息和模型回复显式写入 ChatHistory,会让上下文管理、会话持久化和问题排查更加清晰。

04.NET 版本支持

OpenVINO C# API 3.3.1 继续覆盖 .NET Framework 4.6 至 4.8、.NET Core 3.1,以及 .NET 5 至 .NET 10。旧项目可保持当前目标框架,新项目建议优先选择仍处于支持周期内的 .NET LTS 版本。

无论使用哪个目标框架,native runtime 的操作系统和架构要求都不会改变。框架兼容并不代表任意平台包都能在当前机器上加载。

05总结

OpenVINO C# API 3.3.1 是一次以兼容升级为主的发布:传统 Core 推理代码无需大规模改造,只要更新 API 和对应 runtime 即可使用 OpenVINO 2026.3;GenAI 用户则可以通过统一的 C# API 完成文本生成、语音识别、视觉理解和基于 ChatHistory 的多轮对话。

对于准备升级的项目,建议按以下顺序执行:先确认部署平台与架构,再更新 NuGet 版本,运行现有 Core 推理测试,最后迁移 GenAI 的聊天历史调用。这样可以将 native 版本变化、业务代码变化和模型问题分开验证。

【声明】内容源于网络
0
0
dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,
内容 2318
粉丝 0
dotNET跨平台 专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,
总阅读62.2k
粉丝0
内容2.3k