@nx-ddd/any-func 17.12.0 → 17.14.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.
@@ -1,5 +1,6 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  import type { ChatCompletionMessageParam, FunctionParameters } from 'openai/resources';
3
+ import { CacheAdapter } from '../impl/adapters/cache';
3
4
  export interface CallOptions<I, O, S extends {
4
5
  input: I;
5
6
  output: O;
@@ -28,6 +29,7 @@ export declare function provideAnyFunc(config?: AnyFuncConfig): ({
28
29
  export declare class AnyFuncService {
29
30
  protected readonly openai: import("../../../../../../dist/packages/@nx-ddd/common/infrastructure/externals/openai/open-ai.service.impl").OpenAiServiceImpl;
30
31
  protected readonly config: AnyFuncConfig;
32
+ protected cache: CacheAdapter;
31
33
  jsonSchema(_input: any, jsonSchema: FunctionParameters, { instructions, model, specs, embeddings, sample, temperature, maxRetry, }?: CallOptions<any, any>): Promise<any>;
32
34
  call<I, O>(_input: I, args: {
33
35
  new (): O;
@@ -42,6 +44,7 @@ export declare class AnyFuncService {
42
44
  role: 'assistant' | 'user';
43
45
  content: string;
44
46
  }[];
47
+ getEmbeddings<T>(item: T, accessor: (item: T) => string): Promise<number[]>;
45
48
  sort<T>(items: T[], accessor: (item: T) => string, target: string): Promise<T[]>;
46
49
  private parseInput;
47
50
  }
@@ -5,10 +5,13 @@ const tslib_1 = require("tslib");
5
5
  const core_1 = require("@angular/core");
6
6
  const openai_1 = require("@nx-ddd/common/infrastructure/externals/openai");
7
7
  const rxjs_1 = require("rxjs");
8
- const json_schema_library_1 = require("json-schema-library");
8
+ const json_schema_library_1 = tslib_1.__importDefault(require("json-schema-library"));
9
9
  const agent_1 = require("../agent");
10
10
  const json_schema_1 = require("../impl/json-schema");
11
11
  const any_func_service_1 = require("./any-func.service");
12
+ const cache_1 = require("../impl/adapters/cache");
13
+ const p_limit_1 = tslib_1.__importDefault(require("p-limit"));
14
+ const { Draft07 } = json_schema_library_1.default;
12
15
  const ANY_FUNC_CONFIG = new core_1.InjectionToken('[@nx-ddd/any-func] AnyFuncConfig');
13
16
  function provideAnyFuncConfig(config) {
14
17
  return [
@@ -27,10 +30,11 @@ let AnyFuncService = class AnyFuncService {
27
30
  var _a;
28
31
  this.openai = (0, openai_1.injectOpenAiService)();
29
32
  this.config = (_a = (0, core_1.inject)(ANY_FUNC_CONFIG, { optional: true })) !== null && _a !== void 0 ? _a : { debug: false };
33
+ this.cache = (0, core_1.inject)(cache_1.CacheAdapter);
30
34
  }
31
35
  jsonSchema(_input, jsonSchema, { instructions = '', model = 'gpt-4o', specs = [], embeddings = false, sample = 3, temperature = 0, maxRetry = 3, } = {}) {
32
36
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
33
- const validator = new json_schema_library_1.Draft07(jsonSchema);
37
+ const validator = new Draft07(jsonSchema);
34
38
  for (const spec of specs) {
35
39
  const errors = validator.validate(spec.output);
36
40
  if (errors.length > 0) {
@@ -49,7 +53,7 @@ let AnyFuncService = class AnyFuncService {
49
53
  temperature,
50
54
  })), (0, rxjs_1.tap)(message => messages.push(message)), (0, rxjs_1.map)((message) => {
51
55
  const output = JSON.parse(message.tool_calls[0].function.arguments);
52
- const errors = new json_schema_library_1.Draft07(jsonSchema).validate(output);
56
+ const errors = new Draft07(jsonSchema).validate(output);
53
57
  if (errors.length > 0) {
54
58
  messages.push({
55
59
  role: 'tool',
@@ -95,7 +99,7 @@ let AnyFuncService = class AnyFuncService {
95
99
  complete(_input, jsonSchema, messages, { model = 'gpt-4o', temperature = 0, } = {}) {
96
100
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
97
101
  const tool = (0, agent_1.buildFunctionTool)({ name: 'function', description: '', parameters: jsonSchema });
98
- const res = yield this.openai.chat.completions.create({
102
+ const props = {
99
103
  model,
100
104
  messages,
101
105
  tools: [tool],
@@ -104,7 +108,8 @@ let AnyFuncService = class AnyFuncService {
104
108
  function: { name: 'function' }
105
109
  },
106
110
  temperature,
107
- });
111
+ };
112
+ const res = yield this.cache.call(props, props => this.openai.chat.completions.create(props));
108
113
  return res.choices[0].message;
109
114
  });
110
115
  }
@@ -130,20 +135,26 @@ let AnyFuncService = class AnyFuncService {
130
135
  ];
131
136
  }).flat();
132
137
  }
138
+ getEmbeddings(item, accessor) {
139
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
140
+ const props = { item, model: 'text-embedding-3-small' };
141
+ let embedding = yield this.cache.get(props);
142
+ if (embedding)
143
+ return embedding;
144
+ embedding = yield this.openai.embeddings.create({
145
+ model: props.model,
146
+ input: accessor(item),
147
+ }).then(res => res.data[0].embedding);
148
+ yield this.cache.set(props, embedding);
149
+ return embedding;
150
+ });
151
+ }
133
152
  sort(items, accessor, target) {
134
153
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
135
- const getEmbeddings = (item) => {
136
- return this.openai.embeddings.create({
137
- model: 'text-embedding-3-small',
138
- input: accessor(item),
139
- }).then(res => res.data[0].embedding);
140
- };
141
154
  const dist = (a, b) => Math.sqrt(a.reduce((acc, v, i) => acc + Math.pow((v - b[i]), 2), 0));
142
- const targetEmbeddings = yield this.openai.embeddings.create({
143
- model: 'text-embedding-3-small',
144
- input: target,
145
- }).then(res => res.data[0].embedding);
146
- const embeddings = yield Promise.all(items.map(getEmbeddings));
155
+ const targetEmbeddings = yield this.getEmbeddings(target, s => s);
156
+ const limit = (0, p_limit_1.default)(10);
157
+ const embeddings = yield Promise.all(items.map(item => limit(() => this.getEmbeddings(item, accessor))));
147
158
  const items_ = items.map((item, i) => ({
148
159
  item,
149
160
  embedding: embeddings[i],
@@ -1 +1 @@
1
- {"version":3,"file":"any-func.service.impl.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/any-func/src/lib/any-func/any-func.service.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"any-func.service.impl.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/any-func/src/lib/any-func/any-func.service.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { LocalStorage } from "node-localstorage";
2
+ export declare class CacheAdapter {
3
+ protected localStorage: LocalStorage;
4
+ get<T>(keyOrObj: string | object): Promise<T | null>;
5
+ set(keyOrObj: string | object, value: any): Promise<void>;
6
+ call<P extends (string | object), T>(props: P, callback: (props: P) => Promise<T>): Promise<T>;
7
+ protected makeKey(keyOrObj: string | object): string;
8
+ protected makeJson(valueOrObj: any): string;
9
+ protected parseJson(value: string): any;
10
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheAdapter = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const node_localstorage_1 = require("node-localstorage");
7
+ const CryptoJS = tslib_1.__importStar(require("crypto-js"));
8
+ let CacheAdapter = class CacheAdapter {
9
+ constructor() {
10
+ this.localStorage = global.localStorage || new node_localstorage_1.LocalStorage('node_modules/.cache/any-func', 5 * 1024 * 1024 * 1024);
11
+ }
12
+ get(keyOrObj) {
13
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
+ const key = this.makeKey(keyOrObj);
15
+ return this.parseJson(this.localStorage.getItem(key));
16
+ });
17
+ }
18
+ set(keyOrObj, value) {
19
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
20
+ const key = this.makeKey(keyOrObj);
21
+ this.localStorage.setItem(key, this.makeJson(value));
22
+ });
23
+ }
24
+ call(props, callback) {
25
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
26
+ const key = this.makeKey(props);
27
+ let value = yield this.get(key);
28
+ if (value)
29
+ return value;
30
+ value = yield callback(props);
31
+ yield this.set(key, value);
32
+ return value;
33
+ });
34
+ }
35
+ makeKey(keyOrObj) {
36
+ const value = typeof keyOrObj === 'string' ? keyOrObj : JSON.stringify(keyOrObj);
37
+ return CryptoJS.SHA256(value).toString();
38
+ }
39
+ makeJson(valueOrObj) {
40
+ return JSON.stringify(valueOrObj);
41
+ }
42
+ parseJson(value) {
43
+ return JSON.parse(value);
44
+ }
45
+ };
46
+ exports.CacheAdapter = CacheAdapter;
47
+ exports.CacheAdapter = CacheAdapter = tslib_1.__decorate([
48
+ (0, core_1.Injectable)({ providedIn: 'root' })
49
+ ], CacheAdapter);
50
+ //# sourceMappingURL=cache.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.adapter.js","sourceRoot":"","sources":["../../../../../../../../packages/@nx-ddd/any-func/src/lib/impl/adapters/cache/cache.adapter.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAC3C,yDAAiD;AACjD,4DAAsC;AAG/B,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;QACK,iBAAY,GAAiB,MAAM,CAAC,YAAY,IAAI,IAAI,gCAAY,CAAC,8BAA8B,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IAiCzI,CAAC;IA/BO,GAAG,CAAI,QAAyB;;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAa,CAAC;QACpE,CAAC;KAAA;IAEK,GAAG,CAAC,QAAyB,EAAE,KAAU;;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;KAAA;IAEK,IAAI,CAAiC,KAAQ,EAAE,QAAkC;;YACrF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxB,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAES,OAAO,CAAC,QAAyB;QACzC,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjF,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAES,QAAQ,CAAC,UAAe;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAES,SAAS,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF,CAAA;AAlCY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,iBAAU,EAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;GACpB,YAAY,CAkCxB"}
@@ -0,0 +1 @@
1
+ export * from './cache.adapter';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./cache.adapter"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/@nx-ddd/any-func/src/lib/impl/adapters/cache/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx-ddd/any-func",
3
- "version": "17.12.0",
3
+ "version": "17.14.0",
4
4
  "main": "./src/index.js",
5
5
  "types": "./index.d.ts",
6
6
  "homepage": "https://github.com/xx-machina/plaform/tree/main/packages/@nx-ddd/any-func",