@arizeai/openinference-instrumentation-openai 0.0.1-rc8 → 0.0.1-rc9

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.
Files changed (45) hide show
  1. package/dist/esm/index.d.ts +2 -0
  2. package/dist/esm/index.d.ts.map +1 -0
  3. package/dist/esm/index.js +2 -0
  4. package/dist/esm/index.js.map +1 -0
  5. package/dist/esm/instrumentation.d.ts +9 -0
  6. package/dist/esm/instrumentation.d.ts.map +1 -0
  7. package/dist/esm/instrumentation.js +97 -0
  8. package/dist/esm/instrumentation.js.map +1 -0
  9. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  10. package/dist/esm/version.d.ts +2 -0
  11. package/dist/esm/version.d.ts.map +1 -0
  12. package/dist/esm/version.js +3 -0
  13. package/dist/esm/version.js.map +1 -0
  14. package/dist/esnext/index.d.ts +2 -0
  15. package/dist/esnext/index.d.ts.map +1 -0
  16. package/dist/esnext/index.js +2 -0
  17. package/dist/esnext/index.js.map +1 -0
  18. package/dist/esnext/instrumentation.d.ts +9 -0
  19. package/dist/esnext/instrumentation.d.ts.map +1 -0
  20. package/dist/esnext/instrumentation.js +62 -0
  21. package/dist/esnext/instrumentation.js.map +1 -0
  22. package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -1
  23. package/dist/esnext/version.d.ts +2 -0
  24. package/dist/esnext/version.d.ts.map +1 -0
  25. package/dist/esnext/version.js +3 -0
  26. package/dist/esnext/version.js.map +1 -0
  27. package/dist/src/index.d.ts +2 -0
  28. package/dist/src/index.d.ts.map +1 -0
  29. package/dist/src/index.js +18 -0
  30. package/dist/src/index.js.map +1 -0
  31. package/dist/src/instrumentation.d.ts +9 -0
  32. package/dist/src/instrumentation.d.ts.map +1 -0
  33. package/dist/src/instrumentation.js +66 -0
  34. package/dist/src/instrumentation.js.map +1 -0
  35. package/dist/src/version.d.ts +2 -0
  36. package/dist/src/version.d.ts.map +1 -0
  37. package/dist/src/version.js +6 -0
  38. package/dist/src/version.js.map +1 -0
  39. package/dist/test/openai.test.d.ts +2 -0
  40. package/dist/test/openai.test.d.ts.map +1 -0
  41. package/dist/test/openai.test.js +78 -0
  42. package/dist/test/openai.test.js.map +1 -0
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +1 -1
  45. package/src/version.ts +1 -1
@@ -0,0 +1,2 @@
1
+ export * from "./instrumentation";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./instrumentation";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as openai from "openai";
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
+ private patch;
7
+ private unpatch;
8
+ }
9
+ //# sourceMappingURL=instrumentation.d.ts.map
@@ -0,0 +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,EAGlC,MAAM,gCAAgC,CAAC;AAmBxC,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;IA2Db,OAAO,CAAC,OAAO;CAGlB"}
@@ -0,0 +1,97 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
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
+ import { InstrumentationBase, InstrumentationNodeModuleDefinition, safeExecuteInTheMiddle, } from "@opentelemetry/instrumentation";
28
+ import { diag, context, trace, SpanKind, } from "@opentelemetry/api";
29
+ import { VERSION } from "./version";
30
+ import { SemanticConventions, OpenInferenceSpanKind, } from "@arizeai/openinference-semantic-conventions";
31
+ var MODULE_NAME = "openai";
32
+ var OpenAIInstrumentation = /** @class */ (function (_super) {
33
+ __extends(OpenAIInstrumentation, _super);
34
+ function OpenAIInstrumentation(config) {
35
+ return _super.call(this, "@arizeai/openinference-instrumentation-openai", VERSION, Object.assign({}, config)) || this;
36
+ }
37
+ OpenAIInstrumentation.prototype.init = function () {
38
+ var module = new InstrumentationNodeModuleDefinition("openai", ["^4.0.0"], this.patch.bind(this), this.unpatch.bind(this));
39
+ return module;
40
+ };
41
+ OpenAIInstrumentation.prototype.patch = function (module, moduleVersion) {
42
+ console.log("Applying patch for ".concat(MODULE_NAME, "@").concat(moduleVersion));
43
+ var plugin = this;
44
+ if (module === null || module === void 0 ? void 0 : module.openInferencePatched) {
45
+ return module;
46
+ }
47
+ var instrumentation = this;
48
+ this._wrap(module.OpenAI.Chat.Completions.prototype, "create", function (original) {
49
+ return function patchedCreate() {
50
+ var _a;
51
+ var _this = this;
52
+ var args = [];
53
+ for (var _i = 0; _i < arguments.length; _i++) {
54
+ args[_i] = arguments[_i];
55
+ }
56
+ var body = args[0];
57
+ var span = instrumentation.tracer.startSpan("OpenAI Chat Completions", {
58
+ kind: SpanKind.CLIENT,
59
+ attributes: __assign((_a = {}, _a[SemanticConventions.OPENINFERENCE_SPAN_KIND] = OpenInferenceSpanKind.LLM, _a), getLLMInputMessagesAttributes(body)),
60
+ });
61
+ var execContext = trace.setSpan(context.active(), span);
62
+ var execPromise = safeExecuteInTheMiddle(function () {
63
+ return context.with(execContext, function () {
64
+ return original.apply(_this, args);
65
+ });
66
+ }, function (error) {
67
+ // TODO handler the error
68
+ });
69
+ var wrappedPromise = execPromise.then(function (result) {
70
+ // TODO set span attributes
71
+ span.end();
72
+ return result;
73
+ });
74
+ return context.bind(execContext, wrappedPromise);
75
+ };
76
+ });
77
+ module.openInferencePatched = true;
78
+ return module;
79
+ };
80
+ OpenAIInstrumentation.prototype.unpatch = function (moduleExports, moduleVersion) {
81
+ diag.debug("Removing patch for ".concat(MODULE_NAME, "@").concat(moduleVersion));
82
+ };
83
+ return OpenAIInstrumentation;
84
+ }(InstrumentationBase));
85
+ export { OpenAIInstrumentation };
86
+ /**
87
+ * Converts the body input
88
+ */
89
+ function getLLMInputMessagesAttributes(body) {
90
+ return body.messages.reduce(function (acc, message, index) {
91
+ var index_prefix = "".concat(SemanticConventions.LLM_INPUT_MESSAGES, ".").concat(index);
92
+ acc["".concat(index_prefix, ".").concat(SemanticConventions.MESSAGE_CONTENT)] = String(message.content);
93
+ acc["".concat(index_prefix, ".").concat(SemanticConventions.MESSAGE_ROLE)] = String(message.role);
94
+ return acc;
95
+ }, {});
96
+ }
97
+ //# sourceMappingURL=instrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"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"}