コンテンツにスキップ

Reporting & Audit

Velaは実行前の認可だけでなく、実行後の監査も前提にしています。モデル呼び出しが成功したら completed、失敗したら failed を報告します。

declare const prepared: import("@vel4ai/sdk").PreparedExecutionAllowed;
declare const usage: {
inputTokens?: number;
outputTokens?: number;
totalTokens?: number;
estimatedCostUsd?: number;
};
export async function reportCompleted() {
await prepared.reportCompletedWithUsage(usage);
}
import { createOpenAiCompatibleUsageReportInput } from "@vel4ai/sdk";
declare const prepared: import("@vel4ai/sdk").PreparedExecutionAllowed;
declare const providerBody: { usage?: unknown };
export async function reportOpenAiCompatibleResult() {
await prepared.reportCompletedWithUsage(
createOpenAiCompatibleUsageReportInput(providerBody.usage),
);
}
declare const prepared: import("@vel4ai/sdk").PreparedExecutionAllowed;
export async function reportFailure(error: unknown) {
await prepared.reportFailedWithError(error);
}

streaming route ではreporterを共有する

Section titled “streaming route ではreporterを共有する”

成功callbackと失敗callbackの両方が同じ実行に対して発火し得る場合、boolean flagを手書きせず createResultReporter() を使います。tryReport...() はreport APIの失敗をthrowせず、成功したmodel responseや元のprovider errorを上書きしません。

declare const prepared: import("@vel4ai/sdk").PreparedExecutionAllowed;
export const reporter = prepared.createResultReporter({
onReportError(error) {
console.error("Vela audit report failed", error);
},
});
export async function onFinish() {
await reporter.tryReportCompletedWithUsage({
inputTokens: 10,
outputTokens: 20,
});
}
export async function onError(error: unknown) {
await reporter.tryReportFailedWithError(error);
}