跳到主要内容

智能体与 SDK 代码生成

普通用户不需要阅读或复制 Darra AI Studio 的机器上下文。那些内容用于让 AI 系统索引 SDK 文档、API 约束和示例,不作为人工导航入口。

需要生成现场推理代码时,请直接在常用 AI 助手、IDE 或 Codex 中说明你的目标:

  • 目标语言:C#、Java、Python、C、C++ 或 Rust
  • SDK 包:该语言对应的公开 runtime 包(见下表)
  • 模型文件:Studio 签发的 .darmodel
  • 激活码:本包离线永久推理口令(也可改用配套 .darmkey 文件,二选一说清楚)

可以这样描述:

使用 Darra AI C# SDK(NuGet Darra.AI.Runtime),加载现场的 inspect.darmodel,用激活码开会话,对工业相机 JPEG 做推理并打印结果 JSON。要求包含环境准备 Ensure、AiSession.Open、InferImage 和 using 释放。

告诉 AI 这四件事

你要说的例子为什么需要
语言Python / C# / C / C++ / Java / Rust六语言是同一份 C ABI 的薄绑定,包名和 API 大小写不同
SDK 包pip install darra-aiDarra.AI.Runtime公开包只有 runtime:打开已签发模型做推理,不含加密 / 签发
.darmodelinspect.darmodel 的路径或文件名生产入口是加密容器,不是 .pt / .pth
激活码「用激活码开会话」或「key 文件 model.darmkey一条激活码打进这一份模型包,离线永久推理;打错当场拒

可选补充(知道再写,不知道让 AI 按文档默认):

  • 图像来源:JPEG/PNG 字节,或工业相机裸缓冲(宽、高、步长、通道)
  • 现场机器:Windows x64、Linux x64,或 RK3588(Linux ARM64)
  • 运行时档位:cpu-only / nvidia-gpu / intel-iap / amd-dml / board-rk3588(对应 darra_runtime_ensure
  • 任务类型:分类、检测或分割——以该 .darmodel 实际导出为准,不要让 AI 猜类别名

阈值、输入边长、类别名在 Studio 加密时写入模型包,推理侧不能改。要改回 Studio 重新出包。

示例描述

按语言换包名即可,结构不变。

Python

使用 Darra AI Python SDK(pip install darra-ai),加载 defect.darmodel,用激活码开会话。先 runtime.ensure,再 Session.open,对 photo.jpg 做 infer_image,打印 JSON,并用 with 释放会话。

C#

使用 Darra AI C# SDK(NuGet Darra.AI.Runtime,.NET 8),加载 inspect.darmodel,password 传入激活码。包含 AiEnvironment.EnsureReady、AiSession.Open、InferImage,失败时打印 AiException.Hint。

C

使用 Darra AI C SDK(darra_ai.h + DarraAI.Core),darra_session_open 打开 inspect.darmodel 和激活码,填 darra_image_desc 后 darra_session_infer_image,最后 darra_session_close。错误走 darra_last_error。

C++

使用 Darra AI C++(与 C 共用 darra_ai.h,没有第二套官方封装),打开 .darmodel + 激活码,推理一张 BGR888 裸缓冲(宽、高、步长、通道由调用方传入)。

Java

使用 Maven xyz.darra:darra-ai:1.0.0(另加对应 natives classifier),用激活码打开 .darmodel,inferImage 后 try-with-resources 关闭会话。

Rust

使用 crate darra-ai(内部发布,不按 crates.io cargo add),Session 打开 .darmodel + 激活码,推理后释放。native 库目录按文档设 DARRA_AI_CORE_LIB_DIR。

工业相机不要只说「读一张图」,把像素布局说清楚,例如:

输入不是文件,而是相机回调里的 BGR888 缓冲,宽 1920、高 1080、步长 5760。不要每帧重新 open,会话在初始化时打开一次。

SDK 包对照

公开 SDK 是 runtime 构建。Studio 出包,SDK 推理。协议只有这一份 C。

语言文档
Cdarra-ai-core-windows-x64.zip(Linux 为对应 tar.gz)C SDK
C++与 C 共用内核,#include "darra_ai.h"C++ SDK
C#NuGet Darra.AI.RuntimeC# SDK
Pythonpip install darra-ai(导入名 darra_aiPython SDK
JavaMaven xyz.darra:darra-aiJava SDK
Rustcrate darra-ai(不以 crates.io 为准)Rust SDK

生成结果应围绕这一条路径,不要另造第二套 API:

open / open_plain  →  infer  →  close

明文试跑才用 open_plain.onnx 等)。生产现场用 .darmodel + 激活码。.pt / .pth 不是运行时载荷。

生成结果怎么用

AI 写出来的代码仍要按你的实际文件检查:

  1. .darmodel 路径、激活码或 .darmkey 是否就是现场那一份
  2. 图像宽高、步长、通道是否与相机一致
  3. 是否先 runtime.ensure / EnsureReady(缺 Provider 时首次 open 可能阻塞下载)
  4. 是否只 open 一次、循环里只 infer
  5. 错误是否走 SDK 的 hint,而不是空 catch
  6. 公开包里没有加密 / 签发符号;不要让 AI 调用 darra_encrypt_ / darra_issue_

涉及 GPU 驱动、板端 NPU、现场安装时,以 环境准备下载 和现场测试为准。SDK 不代装 NVIDIA / RK3588 NPU 等系统驱动。

不要让 AI 做这些

  • 不要编造精度、帧率、延迟。 本页和 SDK 都不提供可引用的性能数字;现场以你自己的实测为准。
  • 不要当作强化学习平台。 本产品无强化学习。Studio 做数据集、标注、训练 / 蒸馏 / 评估 / 导出;现场 SDK 只推理。
  • 不要要求解回明文。 激活码 = 本包离线永久推理,官方不解回权重。
  • 不要在推理侧改阈值或类别名。 这些在加密时写死。
  • 不要按设备锁、按账号、按次计费去设计心跳。 授权模型就是一条激活码打进一份包;整包连码拷走挡不住,这是商业取舍。
  • 不要假设 macOS、硬实时、或 Windows 上的 RKNN。 macOS 不在 v1;推理是阻塞调用;edge-rknn 只在 Linux ARM64。
  • 不要让现场程序训练或蒸馏。 那是 Studio 的事。

Studio 桌面端本身也能对话,但不能替代这份 SDK 契约。生成可编译的现场代码,以 SDK 介绍 为准。

给 AI 工具的入口(人不用复制)

IDE、Codex、MCP 客户端若要自己拉文档,用下面的公开入口。普通用户不必打开、不必粘贴进对话框。

人要装软件、买授权、看模型,请回到上面的下载、商城和在线模型库。完整 API 以各语言 SDK 文档为准,不要用本页当函数手册。