Skip to content

Commit 9c6fdd3

Browse files
author
Daniel OBrien
committed
fix Bedrock usage
1 parent 7c5c585 commit 9c6fdd3

File tree

2 files changed

+19
-18
lines changed

2 files changed

+19
-18
lines changed

packages/sdk/ai/src/LDAIConfigTracker.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { LDClient, LDContext } from '@launchdarkly/node-server-sdk';
22

33
import {
44
BedrockTokenUsage,
5+
createBedrockTokenUsage,
56
FeedbackKind,
67
OpenAITokenUsage,
78
TokenUsage,
@@ -66,17 +67,25 @@ export class LDAIConfigTracker {
6667
return result;
6768
}
6869

69-
async trackBedrockConverse(res: any): Promise<any> {
70+
async trackBedrockConverse(res: {
71+
$metadata?: { httpStatusCode: number };
72+
metrics?: { latencyMs: number };
73+
usage?: {
74+
inputTokens: number;
75+
outputTokens: number;
76+
totalTokens: number;
77+
};
78+
}): Promise<any> {
7079
if (res.$metadata?.httpStatusCode === 200) {
7180
this.trackGeneration(1);
72-
} else if (res.$metadata?.httpStatusCode >= 400) {
81+
} else if (res.$metadata?.httpStatusCode && res.$metadata.httpStatusCode >= 400) {
7382
this.trackError(res.$metadata.httpStatusCode);
7483
}
7584
if (res.metrics) {
7685
this.trackDuration(res.metrics.latencyMs);
7786
}
7887
if (res.usage) {
79-
this.trackTokens(new BedrockTokenUsage(res.usage));
88+
this.trackTokens(createBedrockTokenUsage(res.usage));
8089
}
8190
return res;
8291
}
Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
1-
export class BedrockTokenUsage {
1+
export function createBedrockTokenUsage(data: {
22
totalTokens: number;
33
inputTokens: number;
44
outputTokens: number;
5-
6-
constructor(data: any) {
7-
this.totalTokens = data.totalTokens || 0;
8-
this.inputTokens = data.inputTokens || 0;
9-
this.outputTokens = data.outputTokens || 0;
10-
}
11-
12-
toMetrics() {
13-
return {
14-
total: this.totalTokens,
15-
input: this.inputTokens,
16-
output: this.outputTokens,
17-
};
18-
}
5+
}) {
6+
return {
7+
total: data.totalTokens || 0,
8+
input: data.inputTokens || 0,
9+
output: data.outputTokens || 0,
10+
};
1911
}

0 commit comments

Comments
 (0)