跳到主要内容

C# SDK 概述

命名空间是 Darra.AI.Runtime。 调用返回 AiResult 结果壳,失败不抛异常。 AiResult 可以隐式转成 bool,也可以就地判 IsSuccess,失败读结果里的错误码。

安装​

公共 NuGet 没有这个包。 把正式交付的 Darra.AI.Runtime.1.0.0.nupkg 放进应用目录下的 packages 文件夹。 再从本地源安装。 程序集名是 Darra.AI.Runtime。

Install-Package Darra.AI.Runtime -Version 1.0.0 -Source .\packages
dotnet add package Darra.AI.Runtime --version 1.0.0 --source ./packages

包内必须带 runtimes/win-x64/native/Core.dll,缺了它只能编译,跑不了推理。

也可以直接引用 DLL:取 Darra.AI.Runtime.dll 与同目录的 Darra.AI.Runtime.xml(有 XML 才有代码提示),Core.dll 随应用交付。

或者设环境变量 DARRA_AI_CORE_PATH,指向库文件或它所在的目录。 Windows 也接受 DarraAI.Core.dll 这个名字。

<Reference Include="Darra.AI.Runtime">
<HintPath>lib\Darra.AI.Runtime.dll</HintPath>
</Reference>

环境要求​

  • 运行时: .NET 8,进程 x64
  • 系统: Windows x64。edge-rknn 仅 linux-arm64

快速开始​

using Darra.AI.Runtime;

var ai = new Model("model.darmodel");
var r = ai.Open();
if (!r.IsSuccess) { Console.WriteLine(r.Message); return; }
var inf = ai.InferFile("a.jpg");
if (inf.IsSuccess)
{
foreach (var item in inf.Content.Items)
Console.WriteLine(item.Label + " " + item.Score);
}
ai.Close();

.onnx 与 .darmodel 走同一个 Open(string password = null),密码可给可不给。

高级接口​

  • Session:推理会话,一份已加载模型 + 一个已选定 Provider,IDisposable。
  • Pool:同模型推理池,一个模型开 1..32 路 worker 并发跑推理。
  • Runtime:查版本、查本地环境、做诊断。