@memberjunction/ai-vectors 1.2.1 → 1.3.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/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './generic/IVectorDatabase';
2
2
  export * from './generic/IVectorIndex';
3
3
  export * from './generic/IEmbedding';
4
+ export * from './models/VectorBase';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generic/IVectorDatabase"), exports);
18
18
  __exportStar(require("./generic/IVectorIndex"), exports);
19
19
  __exportStar(require("./generic/IEmbedding"), exports);
20
+ __exportStar(require("./models/VectorBase"), exports);
20
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,yDAAuC;AACvC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,yDAAuC;AACvC,uDAAqC;AACrC,sDAAoC"}
@@ -0,0 +1,19 @@
1
+ import { BaseEntity, Metadata, CompositeKey, RunView, UserInfo } from "@memberjunction/core";
2
+ import { AIModelEntityExtended, VectorDatabaseEntity } from "@memberjunction/core-entities";
3
+ export declare class VectorBase {
4
+ _runView: RunView;
5
+ _metadata: Metadata;
6
+ _currentUser: UserInfo;
7
+ constructor();
8
+ get Metadata(): Metadata;
9
+ get RunView(): RunView;
10
+ get CurrentUser(): UserInfo;
11
+ set CurrentUser(user: UserInfo);
12
+ protected getRecordsByEntityID(entityID: number, recordIDs?: CompositeKey[]): Promise<BaseEntity[]>;
13
+ protected buildExtraFilter(CompositeKey: CompositeKey[]): string;
14
+ protected getAIModel(id?: number): AIModelEntityExtended;
15
+ protected getVectorDatabase(id?: number): VectorDatabaseEntity;
16
+ protected runViewForSingleValue<T extends BaseEntity>(entityName: string, extraFilter: string): Promise<T | null>;
17
+ protected SaveEntity(entity: BaseEntity): Promise<boolean>;
18
+ }
19
+ //# sourceMappingURL=VectorBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VectorBase.d.ts","sourceRoot":"","sources":["../../src/models/VectorBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAY,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE5F,qBAAa,UAAU;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,QAAQ,CAAC;IACpB,YAAY,EAAE,QAAQ,CAAC;;IAQvB,IAAW,QAAQ,IAAI,QAAQ,CAA2B;IAC1D,IAAW,OAAO,IAAI,OAAO,CAA0B;IACvD,IAAW,WAAW,IAAI,QAAQ,CAA8B;IAChE,IAAW,WAAW,CAAC,IAAI,EAAE,QAAQ,EAA+B;cAEpD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAoBzG,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM;IAQhE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAgBxD,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,oBAAoB;cAgB9C,qBAAqB,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;cAoBvG,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;CAInE"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VectorBase = void 0;
4
+ const aiengine_1 = require("@memberjunction/aiengine");
5
+ const core_1 = require("@memberjunction/core");
6
+ class VectorBase {
7
+ constructor() {
8
+ this._runView = new core_1.RunView();
9
+ this._metadata = new core_1.Metadata();
10
+ this._currentUser = this._metadata.CurrentUser;
11
+ }
12
+ get Metadata() { return this._metadata; }
13
+ get RunView() { return this._runView; }
14
+ get CurrentUser() { return this._currentUser; }
15
+ set CurrentUser(user) { this._currentUser = user; }
16
+ async getRecordsByEntityID(entityID, recordIDs) {
17
+ const md = new core_1.Metadata();
18
+ const entity = md.Entities.find(e => e.ID === entityID);
19
+ if (!entity) {
20
+ throw new Error(`Entity with ID ${entityID} not found.`);
21
+ }
22
+ const rvResult = await this._runView.RunView({
23
+ EntityName: entity.Name,
24
+ ExtraFilter: recordIDs ? this.buildExtraFilter(recordIDs) : undefined,
25
+ ResultType: 'entity_object'
26
+ }, this.CurrentUser);
27
+ if (!rvResult.Success) {
28
+ throw new Error(rvResult.ErrorMessage);
29
+ }
30
+ return rvResult.Results;
31
+ }
32
+ buildExtraFilter(CompositeKey) {
33
+ return CompositeKey.map((keyValue) => {
34
+ return keyValue.KeyValuePairs.map((keys) => {
35
+ return `${keys.FieldName} = '${keys.Value}'`;
36
+ }).join(" AND ");
37
+ }).join("\n OR ");
38
+ }
39
+ getAIModel(id) {
40
+ let model;
41
+ if (id) {
42
+ model = aiengine_1.AIEngine.Models.find(m => m.AIModelTypeID === 3 && m.ID === id);
43
+ }
44
+ else {
45
+ model = aiengine_1.AIEngine.Models.find(m => m.AIModelTypeID === 3);
46
+ }
47
+ if (!model) {
48
+ throw new Error("No AI Model Entity found");
49
+ }
50
+ return model;
51
+ }
52
+ getVectorDatabase(id) {
53
+ if (aiengine_1.AIEngine.VectorDatabases.length > 0) {
54
+ if (id) {
55
+ let vectorDB = aiengine_1.AIEngine.VectorDatabases.find(vd => vd.ID === id);
56
+ if (vectorDB) {
57
+ return vectorDB;
58
+ }
59
+ }
60
+ else {
61
+ return aiengine_1.AIEngine.VectorDatabases[0];
62
+ }
63
+ }
64
+ throw new Error("No Vector Database Entity found");
65
+ }
66
+ async runViewForSingleValue(entityName, extraFilter) {
67
+ const rvResult = await this._runView.RunView({
68
+ EntityName: entityName,
69
+ ExtraFilter: extraFilter,
70
+ ResultType: 'entity_object'
71
+ }, this.CurrentUser);
72
+ if (rvResult.Success) {
73
+ return rvResult.RowCount > 0 ? rvResult.Results[0] : null;
74
+ }
75
+ else {
76
+ (0, core_1.LogError)(rvResult.ErrorMessage);
77
+ return null;
78
+ }
79
+ }
80
+ async SaveEntity(entity) {
81
+ entity.ContextCurrentUser = this.CurrentUser;
82
+ return await entity.Save();
83
+ }
84
+ }
85
+ exports.VectorBase = VectorBase;
86
+ //# sourceMappingURL=VectorBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VectorBase.js","sourceRoot":"","sources":["../../src/models/VectorBase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ai-vectors",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "MemberJunction: AI Vectors Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,9 +15,12 @@
15
15
  "author": "MemberJunction.com",
16
16
  "license": "ISC",
17
17
  "dependencies": {
18
- "@langchain/mistralai": "^0.0.7",
19
- "@memberjunction/core": "~1.2.1",
20
- "@memberjunction/global": "~1.2.1",
18
+ "@memberjunction/core": "~1.3.0",
19
+ "@memberjunction/global": "~1.3.0",
20
+ "@memberjunction/core-entities": "~1.3.0",
21
+ "@memberjunction/aiengine": "~1.3.0",
22
+ "@memberjunction/ai": "~1.3.0",
23
+ "@memberjunction/ai-vectordb": "~1.3.0",
21
24
  "dotenv": "^16.0.3",
22
25
  "openai": "^3.2.1"
23
26
  },