@arizeai/openinference-instrumentation-openai 0.0.4 → 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/instrumentation.d.ts.map +1 -1
- package/dist/esm/instrumentation.js +369 -44
- 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 +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esnext/instrumentation.d.ts.map +1 -1
- package/dist/esnext/instrumentation.js +244 -43
- 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 +1 -1
- package/dist/esnext/version.js +1 -1
- package/dist/src/instrumentation.d.ts.map +1 -1
- package/dist/src/instrumentation.js +256 -43
- 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 +344 -1
- package/dist/test/openai.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/instrumentation.ts +303 -65
- package/src/typeUtils.ts +9 -0
- package/src/version.ts +1 -1
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
12
|
var t = {};
|
|
4
13
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -10,12 +19,20 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
19
|
}
|
|
11
20
|
return t;
|
|
12
21
|
};
|
|
22
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
23
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
24
|
+
var m = o[Symbol.asyncIterator], i;
|
|
25
|
+
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);
|
|
26
|
+
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); }); }; }
|
|
27
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
28
|
+
};
|
|
13
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
30
|
exports.OpenAIInstrumentation = void 0;
|
|
15
31
|
const instrumentation_1 = require("@opentelemetry/instrumentation");
|
|
16
32
|
const api_1 = require("@opentelemetry/api");
|
|
17
33
|
const version_1 = require("./version");
|
|
18
34
|
const openinference_semantic_conventions_1 = require("@arizeai/openinference-semantic-conventions");
|
|
35
|
+
const typeUtils_1 = require("./typeUtils");
|
|
19
36
|
const MODULE_NAME = "openai";
|
|
20
37
|
class OpenAIInstrumentation extends instrumentation_1.InstrumentationBase {
|
|
21
38
|
constructor(config) {
|
|
@@ -63,16 +80,62 @@ class OpenAIInstrumentation extends instrumentation_1.InstrumentationBase {
|
|
|
63
80
|
}
|
|
64
81
|
});
|
|
65
82
|
const wrappedPromise = execPromise.then((result) => {
|
|
66
|
-
if (result) {
|
|
83
|
+
if (isChatCompletionResponse(result)) {
|
|
67
84
|
// Record the results
|
|
68
85
|
span.setAttributes(Object.assign(Object.assign({ [openinference_semantic_conventions_1.SemanticConventions.OUTPUT_VALUE]: JSON.stringify(result), [openinference_semantic_conventions_1.SemanticConventions.OUTPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.JSON,
|
|
69
86
|
// Override the model from the value sent by the server
|
|
70
|
-
[openinference_semantic_conventions_1.SemanticConventions.LLM_MODEL_NAME]:
|
|
71
|
-
|
|
72
|
-
|
|
87
|
+
[openinference_semantic_conventions_1.SemanticConventions.LLM_MODEL_NAME]: result.model }, getChatCompletionLLMOutputMessagesAttributes(result)), getUsageAttributes(result)));
|
|
88
|
+
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
89
|
+
span.end();
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
// This is a streaming response
|
|
93
|
+
// handle the chunks and add them to the span
|
|
94
|
+
// First split the stream via tee
|
|
95
|
+
const [leftStream, rightStream] = result.tee();
|
|
96
|
+
consumeChatCompletionStreamChunks(rightStream, span);
|
|
97
|
+
result = leftStream;
|
|
98
|
+
}
|
|
99
|
+
return result;
|
|
100
|
+
});
|
|
101
|
+
return api_1.context.bind(execContext, wrappedPromise);
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
this._wrap(module.OpenAI.Completions.prototype, "create",
|
|
105
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
106
|
+
(original) => {
|
|
107
|
+
return function patchedCreate(...args) {
|
|
108
|
+
const body = args[0];
|
|
109
|
+
const { prompt: _prompt } = body, invocationParameters = __rest(body, ["prompt"]);
|
|
110
|
+
const span = instrumentation.tracer.startSpan(`OpenAI Completions`, {
|
|
111
|
+
kind: api_1.SpanKind.INTERNAL,
|
|
112
|
+
attributes: Object.assign({ [openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND]: openinference_semantic_conventions_1.OpenInferenceSpanKind.LLM, [openinference_semantic_conventions_1.SemanticConventions.LLM_MODEL_NAME]: body.model, [openinference_semantic_conventions_1.SemanticConventions.LLM_INVOCATION_PARAMETERS]: JSON.stringify(invocationParameters) }, getCompletionInputValueAndMimeType(body)),
|
|
113
|
+
});
|
|
114
|
+
const execContext = api_1.trace.setSpan(api_1.context.active(), span);
|
|
115
|
+
const execPromise = (0, instrumentation_1.safeExecuteInTheMiddle)(() => {
|
|
116
|
+
return api_1.context.with(execContext, () => {
|
|
117
|
+
return original.apply(this, args);
|
|
118
|
+
});
|
|
119
|
+
}, (error) => {
|
|
120
|
+
// Push the error to the span
|
|
121
|
+
if (error) {
|
|
122
|
+
span.recordException(error);
|
|
123
|
+
span.setStatus({
|
|
124
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
125
|
+
message: error.message,
|
|
126
|
+
});
|
|
127
|
+
span.end();
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
const wrappedPromise = execPromise.then((result) => {
|
|
131
|
+
if (isCompletionResponse(result)) {
|
|
132
|
+
// Record the results
|
|
133
|
+
span.setAttributes(Object.assign(Object.assign({ [openinference_semantic_conventions_1.SemanticConventions.OUTPUT_VALUE]: JSON.stringify(result), [openinference_semantic_conventions_1.SemanticConventions.OUTPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.JSON,
|
|
134
|
+
// Override the model from the value sent by the server
|
|
135
|
+
[openinference_semantic_conventions_1.SemanticConventions.LLM_MODEL_NAME]: result.model }, getCompletionOutputValueAndMimeType(result)), getUsageAttributes(result)));
|
|
136
|
+
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
137
|
+
span.end();
|
|
73
138
|
}
|
|
74
|
-
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
75
|
-
span.end();
|
|
76
139
|
return result;
|
|
77
140
|
});
|
|
78
141
|
return api_1.context.bind(execContext, wrappedPromise);
|
|
@@ -84,7 +147,7 @@ class OpenAIInstrumentation extends instrumentation_1.InstrumentationBase {
|
|
|
84
147
|
return function patchedEmbeddingCreate(...args) {
|
|
85
148
|
const body = args[0];
|
|
86
149
|
const { input } = body;
|
|
87
|
-
const isStringInput = typeof input
|
|
150
|
+
const isStringInput = typeof input === "string";
|
|
88
151
|
const span = instrumentation.tracer.startSpan(`OpenAI Embeddings`, {
|
|
89
152
|
kind: api_1.SpanKind.INTERNAL,
|
|
90
153
|
attributes: Object.assign({ [openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND]: openinference_semantic_conventions_1.OpenInferenceSpanKind.EMBEDDING, [openinference_semantic_conventions_1.SemanticConventions.EMBEDDING_MODEL_NAME]: body.model, [openinference_semantic_conventions_1.SemanticConventions.INPUT_VALUE]: isStringInput
|
|
@@ -141,68 +204,184 @@ function isChatCompletionResponse(response) {
|
|
|
141
204
|
return "choices" in response;
|
|
142
205
|
}
|
|
143
206
|
/**
|
|
144
|
-
*
|
|
207
|
+
* type-guard that checks if the response is a completion response
|
|
208
|
+
*/
|
|
209
|
+
function isCompletionResponse(response) {
|
|
210
|
+
return "choices" in response;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* type-guard that checks if completion prompt attribute is an array of strings
|
|
214
|
+
*/
|
|
215
|
+
function isPromptStringArray(prompt) {
|
|
216
|
+
return (Array.isArray(prompt) && prompt.every((item) => typeof item === "string"));
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Converts the body of a chat completions request to LLM input messages
|
|
145
220
|
*/
|
|
146
221
|
function getLLMInputMessagesAttributes(body) {
|
|
147
222
|
return body.messages.reduce((acc, message, index) => {
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
223
|
+
const messageAttributes = getChatCompletionInputMessageAttributes(message);
|
|
224
|
+
const indexPrefix = `${openinference_semantic_conventions_1.SemanticConventions.LLM_INPUT_MESSAGES}.${index}.`;
|
|
225
|
+
// Flatten the attributes on the index prefix
|
|
226
|
+
for (const [key, value] of Object.entries(messageAttributes)) {
|
|
227
|
+
acc[`${indexPrefix}${key}`] = value;
|
|
228
|
+
}
|
|
151
229
|
return acc;
|
|
152
230
|
}, {});
|
|
153
231
|
}
|
|
232
|
+
function getChatCompletionInputMessageAttributes(message) {
|
|
233
|
+
const role = message.role;
|
|
234
|
+
const attributes = {
|
|
235
|
+
[openinference_semantic_conventions_1.SemanticConventions.MESSAGE_ROLE]: role,
|
|
236
|
+
};
|
|
237
|
+
// Add the content only if it is a string
|
|
238
|
+
if (typeof message.content === "string")
|
|
239
|
+
attributes[openinference_semantic_conventions_1.SemanticConventions.MESSAGE_CONTENT] = message.content;
|
|
240
|
+
switch (role) {
|
|
241
|
+
case "user":
|
|
242
|
+
// There's nothing to add for the user
|
|
243
|
+
break;
|
|
244
|
+
case "assistant":
|
|
245
|
+
if (message.tool_calls) {
|
|
246
|
+
message.tool_calls.forEach((toolCall, index) => {
|
|
247
|
+
// Make sure the tool call has a function
|
|
248
|
+
if (toolCall.function) {
|
|
249
|
+
const toolCallIndexPrefix = `${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_TOOL_CALLS}.${index}.`;
|
|
250
|
+
attributes[toolCallIndexPrefix + openinference_semantic_conventions_1.SemanticConventions.TOOL_CALL_FUNCTION_NAME] = toolCall.function.name;
|
|
251
|
+
attributes[toolCallIndexPrefix +
|
|
252
|
+
openinference_semantic_conventions_1.SemanticConventions.TOOL_CALL_FUNCTION_ARGUMENTS_JSON] = toolCall.function.arguments;
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
break;
|
|
257
|
+
case "function":
|
|
258
|
+
attributes[openinference_semantic_conventions_1.SemanticConventions.MESSAGE_FUNCTION_CALL_NAME] = message.name;
|
|
259
|
+
break;
|
|
260
|
+
case "tool":
|
|
261
|
+
// There's nothing to add for the tool. There is a tool_id, but there are no
|
|
262
|
+
// semantic conventions for it
|
|
263
|
+
break;
|
|
264
|
+
case "system":
|
|
265
|
+
// There's nothing to add for the system. Content is captured above
|
|
266
|
+
break;
|
|
267
|
+
default:
|
|
268
|
+
(0, typeUtils_1.assertUnreachable)(role);
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
return attributes;
|
|
272
|
+
}
|
|
154
273
|
/**
|
|
155
|
-
*
|
|
274
|
+
* Converts the body of a completions request to input attributes
|
|
156
275
|
*/
|
|
157
|
-
function
|
|
158
|
-
if (
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
276
|
+
function getCompletionInputValueAndMimeType(body) {
|
|
277
|
+
if (typeof body.prompt === "string") {
|
|
278
|
+
return {
|
|
279
|
+
[openinference_semantic_conventions_1.SemanticConventions.INPUT_VALUE]: body.prompt,
|
|
280
|
+
[openinference_semantic_conventions_1.SemanticConventions.INPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.TEXT,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
else if (isPromptStringArray(body.prompt)) {
|
|
284
|
+
const prompt = body.prompt[0]; // Only single prompts are currently supported
|
|
285
|
+
if (prompt === undefined) {
|
|
286
|
+
return {};
|
|
166
287
|
}
|
|
288
|
+
return {
|
|
289
|
+
[openinference_semantic_conventions_1.SemanticConventions.INPUT_VALUE]: prompt,
|
|
290
|
+
[openinference_semantic_conventions_1.SemanticConventions.INPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.TEXT,
|
|
291
|
+
};
|
|
167
292
|
}
|
|
293
|
+
// Other cases in which the prompt is a token or array of tokens are currently unsupported
|
|
168
294
|
return {};
|
|
169
295
|
}
|
|
170
296
|
/**
|
|
171
|
-
*
|
|
297
|
+
* Get usage attributes
|
|
172
298
|
*/
|
|
173
|
-
function
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return {};
|
|
181
|
-
}
|
|
182
|
-
return [choice.message].reduce((acc, message, index) => {
|
|
183
|
-
const index_prefix = `${openinference_semantic_conventions_1.SemanticConventions.LLM_OUTPUT_MESSAGES}.${index}`;
|
|
184
|
-
acc[`${index_prefix}.${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_CONTENT}`] = String(message.content);
|
|
185
|
-
acc[`${index_prefix}.${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_ROLE}`] = message.role;
|
|
186
|
-
return acc;
|
|
187
|
-
}, {});
|
|
299
|
+
function getUsageAttributes(completion) {
|
|
300
|
+
if (completion.usage) {
|
|
301
|
+
return {
|
|
302
|
+
[openinference_semantic_conventions_1.SemanticConventions.LLM_TOKEN_COUNT_COMPLETION]: completion.usage.completion_tokens,
|
|
303
|
+
[openinference_semantic_conventions_1.SemanticConventions.LLM_TOKEN_COUNT_PROMPT]: completion.usage.prompt_tokens,
|
|
304
|
+
[openinference_semantic_conventions_1.SemanticConventions.LLM_TOKEN_COUNT_TOTAL]: completion.usage.total_tokens,
|
|
305
|
+
};
|
|
188
306
|
}
|
|
189
307
|
return {};
|
|
190
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Converts the chat completion result to LLM output attributes
|
|
311
|
+
*/
|
|
312
|
+
function getChatCompletionLLMOutputMessagesAttributes(chatCompletion) {
|
|
313
|
+
// Right now support just the first choice
|
|
314
|
+
const choice = chatCompletion.choices[0];
|
|
315
|
+
if (!choice) {
|
|
316
|
+
return {};
|
|
317
|
+
}
|
|
318
|
+
return [choice.message].reduce((acc, message, index) => {
|
|
319
|
+
const indexPrefix = `${openinference_semantic_conventions_1.SemanticConventions.LLM_OUTPUT_MESSAGES}.${index}.`;
|
|
320
|
+
const messageAttributes = getChatCompletionOutputMessageAttributes(message);
|
|
321
|
+
// Flatten the attributes on the index prefix
|
|
322
|
+
for (const [key, value] of Object.entries(messageAttributes)) {
|
|
323
|
+
acc[`${indexPrefix}${key}`] = value;
|
|
324
|
+
}
|
|
325
|
+
return acc;
|
|
326
|
+
}, {});
|
|
327
|
+
}
|
|
328
|
+
function getChatCompletionOutputMessageAttributes(message) {
|
|
329
|
+
const role = message.role;
|
|
330
|
+
const attributes = {
|
|
331
|
+
[openinference_semantic_conventions_1.SemanticConventions.MESSAGE_ROLE]: role,
|
|
332
|
+
};
|
|
333
|
+
if (message.content) {
|
|
334
|
+
attributes[openinference_semantic_conventions_1.SemanticConventions.MESSAGE_CONTENT] = message.content;
|
|
335
|
+
}
|
|
336
|
+
if (message.tool_calls) {
|
|
337
|
+
message.tool_calls.forEach((toolCall, index) => {
|
|
338
|
+
const toolCallIndexPrefix = `${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_TOOL_CALLS}.${index}.`;
|
|
339
|
+
// Double check that the tool call has a function
|
|
340
|
+
// NB: OpenAI only supports tool calls with functions right now but this may change
|
|
341
|
+
if (toolCall.function) {
|
|
342
|
+
attributes[toolCallIndexPrefix + openinference_semantic_conventions_1.SemanticConventions.TOOL_CALL_FUNCTION_NAME] = toolCall.function.name;
|
|
343
|
+
attributes[toolCallIndexPrefix +
|
|
344
|
+
openinference_semantic_conventions_1.SemanticConventions.TOOL_CALL_FUNCTION_ARGUMENTS_JSON] = toolCall.function.arguments;
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
if (message.function_call) {
|
|
349
|
+
attributes[openinference_semantic_conventions_1.SemanticConventions.MESSAGE_FUNCTION_CALL_NAME] =
|
|
350
|
+
message.function_call.name;
|
|
351
|
+
attributes[openinference_semantic_conventions_1.SemanticConventions.MESSAGE_FUNCTION_CALL_ARGUMENTS_JSON] =
|
|
352
|
+
message.function_call.arguments;
|
|
353
|
+
}
|
|
354
|
+
return attributes;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Converts the completion result to output attributes
|
|
358
|
+
*/
|
|
359
|
+
function getCompletionOutputValueAndMimeType(completion) {
|
|
360
|
+
// Right now support just the first choice
|
|
361
|
+
const choice = completion.choices[0];
|
|
362
|
+
if (!choice) {
|
|
363
|
+
return {};
|
|
364
|
+
}
|
|
365
|
+
return {
|
|
366
|
+
[openinference_semantic_conventions_1.SemanticConventions.OUTPUT_VALUE]: String(choice.text),
|
|
367
|
+
[openinference_semantic_conventions_1.SemanticConventions.OUTPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.TEXT,
|
|
368
|
+
};
|
|
369
|
+
}
|
|
191
370
|
/**
|
|
192
371
|
* Converts the embedding result payload to embedding attributes
|
|
193
372
|
*/
|
|
194
373
|
function getEmbeddingTextAttributes(request) {
|
|
195
|
-
if (typeof request.input
|
|
374
|
+
if (typeof request.input === "string") {
|
|
196
375
|
return {
|
|
197
376
|
[`${openinference_semantic_conventions_1.SemanticConventions.EMBEDDING_EMBEDDINGS}.0.${openinference_semantic_conventions_1.SemanticConventions.EMBEDDING_TEXT}`]: request.input,
|
|
198
377
|
};
|
|
199
378
|
}
|
|
200
379
|
else if (Array.isArray(request.input) &&
|
|
201
380
|
request.input.length > 0 &&
|
|
202
|
-
typeof request.input[0]
|
|
381
|
+
typeof request.input[0] === "string") {
|
|
203
382
|
return request.input.reduce((acc, input, index) => {
|
|
204
|
-
const
|
|
205
|
-
acc[`${
|
|
383
|
+
const indexPrefix = `${openinference_semantic_conventions_1.SemanticConventions.EMBEDDING_EMBEDDINGS}.${index}.`;
|
|
384
|
+
acc[`${indexPrefix}${openinference_semantic_conventions_1.SemanticConventions.EMBEDDING_TEXT}`] = input;
|
|
206
385
|
return acc;
|
|
207
386
|
}, {});
|
|
208
387
|
}
|
|
@@ -214,10 +393,44 @@ function getEmbeddingTextAttributes(request) {
|
|
|
214
393
|
*/
|
|
215
394
|
function getEmbeddingEmbeddingsAttributes(response) {
|
|
216
395
|
return response.data.reduce((acc, embedding, index) => {
|
|
217
|
-
const
|
|
218
|
-
acc[`${
|
|
396
|
+
const indexPrefix = `${openinference_semantic_conventions_1.SemanticConventions.EMBEDDING_EMBEDDINGS}.${index}.`;
|
|
397
|
+
acc[`${indexPrefix}${openinference_semantic_conventions_1.SemanticConventions.EMBEDDING_VECTOR}`] =
|
|
219
398
|
embedding.embedding;
|
|
220
399
|
return acc;
|
|
221
400
|
}, {});
|
|
222
401
|
}
|
|
402
|
+
/**
|
|
403
|
+
* Consumes the stream chunks and adds them to the span
|
|
404
|
+
*/
|
|
405
|
+
function consumeChatCompletionStreamChunks(stream, span) {
|
|
406
|
+
var _a, stream_1, stream_1_1;
|
|
407
|
+
var _b, e_1, _c, _d;
|
|
408
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
409
|
+
let streamResponse = "";
|
|
410
|
+
try {
|
|
411
|
+
for (_a = true, stream_1 = __asyncValues(stream); stream_1_1 = yield stream_1.next(), _b = stream_1_1.done, !_b; _a = true) {
|
|
412
|
+
_d = stream_1_1.value;
|
|
413
|
+
_a = false;
|
|
414
|
+
const chunk = _d;
|
|
415
|
+
if (chunk.choices.length > 0 && chunk.choices[0].delta.content) {
|
|
416
|
+
streamResponse += chunk.choices[0].delta.content;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
421
|
+
finally {
|
|
422
|
+
try {
|
|
423
|
+
if (!_a && !_b && (_c = stream_1.return)) yield _c.call(stream_1);
|
|
424
|
+
}
|
|
425
|
+
finally { if (e_1) throw e_1.error; }
|
|
426
|
+
}
|
|
427
|
+
span.setAttributes({
|
|
428
|
+
[openinference_semantic_conventions_1.SemanticConventions.OUTPUT_VALUE]: streamResponse,
|
|
429
|
+
[openinference_semantic_conventions_1.SemanticConventions.OUTPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.TEXT,
|
|
430
|
+
[`${openinference_semantic_conventions_1.SemanticConventions.LLM_OUTPUT_MESSAGES}.0.${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_CONTENT}`]: streamResponse,
|
|
431
|
+
[`${openinference_semantic_conventions_1.SemanticConventions.LLM_OUTPUT_MESSAGES}.0.${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_ROLE}`]: "assistant",
|
|
432
|
+
});
|
|
433
|
+
span.end();
|
|
434
|
+
});
|
|
435
|
+
}
|
|
223
436
|
//# 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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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility function that uses the type system to check if a switch statement is exhaustive.
|
|
3
|
+
* If the switch statement is not exhaustive, there will be a type error caught in typescript
|
|
4
|
+
*
|
|
5
|
+
* See https://stackoverflow.com/questions/39419170/how-do-i-check-that-a-switch-block-is-exhaustive-in-typescript for more details.
|
|
6
|
+
*/
|
|
7
|
+
export declare function assertUnreachable(_: never): never;
|
|
8
|
+
//# sourceMappingURL=typeUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../../src/typeUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAEjD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertUnreachable = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Utility function that uses the type system to check if a switch statement is exhaustive.
|
|
6
|
+
* If the switch statement is not exhaustive, there will be a type error caught in typescript
|
|
7
|
+
*
|
|
8
|
+
* See https://stackoverflow.com/questions/39419170/how-do-i-check-that-a-switch-block-is-exhaustive-in-typescript for more details.
|
|
9
|
+
*/
|
|
10
|
+
function assertUnreachable(_) {
|
|
11
|
+
throw new Error("Unreachable");
|
|
12
|
+
}
|
|
13
|
+
exports.assertUnreachable = assertUnreachable;
|
|
14
|
+
//# sourceMappingURL=typeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeUtils.js","sourceRoot":"","sources":["../../src/typeUtils.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,CAAQ;IACxC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC;AAFD,8CAEC"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.0
|
|
1
|
+
export declare const VERSION = "0.1.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/src/version.js
CHANGED