@arizeai/openinference-instrumentation-openai 0.0.3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/instrumentation.d.ts +13 -19
- package/dist/esm/instrumentation.d.ts.map +1 -1
- package/dist/esm/instrumentation.js +451 -30
- package/dist/esm/instrumentation.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/typeUtils.d.ts +8 -0
- package/dist/esm/typeUtils.d.ts.map +1 -0
- package/dist/esm/typeUtils.js +10 -0
- package/dist/esm/typeUtils.js.map +1 -0
- package/dist/esm/version.d.ts +2 -2
- package/dist/esm/version.js +2 -2
- package/dist/esnext/index.d.ts +1 -1
- package/dist/esnext/index.js +1 -1
- package/dist/esnext/instrumentation.d.ts +13 -19
- package/dist/esnext/instrumentation.d.ts.map +1 -1
- package/dist/esnext/instrumentation.js +321 -29
- package/dist/esnext/instrumentation.js.map +1 -1
- package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -1
- package/dist/esnext/typeUtils.d.ts +8 -0
- package/dist/esnext/typeUtils.d.ts.map +1 -0
- package/dist/esnext/typeUtils.js +10 -0
- package/dist/esnext/typeUtils.js.map +1 -0
- package/dist/esnext/version.d.ts +2 -2
- package/dist/esnext/version.js +2 -2
- package/dist/src/instrumentation.d.ts.map +1 -1
- package/dist/src/instrumentation.js +333 -29
- package/dist/src/instrumentation.js.map +1 -1
- package/dist/src/typeUtils.d.ts +8 -0
- package/dist/src/typeUtils.d.ts.map +1 -0
- package/dist/src/typeUtils.js +14 -0
- package/dist/src/typeUtils.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/test/openai.test.js +387 -6
- package/dist/test/openai.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -2
- package/src/instrumentation.ts +420 -48
- package/src/typeUtils.ts +9 -0
- package/src/version.ts +1 -1
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from "./instrumentation";
|
|
2
|
-
//# sourceMappingURL=index.d.ts.map
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from "./instrumentation";
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
import * as openai from "openai";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*/
|
|
15
|
-
private patch;
|
|
16
|
-
/**
|
|
17
|
-
* Un-patches the OpenAI module's chat completions API
|
|
18
|
-
*/
|
|
19
|
-
private unpatch;
|
|
2
|
+
import { InstrumentationBase, InstrumentationConfig, InstrumentationModuleDefinition } from "@opentelemetry/instrumentation";
|
|
3
|
+
export declare class OpenAIInstrumentation extends InstrumentationBase<typeof openai> {
|
|
4
|
+
constructor(config?: InstrumentationConfig);
|
|
5
|
+
protected init(): InstrumentationModuleDefinition<typeof openai>;
|
|
6
|
+
/**
|
|
7
|
+
* Patches the OpenAI module
|
|
8
|
+
*/
|
|
9
|
+
private patch;
|
|
10
|
+
/**
|
|
11
|
+
* Un-patches the OpenAI module's chat completions API
|
|
12
|
+
*/
|
|
13
|
+
private unpatch;
|
|
20
14
|
}
|
|
21
|
-
//# sourceMappingURL=instrumentation.d.ts.map
|
|
15
|
+
//# sourceMappingURL=instrumentation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAGhC,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAGhC,MAAM,gCAAgC,CAAC;AAkCxC,qBAAa,qBAAsB,SAAQ,mBAAmB,CAAC,OAAO,MAAM,CAAC;gBAC/D,MAAM,CAAC,EAAE,qBAAqB;IAQ1C,SAAS,CAAC,IAAI,IAAI,+BAA+B,CAAC,OAAO,MAAM,CAAC;IAShE;;OAEG;IACH,OAAO,CAAC,KAAK;IAuOb;;OAEG;IACH,OAAO,CAAC,OAAO;CAKhB"}
|
|
@@ -24,6 +24,42 @@ var __assign = (this && this.__assign) || function () {
|
|
|
24
24
|
};
|
|
25
25
|
return __assign.apply(this, arguments);
|
|
26
26
|
};
|
|
27
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
28
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
29
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
30
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
31
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
32
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
33
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
37
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
38
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
39
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
40
|
+
function step(op) {
|
|
41
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
42
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
43
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
44
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
45
|
+
switch (op[0]) {
|
|
46
|
+
case 0: case 1: t = op; break;
|
|
47
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
48
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
49
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
50
|
+
default:
|
|
51
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
52
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
53
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
54
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
55
|
+
if (t[2]) _.ops.pop();
|
|
56
|
+
_.trys.pop(); continue;
|
|
57
|
+
}
|
|
58
|
+
op = body.call(thisArg, _);
|
|
59
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
60
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
61
|
+
}
|
|
62
|
+
};
|
|
27
63
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
28
64
|
var t = {};
|
|
29
65
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -35,10 +71,45 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
35
71
|
}
|
|
36
72
|
return t;
|
|
37
73
|
};
|
|
74
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
75
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
76
|
+
var m = o[Symbol.asyncIterator], i;
|
|
77
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
78
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
79
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
80
|
+
};
|
|
81
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
82
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
83
|
+
if (!m) return o;
|
|
84
|
+
var i = m.call(o), r, ar = [], e;
|
|
85
|
+
try {
|
|
86
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
87
|
+
}
|
|
88
|
+
catch (error) { e = { error: error }; }
|
|
89
|
+
finally {
|
|
90
|
+
try {
|
|
91
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
92
|
+
}
|
|
93
|
+
finally { if (e) throw e.error; }
|
|
94
|
+
}
|
|
95
|
+
return ar;
|
|
96
|
+
};
|
|
97
|
+
var __values = (this && this.__values) || function(o) {
|
|
98
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
99
|
+
if (m) return m.call(o);
|
|
100
|
+
if (o && typeof o.length === "number") return {
|
|
101
|
+
next: function () {
|
|
102
|
+
if (o && i >= o.length) o = void 0;
|
|
103
|
+
return { value: o && o[i++], done: !o };
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
107
|
+
};
|
|
38
108
|
import { InstrumentationBase, InstrumentationNodeModuleDefinition, safeExecuteInTheMiddle, } from "@opentelemetry/instrumentation";
|
|
39
109
|
import { diag, context, trace, SpanKind, SpanStatusCode, } from "@opentelemetry/api";
|
|
40
110
|
import { VERSION } from "./version";
|
|
41
111
|
import { SemanticConventions, OpenInferenceSpanKind, MimeType, } from "@arizeai/openinference-semantic-conventions";
|
|
112
|
+
import { assertUnreachable } from "./typeUtils";
|
|
42
113
|
var MODULE_NAME = "openai";
|
|
43
114
|
var OpenAIInstrumentation = /** @class */ (function (_super) {
|
|
44
115
|
__extends(OpenAIInstrumentation, _super);
|
|
@@ -73,7 +144,7 @@ var OpenAIInstrumentation = /** @class */ (function (_super) {
|
|
|
73
144
|
var body = args[0];
|
|
74
145
|
var _messages = body.messages, invocationParameters = __rest(body, ["messages"]);
|
|
75
146
|
var span = instrumentation.tracer.startSpan("OpenAI Chat Completions", {
|
|
76
|
-
kind: SpanKind.
|
|
147
|
+
kind: SpanKind.INTERNAL,
|
|
77
148
|
attributes: __assign((_a = {}, _a[SemanticConventions.OPENINFERENCE_SPAN_KIND] = OpenInferenceSpanKind.LLM, _a[SemanticConventions.LLM_MODEL_NAME] = body.model, _a[SemanticConventions.INPUT_VALUE] = JSON.stringify(body), _a[SemanticConventions.INPUT_MIME_TYPE] = MimeType.JSON, _a[SemanticConventions.LLM_INVOCATION_PARAMETERS] = JSON.stringify(invocationParameters), _a), getLLMInputMessagesAttributes(body)),
|
|
78
149
|
});
|
|
79
150
|
var execContext = trace.setSpan(context.active(), span);
|
|
@@ -85,13 +156,120 @@ var OpenAIInstrumentation = /** @class */ (function (_super) {
|
|
|
85
156
|
// Push the error to the span
|
|
86
157
|
if (error) {
|
|
87
158
|
span.recordException(error);
|
|
159
|
+
span.setStatus({
|
|
160
|
+
code: SpanStatusCode.ERROR,
|
|
161
|
+
message: error.message,
|
|
162
|
+
});
|
|
163
|
+
span.end();
|
|
88
164
|
}
|
|
89
165
|
});
|
|
90
166
|
var wrappedPromise = execPromise.then(function (result) {
|
|
91
167
|
var _a;
|
|
168
|
+
if (isChatCompletionResponse(result)) {
|
|
169
|
+
// Record the results
|
|
170
|
+
span.setAttributes(__assign(__assign((_a = {}, _a[SemanticConventions.OUTPUT_VALUE] = JSON.stringify(result), _a[SemanticConventions.OUTPUT_MIME_TYPE] = MimeType.JSON, _a[SemanticConventions.LLM_MODEL_NAME] = result.model, _a), getChatCompletionLLMOutputMessagesAttributes(result)), getUsageAttributes(result)));
|
|
171
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
172
|
+
span.end();
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
// This is a streaming response
|
|
176
|
+
// handle the chunks and add them to the span
|
|
177
|
+
// First split the stream via tee
|
|
178
|
+
var _b = __read(result.tee(), 2), leftStream = _b[0], rightStream = _b[1];
|
|
179
|
+
consumeChatCompletionStreamChunks(rightStream, span);
|
|
180
|
+
result = leftStream;
|
|
181
|
+
}
|
|
182
|
+
return result;
|
|
183
|
+
});
|
|
184
|
+
return context.bind(execContext, wrappedPromise);
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
this._wrap(module.OpenAI.Completions.prototype, "create",
|
|
188
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
189
|
+
function (original) {
|
|
190
|
+
return function patchedCreate() {
|
|
191
|
+
var _a;
|
|
192
|
+
var _this = this;
|
|
193
|
+
var args = [];
|
|
194
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
195
|
+
args[_i] = arguments[_i];
|
|
196
|
+
}
|
|
197
|
+
var body = args[0];
|
|
198
|
+
var _prompt = body.prompt, invocationParameters = __rest(body, ["prompt"]);
|
|
199
|
+
var span = instrumentation.tracer.startSpan("OpenAI Completions", {
|
|
200
|
+
kind: SpanKind.INTERNAL,
|
|
201
|
+
attributes: __assign((_a = {}, _a[SemanticConventions.OPENINFERENCE_SPAN_KIND] = OpenInferenceSpanKind.LLM, _a[SemanticConventions.LLM_MODEL_NAME] = body.model, _a[SemanticConventions.LLM_INVOCATION_PARAMETERS] = JSON.stringify(invocationParameters), _a), getCompletionInputValueAndMimeType(body)),
|
|
202
|
+
});
|
|
203
|
+
var execContext = trace.setSpan(context.active(), span);
|
|
204
|
+
var execPromise = safeExecuteInTheMiddle(function () {
|
|
205
|
+
return context.with(execContext, function () {
|
|
206
|
+
return original.apply(_this, args);
|
|
207
|
+
});
|
|
208
|
+
}, function (error) {
|
|
209
|
+
// Push the error to the span
|
|
210
|
+
if (error) {
|
|
211
|
+
span.recordException(error);
|
|
212
|
+
span.setStatus({
|
|
213
|
+
code: SpanStatusCode.ERROR,
|
|
214
|
+
message: error.message,
|
|
215
|
+
});
|
|
216
|
+
span.end();
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
var wrappedPromise = execPromise.then(function (result) {
|
|
220
|
+
var _a;
|
|
221
|
+
if (isCompletionResponse(result)) {
|
|
222
|
+
// Record the results
|
|
223
|
+
span.setAttributes(__assign(__assign((_a = {}, _a[SemanticConventions.OUTPUT_VALUE] = JSON.stringify(result), _a[SemanticConventions.OUTPUT_MIME_TYPE] = MimeType.JSON, _a[SemanticConventions.LLM_MODEL_NAME] = result.model, _a), getCompletionOutputValueAndMimeType(result)), getUsageAttributes(result)));
|
|
224
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
225
|
+
span.end();
|
|
226
|
+
}
|
|
227
|
+
return result;
|
|
228
|
+
});
|
|
229
|
+
return context.bind(execContext, wrappedPromise);
|
|
230
|
+
};
|
|
231
|
+
});
|
|
232
|
+
this._wrap(module.OpenAI.Embeddings.prototype, "create",
|
|
233
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
234
|
+
function (original) {
|
|
235
|
+
return function patchedEmbeddingCreate() {
|
|
236
|
+
var _a;
|
|
237
|
+
var _this = this;
|
|
238
|
+
var args = [];
|
|
239
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
240
|
+
args[_i] = arguments[_i];
|
|
241
|
+
}
|
|
242
|
+
var body = args[0];
|
|
243
|
+
var input = body.input;
|
|
244
|
+
var isStringInput = typeof input === "string";
|
|
245
|
+
var span = instrumentation.tracer.startSpan("OpenAI Embeddings", {
|
|
246
|
+
kind: SpanKind.INTERNAL,
|
|
247
|
+
attributes: __assign((_a = {}, _a[SemanticConventions.OPENINFERENCE_SPAN_KIND] = OpenInferenceSpanKind.EMBEDDING, _a[SemanticConventions.EMBEDDING_MODEL_NAME] = body.model, _a[SemanticConventions.INPUT_VALUE] = isStringInput
|
|
248
|
+
? input
|
|
249
|
+
: JSON.stringify(input), _a[SemanticConventions.INPUT_MIME_TYPE] = isStringInput
|
|
250
|
+
? MimeType.TEXT
|
|
251
|
+
: MimeType.JSON, _a), getEmbeddingTextAttributes(body)),
|
|
252
|
+
});
|
|
253
|
+
var execContext = trace.setSpan(context.active(), span);
|
|
254
|
+
var execPromise = safeExecuteInTheMiddle(function () {
|
|
255
|
+
return context.with(execContext, function () {
|
|
256
|
+
return original.apply(_this, args);
|
|
257
|
+
});
|
|
258
|
+
}, function (error) {
|
|
259
|
+
// Push the error to the span
|
|
260
|
+
if (error) {
|
|
261
|
+
span.recordException(error);
|
|
262
|
+
span.setStatus({
|
|
263
|
+
code: SpanStatusCode.ERROR,
|
|
264
|
+
message: error.message,
|
|
265
|
+
});
|
|
266
|
+
span.end();
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
var wrappedPromise = execPromise.then(function (result) {
|
|
92
270
|
if (result) {
|
|
93
271
|
// Record the results
|
|
94
|
-
span.setAttributes(__assign(
|
|
272
|
+
span.setAttributes(__assign({}, getEmbeddingEmbeddingsAttributes(result)));
|
|
95
273
|
}
|
|
96
274
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
97
275
|
span.end();
|
|
@@ -109,57 +287,300 @@ var OpenAIInstrumentation = /** @class */ (function (_super) {
|
|
|
109
287
|
OpenAIInstrumentation.prototype.unpatch = function (moduleExports, moduleVersion) {
|
|
110
288
|
diag.debug("Removing patch for ".concat(MODULE_NAME, "@").concat(moduleVersion));
|
|
111
289
|
this._unwrap(moduleExports.OpenAI.Chat.Completions.prototype, "create");
|
|
290
|
+
this._unwrap(moduleExports.OpenAI.Embeddings.prototype, "create");
|
|
112
291
|
};
|
|
113
292
|
return OpenAIInstrumentation;
|
|
114
293
|
}(InstrumentationBase));
|
|
115
294
|
export { OpenAIInstrumentation };
|
|
116
295
|
/**
|
|
117
|
-
*
|
|
296
|
+
* type-guard that checks if the response is a chat completion response
|
|
297
|
+
*/
|
|
298
|
+
function isChatCompletionResponse(response) {
|
|
299
|
+
return "choices" in response;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* type-guard that checks if the response is a completion response
|
|
303
|
+
*/
|
|
304
|
+
function isCompletionResponse(response) {
|
|
305
|
+
return "choices" in response;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* type-guard that checks if completion prompt attribute is an array of strings
|
|
309
|
+
*/
|
|
310
|
+
function isPromptStringArray(prompt) {
|
|
311
|
+
return (Array.isArray(prompt) && prompt.every(function (item) { return typeof item === "string"; }));
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Converts the body of a chat completions request to LLM input messages
|
|
118
315
|
*/
|
|
119
316
|
function getLLMInputMessagesAttributes(body) {
|
|
120
317
|
return body.messages.reduce(function (acc, message, index) {
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
|
|
318
|
+
var e_1, _a;
|
|
319
|
+
var messageAttributes = getChatCompletionInputMessageAttributes(message);
|
|
320
|
+
var indexPrefix = "".concat(SemanticConventions.LLM_INPUT_MESSAGES, ".").concat(index, ".");
|
|
321
|
+
try {
|
|
322
|
+
// Flatten the attributes on the index prefix
|
|
323
|
+
for (var _b = __values(Object.entries(messageAttributes)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
324
|
+
var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
|
|
325
|
+
acc["".concat(indexPrefix).concat(key)] = value;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
329
|
+
finally {
|
|
330
|
+
try {
|
|
331
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
332
|
+
}
|
|
333
|
+
finally { if (e_1) throw e_1.error; }
|
|
334
|
+
}
|
|
124
335
|
return acc;
|
|
125
336
|
}, {});
|
|
126
337
|
}
|
|
338
|
+
function getChatCompletionInputMessageAttributes(message) {
|
|
339
|
+
var _a;
|
|
340
|
+
var role = message.role;
|
|
341
|
+
var attributes = (_a = {},
|
|
342
|
+
_a[SemanticConventions.MESSAGE_ROLE] = role,
|
|
343
|
+
_a);
|
|
344
|
+
// Add the content only if it is a string
|
|
345
|
+
if (typeof message.content === "string")
|
|
346
|
+
attributes[SemanticConventions.MESSAGE_CONTENT] = message.content;
|
|
347
|
+
switch (role) {
|
|
348
|
+
case "user":
|
|
349
|
+
// There's nothing to add for the user
|
|
350
|
+
break;
|
|
351
|
+
case "assistant":
|
|
352
|
+
if (message.tool_calls) {
|
|
353
|
+
message.tool_calls.forEach(function (toolCall, index) {
|
|
354
|
+
// Make sure the tool call has a function
|
|
355
|
+
if (toolCall.function) {
|
|
356
|
+
var toolCallIndexPrefix = "".concat(SemanticConventions.MESSAGE_TOOL_CALLS, ".").concat(index, ".");
|
|
357
|
+
attributes[toolCallIndexPrefix + SemanticConventions.TOOL_CALL_FUNCTION_NAME] = toolCall.function.name;
|
|
358
|
+
attributes[toolCallIndexPrefix +
|
|
359
|
+
SemanticConventions.TOOL_CALL_FUNCTION_ARGUMENTS_JSON] = toolCall.function.arguments;
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
break;
|
|
364
|
+
case "function":
|
|
365
|
+
attributes[SemanticConventions.MESSAGE_FUNCTION_CALL_NAME] = message.name;
|
|
366
|
+
break;
|
|
367
|
+
case "tool":
|
|
368
|
+
// There's nothing to add for the tool. There is a tool_id, but there are no
|
|
369
|
+
// semantic conventions for it
|
|
370
|
+
break;
|
|
371
|
+
case "system":
|
|
372
|
+
// There's nothing to add for the system. Content is captured above
|
|
373
|
+
break;
|
|
374
|
+
default:
|
|
375
|
+
assertUnreachable(role);
|
|
376
|
+
break;
|
|
377
|
+
}
|
|
378
|
+
return attributes;
|
|
379
|
+
}
|
|
127
380
|
/**
|
|
128
|
-
*
|
|
381
|
+
* Converts the body of a completions request to input attributes
|
|
129
382
|
*/
|
|
130
|
-
function
|
|
131
|
-
var _a;
|
|
132
|
-
if (
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
383
|
+
function getCompletionInputValueAndMimeType(body) {
|
|
384
|
+
var _a, _b;
|
|
385
|
+
if (typeof body.prompt === "string") {
|
|
386
|
+
return _a = {},
|
|
387
|
+
_a[SemanticConventions.INPUT_VALUE] = body.prompt,
|
|
388
|
+
_a[SemanticConventions.INPUT_MIME_TYPE] = MimeType.TEXT,
|
|
389
|
+
_a;
|
|
390
|
+
}
|
|
391
|
+
else if (isPromptStringArray(body.prompt)) {
|
|
392
|
+
var prompt = body.prompt[0]; // Only single prompts are currently supported
|
|
393
|
+
if (prompt === undefined) {
|
|
394
|
+
return {};
|
|
140
395
|
}
|
|
396
|
+
return _b = {},
|
|
397
|
+
_b[SemanticConventions.INPUT_VALUE] = prompt,
|
|
398
|
+
_b[SemanticConventions.INPUT_MIME_TYPE] = MimeType.TEXT,
|
|
399
|
+
_b;
|
|
141
400
|
}
|
|
401
|
+
// Other cases in which the prompt is a token or array of tokens are currently unsupported
|
|
142
402
|
return {};
|
|
143
403
|
}
|
|
144
404
|
/**
|
|
145
|
-
*
|
|
405
|
+
* Get usage attributes
|
|
146
406
|
*/
|
|
147
|
-
function
|
|
148
|
-
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
407
|
+
function getUsageAttributes(completion) {
|
|
408
|
+
var _a;
|
|
409
|
+
if (completion.usage) {
|
|
410
|
+
return _a = {},
|
|
411
|
+
_a[SemanticConventions.LLM_TOKEN_COUNT_COMPLETION] = completion.usage.completion_tokens,
|
|
412
|
+
_a[SemanticConventions.LLM_TOKEN_COUNT_PROMPT] = completion.usage.prompt_tokens,
|
|
413
|
+
_a[SemanticConventions.LLM_TOKEN_COUNT_TOTAL] = completion.usage.total_tokens,
|
|
414
|
+
_a;
|
|
415
|
+
}
|
|
416
|
+
return {};
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Converts the chat completion result to LLM output attributes
|
|
420
|
+
*/
|
|
421
|
+
function getChatCompletionLLMOutputMessagesAttributes(chatCompletion) {
|
|
422
|
+
// Right now support just the first choice
|
|
423
|
+
var choice = chatCompletion.choices[0];
|
|
424
|
+
if (!choice) {
|
|
425
|
+
return {};
|
|
426
|
+
}
|
|
427
|
+
return [choice.message].reduce(function (acc, message, index) {
|
|
428
|
+
var e_2, _a;
|
|
429
|
+
var indexPrefix = "".concat(SemanticConventions.LLM_OUTPUT_MESSAGES, ".").concat(index, ".");
|
|
430
|
+
var messageAttributes = getChatCompletionOutputMessageAttributes(message);
|
|
431
|
+
try {
|
|
432
|
+
// Flatten the attributes on the index prefix
|
|
433
|
+
for (var _b = __values(Object.entries(messageAttributes)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
434
|
+
var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
|
|
435
|
+
acc["".concat(indexPrefix).concat(key)] = value;
|
|
436
|
+
}
|
|
155
437
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
438
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
439
|
+
finally {
|
|
440
|
+
try {
|
|
441
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
442
|
+
}
|
|
443
|
+
finally { if (e_2) throw e_2.error; }
|
|
444
|
+
}
|
|
445
|
+
return acc;
|
|
446
|
+
}, {});
|
|
447
|
+
}
|
|
448
|
+
function getChatCompletionOutputMessageAttributes(message) {
|
|
449
|
+
var _a;
|
|
450
|
+
var role = message.role;
|
|
451
|
+
var attributes = (_a = {},
|
|
452
|
+
_a[SemanticConventions.MESSAGE_ROLE] = role,
|
|
453
|
+
_a);
|
|
454
|
+
if (message.content) {
|
|
455
|
+
attributes[SemanticConventions.MESSAGE_CONTENT] = message.content;
|
|
456
|
+
}
|
|
457
|
+
if (message.tool_calls) {
|
|
458
|
+
message.tool_calls.forEach(function (toolCall, index) {
|
|
459
|
+
var toolCallIndexPrefix = "".concat(SemanticConventions.MESSAGE_TOOL_CALLS, ".").concat(index, ".");
|
|
460
|
+
// Double check that the tool call has a function
|
|
461
|
+
// NB: OpenAI only supports tool calls with functions right now but this may change
|
|
462
|
+
if (toolCall.function) {
|
|
463
|
+
attributes[toolCallIndexPrefix + SemanticConventions.TOOL_CALL_FUNCTION_NAME] = toolCall.function.name;
|
|
464
|
+
attributes[toolCallIndexPrefix +
|
|
465
|
+
SemanticConventions.TOOL_CALL_FUNCTION_ARGUMENTS_JSON] = toolCall.function.arguments;
|
|
466
|
+
}
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
if (message.function_call) {
|
|
470
|
+
attributes[SemanticConventions.MESSAGE_FUNCTION_CALL_NAME] =
|
|
471
|
+
message.function_call.name;
|
|
472
|
+
attributes[SemanticConventions.MESSAGE_FUNCTION_CALL_ARGUMENTS_JSON] =
|
|
473
|
+
message.function_call.arguments;
|
|
474
|
+
}
|
|
475
|
+
return attributes;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Converts the completion result to output attributes
|
|
479
|
+
*/
|
|
480
|
+
function getCompletionOutputValueAndMimeType(completion) {
|
|
481
|
+
var _a;
|
|
482
|
+
// Right now support just the first choice
|
|
483
|
+
var choice = completion.choices[0];
|
|
484
|
+
if (!choice) {
|
|
485
|
+
return {};
|
|
486
|
+
}
|
|
487
|
+
return _a = {},
|
|
488
|
+
_a[SemanticConventions.OUTPUT_VALUE] = String(choice.text),
|
|
489
|
+
_a[SemanticConventions.OUTPUT_MIME_TYPE] = MimeType.TEXT,
|
|
490
|
+
_a;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Converts the embedding result payload to embedding attributes
|
|
494
|
+
*/
|
|
495
|
+
function getEmbeddingTextAttributes(request) {
|
|
496
|
+
var _a;
|
|
497
|
+
if (typeof request.input === "string") {
|
|
498
|
+
return _a = {},
|
|
499
|
+
_a["".concat(SemanticConventions.EMBEDDING_EMBEDDINGS, ".0.").concat(SemanticConventions.EMBEDDING_TEXT)] = request.input,
|
|
500
|
+
_a;
|
|
501
|
+
}
|
|
502
|
+
else if (Array.isArray(request.input) &&
|
|
503
|
+
request.input.length > 0 &&
|
|
504
|
+
typeof request.input[0] === "string") {
|
|
505
|
+
return request.input.reduce(function (acc, input, index) {
|
|
506
|
+
var indexPrefix = "".concat(SemanticConventions.EMBEDDING_EMBEDDINGS, ".").concat(index, ".");
|
|
507
|
+
acc["".concat(indexPrefix).concat(SemanticConventions.EMBEDDING_TEXT)] = input;
|
|
160
508
|
return acc;
|
|
161
509
|
}, {});
|
|
162
510
|
}
|
|
511
|
+
// Ignore other cases where input is a number or an array of numbers
|
|
163
512
|
return {};
|
|
164
513
|
}
|
|
514
|
+
/**
|
|
515
|
+
* Converts the embedding result payload to embedding attributes
|
|
516
|
+
*/
|
|
517
|
+
function getEmbeddingEmbeddingsAttributes(response) {
|
|
518
|
+
return response.data.reduce(function (acc, embedding, index) {
|
|
519
|
+
var indexPrefix = "".concat(SemanticConventions.EMBEDDING_EMBEDDINGS, ".").concat(index, ".");
|
|
520
|
+
acc["".concat(indexPrefix).concat(SemanticConventions.EMBEDDING_VECTOR)] =
|
|
521
|
+
embedding.embedding;
|
|
522
|
+
return acc;
|
|
523
|
+
}, {});
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Consumes the stream chunks and adds them to the span
|
|
527
|
+
*/
|
|
528
|
+
function consumeChatCompletionStreamChunks(stream, span) {
|
|
529
|
+
var _a, stream_1, stream_1_1;
|
|
530
|
+
var _b, e_3, _c, _d;
|
|
531
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
532
|
+
var streamResponse, chunk, e_3_1;
|
|
533
|
+
var _e;
|
|
534
|
+
return __generator(this, function (_f) {
|
|
535
|
+
switch (_f.label) {
|
|
536
|
+
case 0:
|
|
537
|
+
streamResponse = "";
|
|
538
|
+
_f.label = 1;
|
|
539
|
+
case 1:
|
|
540
|
+
_f.trys.push([1, 6, 7, 12]);
|
|
541
|
+
_a = true, stream_1 = __asyncValues(stream);
|
|
542
|
+
_f.label = 2;
|
|
543
|
+
case 2: return [4 /*yield*/, stream_1.next()];
|
|
544
|
+
case 3:
|
|
545
|
+
if (!(stream_1_1 = _f.sent(), _b = stream_1_1.done, !_b)) return [3 /*break*/, 5];
|
|
546
|
+
_d = stream_1_1.value;
|
|
547
|
+
_a = false;
|
|
548
|
+
chunk = _d;
|
|
549
|
+
if (chunk.choices.length > 0 && chunk.choices[0].delta.content) {
|
|
550
|
+
streamResponse += chunk.choices[0].delta.content;
|
|
551
|
+
}
|
|
552
|
+
_f.label = 4;
|
|
553
|
+
case 4:
|
|
554
|
+
_a = true;
|
|
555
|
+
return [3 /*break*/, 2];
|
|
556
|
+
case 5: return [3 /*break*/, 12];
|
|
557
|
+
case 6:
|
|
558
|
+
e_3_1 = _f.sent();
|
|
559
|
+
e_3 = { error: e_3_1 };
|
|
560
|
+
return [3 /*break*/, 12];
|
|
561
|
+
case 7:
|
|
562
|
+
_f.trys.push([7, , 10, 11]);
|
|
563
|
+
if (!(!_a && !_b && (_c = stream_1.return))) return [3 /*break*/, 9];
|
|
564
|
+
return [4 /*yield*/, _c.call(stream_1)];
|
|
565
|
+
case 8:
|
|
566
|
+
_f.sent();
|
|
567
|
+
_f.label = 9;
|
|
568
|
+
case 9: return [3 /*break*/, 11];
|
|
569
|
+
case 10:
|
|
570
|
+
if (e_3) throw e_3.error;
|
|
571
|
+
return [7 /*endfinally*/];
|
|
572
|
+
case 11: return [7 /*endfinally*/];
|
|
573
|
+
case 12:
|
|
574
|
+
span.setAttributes((_e = {},
|
|
575
|
+
_e[SemanticConventions.OUTPUT_VALUE] = streamResponse,
|
|
576
|
+
_e[SemanticConventions.OUTPUT_MIME_TYPE] = MimeType.TEXT,
|
|
577
|
+
_e["".concat(SemanticConventions.LLM_OUTPUT_MESSAGES, ".0.").concat(SemanticConventions.MESSAGE_CONTENT)] = streamResponse,
|
|
578
|
+
_e["".concat(SemanticConventions.LLM_OUTPUT_MESSAGES, ".0.").concat(SemanticConventions.MESSAGE_ROLE)] = "assistant",
|
|
579
|
+
_e));
|
|
580
|
+
span.end();
|
|
581
|
+
return [2 /*return*/];
|
|
582
|
+
}
|
|
583
|
+
});
|
|
584
|
+
});
|
|
585
|
+
}
|
|
165
586
|
//# sourceMappingURL=instrumentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"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"}
|