@arizeai/openinference-instrumentation-openai 0.0.1-rc1 → 0.0.1-rc10
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 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instrumentation.d.ts.map +1 -1
- package/dist/esm/instrumentation.js +79 -8
- package/dist/esm/instrumentation.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.d.ts.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esnext/index.d.ts +1 -0
- package/dist/esnext/index.d.ts.map +1 -1
- package/dist/esnext/index.js +1 -1
- package/dist/esnext/index.js.map +1 -1
- package/dist/esnext/instrumentation.d.ts.map +1 -1
- package/dist/esnext/instrumentation.js +66 -8
- package/dist/esnext/instrumentation.js.map +1 -1
- package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -1
- package/dist/esnext/version.d.ts +1 -1
- package/dist/esnext/version.d.ts.map +1 -1
- package/dist/esnext/version.js +1 -1
- package/dist/esnext/version.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +16 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/instrumentation.d.ts.map +1 -1
- package/dist/src/instrumentation.js +65 -7
- package/dist/src/instrumentation.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/test/openai.test.js +43 -11
- package/dist/test/openai.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -3
- package/src/index.ts +1 -0
- package/src/instrumentation.ts +109 -11
- package/src/version.ts +1 -1
- package/examples/README.md +0 -1
- package/jest.config.js +0 -5
- package/test/openai.test.ts +0 -39
- package/tsconfig.esm.json +0 -10
- package/tsconfig.esnext.json +0 -10
- package/tsconfig.json +0 -10
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export * from "./instrumentation";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -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,EACH,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EACH,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAGlC,MAAM,gCAAgC,CAAC;AAqBxC,qBAAa,qBAAsB,SAAQ,mBAAmB,CAAC,OAAO,MAAM,CAAC;gBAC7D,MAAM,CAAC,EAAE,qBAAqB;IAQ1C,SAAS,CAAC,IAAI,IAAI,+BAA+B,CAAC,OAAO,MAAM,CAAC;IAShE,OAAO,CAAC,KAAK;IA4Eb,OAAO,CAAC,OAAO;CAGlB"}
|
|
@@ -13,39 +13,110 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
13
13
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
14
|
};
|
|
15
15
|
})();
|
|
16
|
-
|
|
16
|
+
var __assign = (this && this.__assign) || function () {
|
|
17
|
+
__assign = Object.assign || function(t) {
|
|
18
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
19
|
+
s = arguments[i];
|
|
20
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
21
|
+
t[p] = s[p];
|
|
22
|
+
}
|
|
23
|
+
return t;
|
|
24
|
+
};
|
|
25
|
+
return __assign.apply(this, arguments);
|
|
26
|
+
};
|
|
27
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
28
|
+
var t = {};
|
|
29
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
30
|
+
t[p] = s[p];
|
|
31
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
32
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
33
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
34
|
+
t[p[i]] = s[p[i]];
|
|
35
|
+
}
|
|
36
|
+
return t;
|
|
37
|
+
};
|
|
38
|
+
import { InstrumentationBase, InstrumentationNodeModuleDefinition, safeExecuteInTheMiddle, } from "@opentelemetry/instrumentation";
|
|
39
|
+
import { diag, context, trace, SpanKind, SpanStatusCode, } from "@opentelemetry/api";
|
|
17
40
|
import { VERSION } from "./version";
|
|
41
|
+
import { SemanticConventions, OpenInferenceSpanKind, MimeType, } from "@arizeai/openinference-semantic-conventions";
|
|
42
|
+
var MODULE_NAME = "openai";
|
|
18
43
|
var OpenAIInstrumentation = /** @class */ (function (_super) {
|
|
19
44
|
__extends(OpenAIInstrumentation, _super);
|
|
20
45
|
function OpenAIInstrumentation(config) {
|
|
21
46
|
return _super.call(this, "@arizeai/openinference-instrumentation-openai", VERSION, Object.assign({}, config)) || this;
|
|
22
47
|
}
|
|
23
48
|
OpenAIInstrumentation.prototype.init = function () {
|
|
24
|
-
var module = new InstrumentationNodeModuleDefinition("openai", ["
|
|
49
|
+
var module = new InstrumentationNodeModuleDefinition("openai", ["^4.0.0"], this.patch.bind(this), this.unpatch.bind(this));
|
|
25
50
|
return module;
|
|
26
51
|
};
|
|
27
52
|
OpenAIInstrumentation.prototype.patch = function (module, moduleVersion) {
|
|
28
|
-
|
|
29
|
-
var plugin = this;
|
|
53
|
+
diag.debug("Applying patch for ".concat(MODULE_NAME, "@").concat(moduleVersion));
|
|
30
54
|
if (module === null || module === void 0 ? void 0 : module.openInferencePatched) {
|
|
31
55
|
return module;
|
|
32
56
|
}
|
|
33
|
-
|
|
57
|
+
var instrumentation = this;
|
|
58
|
+
// Patch create chat completions
|
|
34
59
|
this._wrap(module.OpenAI.Chat.Completions.prototype, "create", function (original) {
|
|
35
|
-
console.log("wrapped");
|
|
36
60
|
return function patchedCreate() {
|
|
61
|
+
var _a;
|
|
62
|
+
var _this = this;
|
|
37
63
|
var args = [];
|
|
38
64
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
39
65
|
args[_i] = arguments[_i];
|
|
40
66
|
}
|
|
41
|
-
|
|
67
|
+
var body = args[0];
|
|
68
|
+
var messages = body.messages, invocationParameters = __rest(body, ["messages"]);
|
|
69
|
+
var span = instrumentation.tracer.startSpan("OpenAI Chat Completions", {
|
|
70
|
+
kind: SpanKind.CLIENT,
|
|
71
|
+
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)),
|
|
72
|
+
});
|
|
73
|
+
var execContext = trace.setSpan(context.active(), span);
|
|
74
|
+
var execPromise = safeExecuteInTheMiddle(function () {
|
|
75
|
+
return context.with(execContext, function () {
|
|
76
|
+
return original.apply(_this, args);
|
|
77
|
+
});
|
|
78
|
+
}, function (error) {
|
|
79
|
+
// Push the error to the span
|
|
80
|
+
if (error) {
|
|
81
|
+
span.recordException(error);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
var wrappedPromise = execPromise.then(function (result) {
|
|
85
|
+
if (result) {
|
|
86
|
+
// Record the results
|
|
87
|
+
span.setAttributes({});
|
|
88
|
+
}
|
|
89
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
90
|
+
span.end();
|
|
91
|
+
return result;
|
|
92
|
+
});
|
|
93
|
+
return context.bind(execContext, wrappedPromise);
|
|
42
94
|
};
|
|
43
95
|
});
|
|
44
96
|
module.openInferencePatched = true;
|
|
45
97
|
return module;
|
|
46
98
|
};
|
|
47
|
-
OpenAIInstrumentation.prototype.unpatch = function (moduleExports) {
|
|
99
|
+
OpenAIInstrumentation.prototype.unpatch = function (moduleExports, moduleVersion) {
|
|
100
|
+
diag.debug("Removing patch for ".concat(MODULE_NAME, "@").concat(moduleVersion));
|
|
101
|
+
};
|
|
48
102
|
return OpenAIInstrumentation;
|
|
49
103
|
}(InstrumentationBase));
|
|
50
104
|
export { OpenAIInstrumentation };
|
|
105
|
+
/**
|
|
106
|
+
* Converts the body input
|
|
107
|
+
*/
|
|
108
|
+
function getLLMInputMessagesAttributes(body) {
|
|
109
|
+
return body.messages.reduce(function (acc, message, index) {
|
|
110
|
+
var index_prefix = "".concat(SemanticConventions.LLM_INPUT_MESSAGES, ".").concat(index);
|
|
111
|
+
acc["".concat(index_prefix, ".").concat(SemanticConventions.MESSAGE_CONTENT)] = String(message.content);
|
|
112
|
+
acc["".concat(index_prefix, ".").concat(SemanticConventions.MESSAGE_ROLE)] = String(message.role);
|
|
113
|
+
return acc;
|
|
114
|
+
}, {});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get Usage attributes
|
|
118
|
+
*/
|
|
119
|
+
function getUsageAttributes(usage) {
|
|
120
|
+
return {};
|
|
121
|
+
}
|
|
51
122
|
//# sourceMappingURL=instrumentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"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"}
|