@memberjunction/aiengine 2.112.0 → 2.113.1
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/README.md +131 -2
- package/dist/AIEngine.d.ts +17 -8
- package/dist/AIEngine.d.ts.map +1 -1
- package/dist/AIEngine.js +175 -57
- package/dist/AIEngine.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types/ExampleMatchResult.d.ts +17 -0
- package/dist/types/ExampleMatchResult.d.ts.map +1 -0
- package/dist/types/ExampleMatchResult.js +3 -0
- package/dist/types/ExampleMatchResult.js.map +1 -0
- package/dist/types/NoteMatchResult.d.ts +15 -0
- package/dist/types/NoteMatchResult.d.ts.map +1 -0
- package/dist/types/NoteMatchResult.js +3 -0
- package/dist/types/NoteMatchResult.js.map +1 -0
- package/package.json +9 -8
package/README.md
CHANGED
|
@@ -10,6 +10,7 @@ The MemberJunction AI Engine package provides a comprehensive framework for AI-p
|
|
|
10
10
|
- **🔗 Entity Integration**: Seamless integration with MemberJunction entity system
|
|
11
11
|
- **⚡ Simple Prompt Execution**: Basic prompt execution for quick AI tasks
|
|
12
12
|
- **🏗️ Agent Type System**: Defines agent types and their behavioral characteristics
|
|
13
|
+
- **🔍 Semantic Search**: Find similar agents, actions, notes, and examples using vector embeddings
|
|
13
14
|
|
|
14
15
|
> **📝 Advanced Prompt Management**: For sophisticated stored prompt management, template rendering, and parallel execution capabilities, see the [@memberjunction/ai-prompts](../Prompts/README.md) package.
|
|
15
16
|
|
|
@@ -335,6 +336,134 @@ const response = await AIEngine.Instance.SimpleLLMCompletion(
|
|
|
335
336
|
);
|
|
336
337
|
```
|
|
337
338
|
|
|
339
|
+
### Semantic Search with Vector Embeddings
|
|
340
|
+
|
|
341
|
+
The AI Engine provides semantic search capabilities using vector embeddings for finding similar agents, actions, notes, and examples. All search operations support efficient metadata filtering for scoped searches.
|
|
342
|
+
|
|
343
|
+
#### Finding Similar Agents
|
|
344
|
+
|
|
345
|
+
```typescript
|
|
346
|
+
// Find agents similar to a task description
|
|
347
|
+
const taskDescription = "I need to analyze sales data and generate insights";
|
|
348
|
+
const similarAgents = await AIEngine.Instance.FindSimilarAgents(
|
|
349
|
+
taskDescription,
|
|
350
|
+
5, // topK: return top 5 matches
|
|
351
|
+
0.5 // minSimilarity: minimum similarity threshold (0-1)
|
|
352
|
+
);
|
|
353
|
+
|
|
354
|
+
similarAgents.forEach(match => {
|
|
355
|
+
console.log(`Agent: ${match.agent.Name}`);
|
|
356
|
+
console.log(`Similarity: ${(match.similarity * 100).toFixed(1)}%`);
|
|
357
|
+
console.log(`Purpose: ${match.agent.Purpose}\n`);
|
|
358
|
+
});
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
#### Finding Similar Actions
|
|
362
|
+
|
|
363
|
+
```typescript
|
|
364
|
+
// Find actions that match a capability description
|
|
365
|
+
const capability = "send email notifications to users";
|
|
366
|
+
const similarActions = await AIEngine.Instance.FindSimilarActions(
|
|
367
|
+
capability,
|
|
368
|
+
10, // topK
|
|
369
|
+
0.6 // minSimilarity
|
|
370
|
+
);
|
|
371
|
+
|
|
372
|
+
similarActions.forEach(match => {
|
|
373
|
+
console.log(`Action: ${match.action.Name}`);
|
|
374
|
+
console.log(`Match: ${(match.similarity * 100).toFixed(1)}%`);
|
|
375
|
+
console.log(`Description: ${match.action.Description}\n`);
|
|
376
|
+
});
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
#### Finding Similar Agent Notes (with Filtering)
|
|
380
|
+
|
|
381
|
+
Agent notes can be filtered by agent, user, or company for scoped searches. **Filtering happens before similarity calculation for optimal performance (10-20x faster!):**
|
|
382
|
+
|
|
383
|
+
```typescript
|
|
384
|
+
// Find notes similar to a query for a specific agent
|
|
385
|
+
const queryText = "best practices for error handling";
|
|
386
|
+
const agentId = 'agent-uuid-here';
|
|
387
|
+
|
|
388
|
+
const similarNotes = await AIEngine.Instance.FindSimilarAgentNotes(
|
|
389
|
+
queryText,
|
|
390
|
+
agentId, // Filter by agent ID (efficient pre-filtering)
|
|
391
|
+
undefined, // userId filter (optional)
|
|
392
|
+
undefined, // companyId filter (optional)
|
|
393
|
+
5, // topK
|
|
394
|
+
0.7 // minSimilarity
|
|
395
|
+
);
|
|
396
|
+
|
|
397
|
+
similarNotes.forEach(match => {
|
|
398
|
+
console.log(`Note ID: ${match.note.ID}`);
|
|
399
|
+
console.log(`Similarity: ${(match.similarity * 100).toFixed(1)}%`);
|
|
400
|
+
console.log(`Content: ${match.note.Note}\n`);
|
|
401
|
+
});
|
|
402
|
+
|
|
403
|
+
// Search across all agents (no filtering)
|
|
404
|
+
const allNotes = await AIEngine.Instance.FindSimilarAgentNotes(
|
|
405
|
+
queryText,
|
|
406
|
+
undefined, // No agent filter
|
|
407
|
+
undefined, // No user filter
|
|
408
|
+
undefined, // No company filter
|
|
409
|
+
10,
|
|
410
|
+
0.6
|
|
411
|
+
);
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
#### Finding Similar Examples (with Filtering)
|
|
415
|
+
|
|
416
|
+
Agent examples also support efficient metadata filtering:
|
|
417
|
+
|
|
418
|
+
```typescript
|
|
419
|
+
// Find examples similar to an input for a specific agent
|
|
420
|
+
const inputText = "Calculate the total revenue for Q4";
|
|
421
|
+
const agentId = 'data-analysis-agent-uuid';
|
|
422
|
+
|
|
423
|
+
const similarExamples = await AIEngine.Instance.FindSimilarAgentExamples(
|
|
424
|
+
inputText,
|
|
425
|
+
agentId, // Filter by agent ID (efficient pre-filtering)
|
|
426
|
+
undefined, // userId filter (optional)
|
|
427
|
+
undefined, // companyId filter (optional)
|
|
428
|
+
3, // topK
|
|
429
|
+
0.75 // minSimilarity
|
|
430
|
+
);
|
|
431
|
+
|
|
432
|
+
similarExamples.forEach(match => {
|
|
433
|
+
console.log(`Example: ${match.example.ID}`);
|
|
434
|
+
console.log(`Similarity: ${(match.similarity * 100).toFixed(1)}%`);
|
|
435
|
+
console.log(`Input: ${match.example.ExampleInput}`);
|
|
436
|
+
console.log(`Output: ${match.example.ExampleOutput}\n`);
|
|
437
|
+
});
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
#### Performance Benefits of Filtering
|
|
441
|
+
|
|
442
|
+
The semantic search methods use pre-filtering for optimal performance:
|
|
443
|
+
|
|
444
|
+
```typescript
|
|
445
|
+
// ✅ EFFICIENT: Filter applied BEFORE similarity calculation
|
|
446
|
+
// For 1000 notes where 50 belong to the agent:
|
|
447
|
+
// - Filters to 50 notes (fast metadata check)
|
|
448
|
+
// - Calculates similarity for 50 vectors
|
|
449
|
+
// - Returns top 5 matches
|
|
450
|
+
const filtered = await AIEngine.Instance.FindSimilarAgentNotes(
|
|
451
|
+
queryText,
|
|
452
|
+
agentId, // Pre-filter by agent
|
|
453
|
+
undefined,
|
|
454
|
+
undefined,
|
|
455
|
+
5,
|
|
456
|
+
0.7
|
|
457
|
+
);
|
|
458
|
+
|
|
459
|
+
// ❌ INEFFICIENT: Don't do this (old pattern)
|
|
460
|
+
// Would calculate similarity for ALL 1000 notes then filter
|
|
461
|
+
const all = await AIEngine.Instance.FindSimilarAgentNotes(queryText);
|
|
462
|
+
const filtered = all.filter(n => n.note.AgentID === agentId).slice(0, 5);
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
**Speedup**: Pre-filtering provides 10-20x performance improvement for scoped searches because similarity calculation is much more expensive than metadata checks.
|
|
466
|
+
|
|
338
467
|
For sophisticated parallel execution, template rendering, and stored prompt management, see the [@memberjunction/ai-prompts](../Prompts/README.md) package.
|
|
339
468
|
|
|
340
469
|
## Import Examples
|
|
@@ -551,7 +680,7 @@ Entity AI Actions connected AI actions to specific entity types, defining:
|
|
|
551
680
|
```typescript
|
|
552
681
|
// Deprecated - use AI Agents instead
|
|
553
682
|
import { EntityAIActionParams } from '@memberjunction/aiengine';
|
|
554
|
-
import { Metadata } from '@memberjunction/
|
|
683
|
+
import { Metadata } from '@memberjunction/core';
|
|
555
684
|
|
|
556
685
|
// Load an entity record
|
|
557
686
|
const md = new Metadata();
|
|
@@ -604,4 +733,4 @@ if (cached) {
|
|
|
604
733
|
|
|
605
734
|
const result = await AIEngine.Instance.ExecuteAIAction(params);
|
|
606
735
|
await AIEngine.Instance.CacheResult(model, prompt, fullPromptText, result.data.choices[0].message.content);
|
|
607
|
-
```
|
|
736
|
+
```
|
package/dist/AIEngine.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { BaseLLM, BaseModel, BaseResult, ChatMessage, ParallelChatCompletionsCallbacks, EmbedTextResult } from
|
|
2
|
-
import { ChatResult } from
|
|
3
|
-
import { BaseEntity, BaseEntityEvent, UserInfo } from
|
|
4
|
-
import { AIActionEntity, AIModelEntityExtended, ActionEntity } from
|
|
5
|
-
import { AIEngineBase } from
|
|
6
|
-
import { SimpleVectorService } from
|
|
7
|
-
import { AgentEmbeddingMetadata, AgentMatchResult } from
|
|
8
|
-
import { ActionEmbeddingMetadata, ActionMatchResult } from
|
|
1
|
+
import { BaseLLM, BaseModel, BaseResult, ChatMessage, ParallelChatCompletionsCallbacks, EmbedTextResult } from "@memberjunction/ai";
|
|
2
|
+
import { ChatResult } from "@memberjunction/ai";
|
|
3
|
+
import { BaseEntity, BaseEntityEvent, UserInfo } from "@memberjunction/core";
|
|
4
|
+
import { AIActionEntity, AIModelEntityExtended, ActionEntity } from "@memberjunction/core-entities";
|
|
5
|
+
import { AIEngineBase } from "@memberjunction/ai-engine-base";
|
|
6
|
+
import { SimpleVectorService } from "@memberjunction/ai-vectors-memory";
|
|
7
|
+
import { AgentEmbeddingMetadata, AgentMatchResult } from "./types/AgentMatchResult";
|
|
8
|
+
import { ActionEmbeddingMetadata, ActionMatchResult } from "./types/ActionMatchResult";
|
|
9
|
+
import { NoteMatchResult } from "./types/NoteMatchResult";
|
|
10
|
+
import { ExampleMatchResult } from "./types/ExampleMatchResult";
|
|
9
11
|
export declare class AIActionParams {
|
|
10
12
|
actionId: string;
|
|
11
13
|
modelId: string;
|
|
@@ -22,6 +24,8 @@ export declare class AIEngine extends AIEngineBase {
|
|
|
22
24
|
readonly LocalEmbeddingModelVendorName: string;
|
|
23
25
|
private _agentVectorService;
|
|
24
26
|
private _actionVectorService;
|
|
27
|
+
private _noteVectorService;
|
|
28
|
+
private _exampleVectorService;
|
|
25
29
|
private _actions;
|
|
26
30
|
private _agentEmbeddingsCache;
|
|
27
31
|
private _actionEmbeddingsCache;
|
|
@@ -41,11 +45,16 @@ export declare class AIEngine extends AIEngineBase {
|
|
|
41
45
|
private loadAgentEmbeddings;
|
|
42
46
|
private loadActions;
|
|
43
47
|
private loadActionEmbeddings;
|
|
48
|
+
private loadNoteEmbeddings;
|
|
49
|
+
private loadExampleEmbeddings;
|
|
50
|
+
protected ProcessEntityEvent(event: BaseEntityEvent): Promise<void>;
|
|
44
51
|
protected HandleIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
|
|
45
52
|
private generateSingleAgentEmbedding;
|
|
46
53
|
private generateSingleActionEmbedding;
|
|
47
54
|
FindSimilarAgents(taskDescription: string, topK?: number, minSimilarity?: number): Promise<AgentMatchResult[]>;
|
|
48
55
|
FindSimilarActions(taskDescription: string, topK?: number, minSimilarity?: number): Promise<ActionMatchResult[]>;
|
|
56
|
+
FindSimilarAgentNotes(queryText: string, agentId?: string, userId?: string, companyId?: string, topK?: number, minSimilarity?: number): Promise<NoteMatchResult[]>;
|
|
57
|
+
FindSimilarAgentExamples(queryText: string, agentId?: string, userId?: string, companyId?: string, topK?: number, minSimilarity?: number): Promise<ExampleMatchResult[]>;
|
|
49
58
|
ParallelLLMCompletions(userPrompt: string, contextUser: UserInfo, systemPrompt?: string, iterations?: number, temperatureIncrement?: number, baseTemperature?: number, model?: AIModelEntityExtended, apiKey?: string, callbacks?: ParallelChatCompletionsCallbacks): Promise<ChatResult[]>;
|
|
50
59
|
get LocalEmbeddingModels(): AIModelEntityExtended[];
|
|
51
60
|
get HighestPowerLocalEmbeddingModel(): AIModelEntityExtended;
|
package/dist/AIEngine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIEngine.d.ts","sourceRoot":"","sources":["../src/AIEngine.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AIEngine.d.ts","sourceRoot":"","sources":["../src/AIEngine.ts"],"names":[],"mappings":"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"}
|
package/dist/AIEngine.js
CHANGED
|
@@ -25,12 +25,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.LoadAIEngine = exports.AIEngine = exports.EntityAIActionParams = exports.AIActionParams = void 0;
|
|
27
27
|
const ai_1 = require("@memberjunction/ai");
|
|
28
|
+
const core_1 = require("@memberjunction/core");
|
|
28
29
|
const global_1 = require("@memberjunction/global");
|
|
29
|
-
const global_2 = require("@memberjunction/global");
|
|
30
30
|
const ai_engine_base_1 = require("@memberjunction/ai-engine-base");
|
|
31
31
|
const ai_vectors_memory_1 = require("@memberjunction/ai-vectors-memory");
|
|
32
32
|
const AgentEmbeddingService_1 = require("./services/AgentEmbeddingService");
|
|
33
33
|
const ActionEmbeddingService_1 = require("./services/ActionEmbeddingService");
|
|
34
|
+
const actions_base_1 = require("@memberjunction/actions-base");
|
|
34
35
|
class AIActionParams {
|
|
35
36
|
}
|
|
36
37
|
exports.AIActionParams = AIActionParams;
|
|
@@ -44,6 +45,8 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
44
45
|
this.LocalEmbeddingModelVendorName = 'LocalEmbeddings';
|
|
45
46
|
this._agentVectorService = null;
|
|
46
47
|
this._actionVectorService = null;
|
|
48
|
+
this._noteVectorService = null;
|
|
49
|
+
this._exampleVectorService = null;
|
|
47
50
|
this._actions = [];
|
|
48
51
|
this._agentEmbeddingsCache = new Map();
|
|
49
52
|
this._actionEmbeddingsCache = new Map();
|
|
@@ -92,7 +95,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
92
95
|
await AIEngine.Instance.Config(false, contextUser);
|
|
93
96
|
const modelToUse = model ? model : await this.GetHighestPowerLLM(null, contextUser);
|
|
94
97
|
const apiKeyToUse = apiKey ? apiKey : (0, ai_1.GetAIAPIKey)(modelToUse.DriverClass);
|
|
95
|
-
const modelInstance =
|
|
98
|
+
const modelInstance = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseLLM, modelToUse.DriverClass, apiKeyToUse);
|
|
96
99
|
return { modelInstance, modelToUse };
|
|
97
100
|
}
|
|
98
101
|
async SimpleLLMCompletion(userPrompt, contextUser, systemPrompt, model, apiKey) {
|
|
@@ -113,7 +116,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
113
116
|
throw new Error(`Error executing LLM model ${modelToUse.Name} : ${result.errorMessage}`);
|
|
114
117
|
}
|
|
115
118
|
catch (e) {
|
|
116
|
-
(0,
|
|
119
|
+
(0, core_1.LogError)(e);
|
|
117
120
|
throw e;
|
|
118
121
|
}
|
|
119
122
|
}
|
|
@@ -121,8 +124,12 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
121
124
|
await super.AdditionalLoading(contextUser);
|
|
122
125
|
if (!this._embeddingsGenerated) {
|
|
123
126
|
await this.loadActions(contextUser);
|
|
124
|
-
|
|
125
|
-
|
|
127
|
+
const promises = [];
|
|
128
|
+
promises.push(this.loadAgentEmbeddings());
|
|
129
|
+
promises.push(this.loadActionEmbeddings());
|
|
130
|
+
promises.push(this.loadNoteEmbeddings(contextUser));
|
|
131
|
+
promises.push(this.loadExampleEmbeddings(contextUser));
|
|
132
|
+
await Promise.all(promises);
|
|
126
133
|
this._embeddingsGenerated = true;
|
|
127
134
|
}
|
|
128
135
|
}
|
|
@@ -134,9 +141,10 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
134
141
|
console.log('AIEngine: No agents found to generate embeddings for');
|
|
135
142
|
return;
|
|
136
143
|
}
|
|
137
|
-
const
|
|
144
|
+
const nonRestrictedAgents = agents.filter(agent => !agent.IsRestricted);
|
|
145
|
+
const agentsNeedingEmbeddings = nonRestrictedAgents.filter(agent => !this._agentEmbeddingsCache.has(agent.ID));
|
|
138
146
|
if (agentsNeedingEmbeddings.length === 0) {
|
|
139
|
-
console.log(`AIEngine: All ${
|
|
147
|
+
console.log(`AIEngine: All ${nonRestrictedAgents.length} non-restricted agents already have embeddings`);
|
|
140
148
|
return;
|
|
141
149
|
}
|
|
142
150
|
console.log(`AIEngine: Generating embeddings for ${agentsNeedingEmbeddings.length} agents (${agents.length - agentsNeedingEmbeddings.length} already cached)...`);
|
|
@@ -156,23 +164,14 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
156
164
|
}
|
|
157
165
|
}
|
|
158
166
|
async loadActions(contextUser) {
|
|
159
|
-
const startTime = Date.now();
|
|
160
|
-
console.log('AIEngine: Loading actions...');
|
|
161
167
|
try {
|
|
162
|
-
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
OrderBy: 'Name',
|
|
167
|
-
ResultType: 'entity_object',
|
|
168
|
-
}, contextUser);
|
|
169
|
-
if (result.Success && result.Results) {
|
|
170
|
-
this._actions = result.Results;
|
|
171
|
-
const duration = Date.now() - startTime;
|
|
172
|
-
console.log(`AIEngine: Loaded ${this._actions.length} actions in ${duration}ms`);
|
|
168
|
+
await actions_base_1.ActionEngineBase.Instance.Config(false, contextUser, this.ProviderToUse);
|
|
169
|
+
const actions = actions_base_1.ActionEngineBase.Instance.Actions.filter(a => a.Status === 'Active');
|
|
170
|
+
if (actions && actions.length > 0) {
|
|
171
|
+
this._actions = actions;
|
|
173
172
|
}
|
|
174
173
|
else {
|
|
175
|
-
console.error(`Failed to load actions
|
|
174
|
+
console.error(`Failed to load actions`);
|
|
176
175
|
this._actions = [];
|
|
177
176
|
}
|
|
178
177
|
}
|
|
@@ -189,7 +188,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
189
188
|
console.log('AIEngine: No actions found to generate embeddings for');
|
|
190
189
|
return;
|
|
191
190
|
}
|
|
192
|
-
const actionsNeedingEmbeddings = actions.filter(
|
|
191
|
+
const actionsNeedingEmbeddings = actions.filter(action => !this._actionEmbeddingsCache.has(action.ID));
|
|
193
192
|
if (actionsNeedingEmbeddings.length === 0) {
|
|
194
193
|
console.log(`AIEngine: All ${actions.length} actions already have embeddings`);
|
|
195
194
|
return;
|
|
@@ -210,20 +209,86 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
210
209
|
console.error(`Failed to load action embeddings: ${error instanceof Error ? error.message : String(error)}`);
|
|
211
210
|
}
|
|
212
211
|
}
|
|
212
|
+
async loadNoteEmbeddings(contextUser) {
|
|
213
|
+
try {
|
|
214
|
+
const notes = this.AgentNotes.filter(n => n.Status === 'Active' && n.EmbeddingVector);
|
|
215
|
+
if (notes.length === 0) {
|
|
216
|
+
console.log('AIEngine: No active notes with embeddings found');
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
const entries = notes.map(note => ({
|
|
220
|
+
key: note.ID,
|
|
221
|
+
vector: JSON.parse(note.EmbeddingVector),
|
|
222
|
+
metadata: {
|
|
223
|
+
id: note.ID,
|
|
224
|
+
agentId: note.AgentID,
|
|
225
|
+
userId: note.UserID,
|
|
226
|
+
companyId: note.CompanyID,
|
|
227
|
+
type: note.Type,
|
|
228
|
+
noteText: note.Note,
|
|
229
|
+
noteEntity: note
|
|
230
|
+
}
|
|
231
|
+
}));
|
|
232
|
+
this._noteVectorService = new ai_vectors_memory_1.SimpleVectorService();
|
|
233
|
+
this._noteVectorService.LoadVectors(entries);
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
console.error(`Failed to load note embeddings: ${error instanceof Error ? error.message : String(error)}`);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
async loadExampleEmbeddings(contextUser) {
|
|
240
|
+
try {
|
|
241
|
+
const examples = this.AgentExamples.filter(e => e.Status === 'Active' && e.EmbeddingVector);
|
|
242
|
+
if (examples.length === 0) {
|
|
243
|
+
console.log('AIEngine: No examples with embeddings found');
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const entries = examples.map(example => ({
|
|
247
|
+
key: example.ID,
|
|
248
|
+
vector: JSON.parse(example.EmbeddingVector),
|
|
249
|
+
metadata: {
|
|
250
|
+
id: example.ID,
|
|
251
|
+
agentId: example.AgentID,
|
|
252
|
+
userId: example.UserID,
|
|
253
|
+
companyId: example.CompanyID,
|
|
254
|
+
type: example.Type,
|
|
255
|
+
exampleInput: example.ExampleInput,
|
|
256
|
+
exampleOutput: example.ExampleOutput,
|
|
257
|
+
successScore: example.SuccessScore,
|
|
258
|
+
exampleEntity: example
|
|
259
|
+
}
|
|
260
|
+
}));
|
|
261
|
+
this._exampleVectorService = new ai_vectors_memory_1.SimpleVectorService();
|
|
262
|
+
this._exampleVectorService.LoadVectors(entries);
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
console.error(`Failed to load example embeddings: ${error instanceof Error ? error.message : String(error)}`);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
async ProcessEntityEvent(event) {
|
|
269
|
+
await super.ProcessEntityEvent(event);
|
|
270
|
+
const entityName = event.baseEntity.EntityInfo.Name.toLowerCase().trim();
|
|
271
|
+
if (entityName === 'ai agent notes') {
|
|
272
|
+
await this.loadNoteEmbeddings(this.ContextUser);
|
|
273
|
+
}
|
|
274
|
+
else if (entityName === 'ai agent examples') {
|
|
275
|
+
await this.loadExampleEmbeddings(this.ContextUser);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
213
278
|
async HandleIndividualBaseEntityEvent(event) {
|
|
214
279
|
const baseResult = await super.HandleIndividualBaseEntityEvent(event);
|
|
215
280
|
if (event.type === 'save' && this._embeddingsGenerated) {
|
|
216
281
|
const entityName = event.baseEntity.EntityInfo.Name;
|
|
217
282
|
switch (entityName) {
|
|
218
283
|
case 'AI Agents':
|
|
219
|
-
const agent = this.Agents.find(
|
|
284
|
+
const agent = this.Agents.find(a => a.ID === event.baseEntity.PrimaryKey.ToString());
|
|
220
285
|
if (agent && !this._agentEmbeddingsCache.has(agent.ID)) {
|
|
221
286
|
console.log(`AIEngine: Generating embeddings for new agent: ${agent.Name}`);
|
|
222
287
|
await this.generateSingleAgentEmbedding(agent);
|
|
223
288
|
}
|
|
224
289
|
break;
|
|
225
290
|
case 'Actions':
|
|
226
|
-
const action = this._actions.find(
|
|
291
|
+
const action = this._actions.find(a => a.ID === event.baseEntity.PrimaryKey.ToString());
|
|
227
292
|
if (action && !this._actionEmbeddingsCache.has(action.ID)) {
|
|
228
293
|
console.log(`AIEngine: Generating embeddings for new action: ${action.Name}`);
|
|
229
294
|
await this.generateSingleActionEmbedding(action);
|
|
@@ -235,6 +300,10 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
235
300
|
}
|
|
236
301
|
async generateSingleAgentEmbedding(agent) {
|
|
237
302
|
try {
|
|
303
|
+
if (agent.IsRestricted) {
|
|
304
|
+
console.log(`AIEngine: Skipping embedding generation for restricted agent ${agent.Name}`);
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
238
307
|
const entries = await AgentEmbeddingService_1.AgentEmbeddingService.GenerateAgentEmbeddings([agent], (text) => this.EmbedTextLocal(text));
|
|
239
308
|
if (entries.length > 0) {
|
|
240
309
|
this._agentEmbeddingsCache.set(agent.ID, true);
|
|
@@ -277,6 +346,60 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
277
346
|
}
|
|
278
347
|
return ActionEmbeddingService_1.ActionEmbeddingService.FindSimilarActions(this._actionVectorService, taskDescription, (text) => this.EmbedTextLocal(text), topK, minSimilarity);
|
|
279
348
|
}
|
|
349
|
+
async FindSimilarAgentNotes(queryText, agentId, userId, companyId, topK = 5, minSimilarity = 0.5) {
|
|
350
|
+
if (!this._noteVectorService) {
|
|
351
|
+
return [];
|
|
352
|
+
}
|
|
353
|
+
if (!queryText || queryText.trim().length === 0) {
|
|
354
|
+
throw new Error('queryText cannot be empty');
|
|
355
|
+
}
|
|
356
|
+
const queryEmbedding = await this.EmbedTextLocal(queryText);
|
|
357
|
+
if (!queryEmbedding || !queryEmbedding.result || queryEmbedding.result.vector.length === 0) {
|
|
358
|
+
throw new Error('Failed to generate embedding for query text');
|
|
359
|
+
}
|
|
360
|
+
const needsFiltering = agentId || userId || companyId;
|
|
361
|
+
const filter = needsFiltering ? (metadata) => {
|
|
362
|
+
if (agentId && metadata.agentId !== agentId)
|
|
363
|
+
return false;
|
|
364
|
+
if (userId && metadata.userId && metadata.userId !== userId)
|
|
365
|
+
return false;
|
|
366
|
+
if (companyId && metadata.companyId && metadata.companyId !== companyId)
|
|
367
|
+
return false;
|
|
368
|
+
return true;
|
|
369
|
+
} : undefined;
|
|
370
|
+
const results = this._noteVectorService.FindNearest(queryEmbedding.result.vector, topK, minSimilarity, undefined, filter);
|
|
371
|
+
return results.map(r => ({
|
|
372
|
+
note: r.metadata.noteEntity,
|
|
373
|
+
similarity: r.score
|
|
374
|
+
}));
|
|
375
|
+
}
|
|
376
|
+
async FindSimilarAgentExamples(queryText, agentId, userId, companyId, topK = 3, minSimilarity = 0.5) {
|
|
377
|
+
if (!this._exampleVectorService) {
|
|
378
|
+
return [];
|
|
379
|
+
}
|
|
380
|
+
if (!queryText || queryText.trim().length === 0) {
|
|
381
|
+
throw new Error('queryText cannot be empty');
|
|
382
|
+
}
|
|
383
|
+
const queryEmbedding = await this.EmbedTextLocal(queryText);
|
|
384
|
+
if (!queryEmbedding || !queryEmbedding.result || queryEmbedding.result.vector.length === 0) {
|
|
385
|
+
throw new Error('Failed to generate embedding for query text');
|
|
386
|
+
}
|
|
387
|
+
const needsFiltering = agentId || userId || companyId;
|
|
388
|
+
const filter = needsFiltering ? (metadata) => {
|
|
389
|
+
if (agentId && metadata.agentId !== agentId)
|
|
390
|
+
return false;
|
|
391
|
+
if (userId && metadata.userId && metadata.userId !== userId)
|
|
392
|
+
return false;
|
|
393
|
+
if (companyId && metadata.companyId && metadata.companyId !== companyId)
|
|
394
|
+
return false;
|
|
395
|
+
return true;
|
|
396
|
+
} : undefined;
|
|
397
|
+
const results = this._exampleVectorService.FindNearest(queryEmbedding.result.vector, topK, minSimilarity, undefined, filter);
|
|
398
|
+
return results.map(r => ({
|
|
399
|
+
example: r.metadata.exampleEntity,
|
|
400
|
+
similarity: r.score
|
|
401
|
+
}));
|
|
402
|
+
}
|
|
280
403
|
async ParallelLLMCompletions(userPrompt, contextUser, systemPrompt, iterations = 3, temperatureIncrement = 0.1, baseTemperature = 0.7, model, apiKey, callbacks) {
|
|
281
404
|
try {
|
|
282
405
|
if (!userPrompt || userPrompt.length === 0) {
|
|
@@ -287,26 +410,23 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
287
410
|
}
|
|
288
411
|
const { modelInstance, modelToUse } = await this.PrepareLLMInstance(contextUser, model, apiKey);
|
|
289
412
|
const messages = this.PrepareChatMessages(userPrompt, systemPrompt);
|
|
290
|
-
const paramsArray = Array(iterations)
|
|
291
|
-
.fill(0)
|
|
292
|
-
.map((_, i) => {
|
|
413
|
+
const paramsArray = Array(iterations).fill(0).map((_, i) => {
|
|
293
414
|
const params = new ai_1.ChatParams();
|
|
294
415
|
params.messages = [...messages];
|
|
295
416
|
params.model = modelToUse.APIName;
|
|
296
|
-
params.temperature = baseTemperature + i * temperatureIncrement;
|
|
417
|
+
params.temperature = baseTemperature + (i * temperatureIncrement);
|
|
297
418
|
return params;
|
|
298
419
|
});
|
|
299
420
|
return await modelInstance.ChatCompletions(paramsArray, callbacks);
|
|
300
421
|
}
|
|
301
422
|
catch (e) {
|
|
302
|
-
(0,
|
|
423
|
+
(0, core_1.LogError)(e);
|
|
303
424
|
throw e;
|
|
304
425
|
}
|
|
305
426
|
}
|
|
306
427
|
get LocalEmbeddingModels() {
|
|
307
|
-
const embeddingModels = AIEngine.Instance.Models.filter(
|
|
308
|
-
m.Vendor &&
|
|
309
|
-
m.Vendor.trim().toLowerCase() === AIEngine.Instance.LocalEmbeddingModelVendorName.toLowerCase());
|
|
428
|
+
const embeddingModels = AIEngine.Instance.Models.filter(m => m.AIModelType?.trim().toLowerCase() === AIEngine.Instance.EmbeddingModelTypeName.toLowerCase() &&
|
|
429
|
+
m.Vendor && m.Vendor.trim().toLowerCase() === AIEngine.Instance.LocalEmbeddingModelVendorName.toLowerCase());
|
|
310
430
|
const sortedModels = embeddingModels.sort((a, b) => (b.PowerRank || 0) - (a.PowerRank || 0));
|
|
311
431
|
return sortedModels;
|
|
312
432
|
}
|
|
@@ -326,9 +446,9 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
326
446
|
async EmbedText(model, text, apiKey) {
|
|
327
447
|
const params = {
|
|
328
448
|
text: text,
|
|
329
|
-
model: model.APIName
|
|
449
|
+
model: model.APIName
|
|
330
450
|
};
|
|
331
|
-
const embedding =
|
|
451
|
+
const embedding = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseEmbeddings, model.DriverClass, apiKey);
|
|
332
452
|
if (!embedding) {
|
|
333
453
|
console.warn(`Failed to create embedding instance for model ${model.Name}. Skipping embedding generation.`);
|
|
334
454
|
return null;
|
|
@@ -343,25 +463,23 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
343
463
|
async ExecuteEntityAIAction(params) {
|
|
344
464
|
const startTime = new Date();
|
|
345
465
|
try {
|
|
346
|
-
const entityAction = AIEngine.Instance.EntityAIActions.find(
|
|
466
|
+
const entityAction = AIEngine.Instance.EntityAIActions.find(ea => ea.ID === params.entityAIActionId);
|
|
347
467
|
if (!entityAction)
|
|
348
468
|
throw new Error(`Entity AI Action ${params.entityAIActionId} not found.`);
|
|
349
|
-
const action = AIEngine.Instance.Actions.find(
|
|
469
|
+
const action = AIEngine.Instance.Actions.find(a => a.ID === entityAction.AIActionID);
|
|
350
470
|
if (!action)
|
|
351
471
|
throw new Error(`Action ${entityAction.AIActionID} not found, from the EntityAIAction ${params.entityAIActionId}.`);
|
|
352
|
-
if (entityAction.SkipIfOutputFieldNotEmpty &&
|
|
472
|
+
if (entityAction.SkipIfOutputFieldNotEmpty &&
|
|
473
|
+
entityAction.OutputType.trim().toLowerCase() === 'field') {
|
|
353
474
|
const val = params.entityRecord.Get(entityAction.OutputField);
|
|
354
475
|
if (val && val.length > 0)
|
|
355
476
|
return null;
|
|
356
477
|
}
|
|
357
|
-
const entityPrompt = params.systemPrompt
|
|
358
|
-
?
|
|
359
|
-
: entityAction.Prompt && entityAction.Prompt.length > 0
|
|
360
|
-
? entityAction.Prompt
|
|
361
|
-
: action.DefaultPrompt;
|
|
478
|
+
const entityPrompt = params.systemPrompt ? params.systemPrompt :
|
|
479
|
+
(entityAction.Prompt && entityAction.Prompt.length > 0 ? entityAction.Prompt : action.DefaultPrompt);
|
|
362
480
|
const userMessage = params.userPrompt ? params.userPrompt : this.markupUserMessage(params.entityRecord, entityAction.UserMessage);
|
|
363
481
|
const modelId = entityAction.AIModelID || action.DefaultModelID;
|
|
364
|
-
const model = AIEngine.Instance.Models.find(
|
|
482
|
+
const model = AIEngine.Instance.Models.find(m => m.ID === modelId);
|
|
365
483
|
const entityParams = {
|
|
366
484
|
name: entityAction.Name,
|
|
367
485
|
actionId: entityAction.AIActionID,
|
|
@@ -369,33 +487,33 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
369
487
|
systemPrompt: entityPrompt,
|
|
370
488
|
userMessage: userMessage,
|
|
371
489
|
apiKey: (0, ai_1.GetAIAPIKey)(model.DriverClass),
|
|
372
|
-
result: null
|
|
490
|
+
result: null
|
|
373
491
|
};
|
|
374
|
-
if (!
|
|
492
|
+
if (!await params.entityRecord.BeforeEntityAIAction(entityParams))
|
|
375
493
|
return null;
|
|
376
494
|
const results = await this.ExecuteAIAction({
|
|
377
495
|
actionId: entityParams.actionId,
|
|
378
496
|
modelId: entityParams.modelId,
|
|
379
497
|
systemPrompt: entityParams.systemPrompt,
|
|
380
498
|
userPrompt: entityParams.userMessage,
|
|
381
|
-
modelName: model.Name
|
|
499
|
+
modelName: model.Name
|
|
382
500
|
});
|
|
383
501
|
if (results) {
|
|
384
502
|
const sOutput = this.GetStringOutputFromActionResults(action, results);
|
|
385
503
|
entityParams.result = results;
|
|
386
|
-
if (!
|
|
504
|
+
if (!await params.entityRecord.AfterEntityAIAction(entityParams))
|
|
387
505
|
return results;
|
|
388
506
|
if (entityAction.OutputType.trim().toLowerCase() === 'field') {
|
|
389
507
|
params.entityRecord.Set(entityAction.OutputField, sOutput);
|
|
390
508
|
if (entityAction.TriggerEvent.trim().toLowerCase() === 'after save') {
|
|
391
509
|
await params.entityRecord.Save({
|
|
392
510
|
SkipEntityAIActions: true,
|
|
393
|
-
IgnoreDirtyState: false
|
|
511
|
+
IgnoreDirtyState: false
|
|
394
512
|
});
|
|
395
513
|
}
|
|
396
514
|
}
|
|
397
515
|
else if (entityAction.OutputType.trim().toLowerCase() === 'entity') {
|
|
398
|
-
const md = new
|
|
516
|
+
const md = new core_1.Metadata();
|
|
399
517
|
const newRecord = await md.GetEntityObject(entityAction.OutputEntity);
|
|
400
518
|
newRecord.NewRecord();
|
|
401
519
|
newRecord.Set('EntityID', params.entityRecord.EntityInfo.ID);
|
|
@@ -414,7 +532,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
414
532
|
endTime: new Date(),
|
|
415
533
|
timeElapsed: new Date().getTime() - startTime.getTime(),
|
|
416
534
|
errorMessage: err.message,
|
|
417
|
-
exception: err
|
|
535
|
+
exception: err
|
|
418
536
|
};
|
|
419
537
|
}
|
|
420
538
|
}
|
|
@@ -422,7 +540,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
422
540
|
let temp = userMessage;
|
|
423
541
|
const markupTokens = temp.match(/{[a-zA-Z0-9]+}/g);
|
|
424
542
|
if (markupTokens && markupTokens.length > 0) {
|
|
425
|
-
markupTokens.forEach(
|
|
543
|
+
markupTokens.forEach(token => {
|
|
426
544
|
const fieldName = token.replace('{', '').replace('}', '');
|
|
427
545
|
const fieldValue = entityRecord.Get(fieldName);
|
|
428
546
|
temp = temp.replace(token, fieldValue ? fieldValue : '');
|
|
@@ -431,12 +549,12 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
431
549
|
return temp;
|
|
432
550
|
}
|
|
433
551
|
async ExecuteAIAction(params) {
|
|
434
|
-
const action = AIEngine.Instance.Actions.find(
|
|
552
|
+
const action = AIEngine.Instance.Actions.find(a => a.ID === params.actionId);
|
|
435
553
|
if (!action)
|
|
436
554
|
throw new Error(`Action ${params.actionId} not found.`);
|
|
437
555
|
if (action.IsActive === false)
|
|
438
556
|
throw new Error(`Action ${params.actionId} is not active.`);
|
|
439
|
-
const model = AIEngine.Instance.Models.find(
|
|
557
|
+
const model = AIEngine.Instance.Models.find(m => m.ID === params.modelId);
|
|
440
558
|
if (!model)
|
|
441
559
|
throw new Error(`Model ${params.modelId} not found.`);
|
|
442
560
|
if (model.IsActive === false)
|
|
@@ -448,11 +566,11 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
448
566
|
messages: [
|
|
449
567
|
{
|
|
450
568
|
role: 'system',
|
|
451
|
-
content: params.systemPrompt
|
|
569
|
+
content: params.systemPrompt
|
|
452
570
|
},
|
|
453
571
|
{
|
|
454
572
|
role: 'user',
|
|
455
|
-
content: params.userPrompt
|
|
573
|
+
content: params.userPrompt
|
|
456
574
|
},
|
|
457
575
|
],
|
|
458
576
|
};
|
|
@@ -477,7 +595,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
477
595
|
switch (action.Name.trim().toLowerCase()) {
|
|
478
596
|
case 'classify':
|
|
479
597
|
const classifyResult = result;
|
|
480
|
-
return classifyResult.tags.map(
|
|
598
|
+
return classifyResult.tags.map(t => t.tag).join(', ');
|
|
481
599
|
case 'summarize':
|
|
482
600
|
const summarizeResult = result;
|
|
483
601
|
return summarizeResult.summaryText;
|
|
@@ -497,7 +615,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
|
|
|
497
615
|
if (!driverModule)
|
|
498
616
|
throw new Error(`Error loading driver module '${driverModuleName}'`);
|
|
499
617
|
}
|
|
500
|
-
return
|
|
618
|
+
return global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseModel, driverClassName, apiKey);
|
|
501
619
|
}
|
|
502
620
|
catch (e) {
|
|
503
621
|
throw new Error(`Error loading driver '${driverModuleName}' / '${driverClassName}' : ${e.message}`);
|
package/dist/AIEngine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIEngine.js","sourceRoot":"","sources":["../src/AIEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AIEngine.js","sourceRoot":"","sources":["../src/AIEngine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,4 +3,6 @@ export * from './services/AgentEmbeddingService';
|
|
|
3
3
|
export * from './services/ActionEmbeddingService';
|
|
4
4
|
export * from './types/AgentMatchResult';
|
|
5
5
|
export * from './types/ActionMatchResult';
|
|
6
|
+
export * from './types/NoteMatchResult';
|
|
7
|
+
export * from './types/ExampleMatchResult';
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,4 +19,6 @@ __exportStar(require("./services/AgentEmbeddingService"), exports);
|
|
|
19
19
|
__exportStar(require("./services/ActionEmbeddingService"), exports);
|
|
20
20
|
__exportStar(require("./types/AgentMatchResult"), exports);
|
|
21
21
|
__exportStar(require("./types/ActionMatchResult"), exports);
|
|
22
|
+
__exportStar(require("./types/NoteMatchResult"), exports);
|
|
23
|
+
__exportStar(require("./types/ExampleMatchResult"), exports);
|
|
22
24
|
//# 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,6CAA2B;AAC3B,mEAAiD;AACjD,oEAAkD;AAClD,2DAAyC;AACzC,4DAA0C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,mEAAiD;AACjD,oEAAkD;AAClD,2DAAyC;AACzC,4DAA0C;AAC1C,0DAAwC;AACxC,6DAA2C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AIAgentExampleEntity } from '@memberjunction/core-entities';
|
|
2
|
+
export interface ExampleEmbeddingMetadata {
|
|
3
|
+
id: string;
|
|
4
|
+
agentId: string;
|
|
5
|
+
userId: string | null;
|
|
6
|
+
companyId: string | null;
|
|
7
|
+
type: string;
|
|
8
|
+
exampleInput: string;
|
|
9
|
+
exampleOutput: string;
|
|
10
|
+
successScore: number | null;
|
|
11
|
+
exampleEntity: AIAgentExampleEntity;
|
|
12
|
+
}
|
|
13
|
+
export interface ExampleMatchResult {
|
|
14
|
+
example: AIAgentExampleEntity;
|
|
15
|
+
similarity: number;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ExampleMatchResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExampleMatchResult.d.ts","sourceRoot":"","sources":["../../src/types/ExampleMatchResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAMrE,MAAM,WAAW,wBAAwB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,oBAAoB,CAAC;CACvC;AAMD,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExampleMatchResult.js","sourceRoot":"","sources":["../../src/types/ExampleMatchResult.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AIAgentNoteEntity } from '@memberjunction/core-entities';
|
|
2
|
+
export interface NoteEmbeddingMetadata {
|
|
3
|
+
id: string;
|
|
4
|
+
agentId: string | null;
|
|
5
|
+
userId: string | null;
|
|
6
|
+
companyId: string | null;
|
|
7
|
+
type: string;
|
|
8
|
+
noteText: string;
|
|
9
|
+
noteEntity: AIAgentNoteEntity;
|
|
10
|
+
}
|
|
11
|
+
export interface NoteMatchResult {
|
|
12
|
+
note: AIAgentNoteEntity;
|
|
13
|
+
similarity: number;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=NoteMatchResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoteMatchResult.d.ts","sourceRoot":"","sources":["../../src/types/NoteMatchResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAMlE,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC;CACjC;AAMD,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoteMatchResult.js","sourceRoot":"","sources":["../../src/types/NoteMatchResult.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/aiengine",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.113.1",
|
|
4
4
|
"description": "MemberJunction: AI Engine Package - handles automatic execution of Entity AI Actions using AI Models",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,13 +15,14 @@
|
|
|
15
15
|
"author": "MemberJunction.com",
|
|
16
16
|
"license": "ISC",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@memberjunction/
|
|
19
|
-
"@memberjunction/
|
|
20
|
-
"@memberjunction/
|
|
21
|
-
"@memberjunction/
|
|
22
|
-
"@memberjunction/ai
|
|
23
|
-
"@memberjunction/ai-
|
|
24
|
-
"@memberjunction/ai-
|
|
18
|
+
"@memberjunction/core": "2.113.1",
|
|
19
|
+
"@memberjunction/global": "2.113.1",
|
|
20
|
+
"@memberjunction/core-entities": "2.113.1",
|
|
21
|
+
"@memberjunction/actions-base": "2.113.1",
|
|
22
|
+
"@memberjunction/ai": "2.113.1",
|
|
23
|
+
"@memberjunction/ai-core-plus": "2.113.1",
|
|
24
|
+
"@memberjunction/ai-engine-base": "2.113.1",
|
|
25
|
+
"@memberjunction/ai-vectors-memory": "2.113.1",
|
|
25
26
|
"dotenv": "^16.4.1",
|
|
26
27
|
"rxjs": "^7.8.1"
|
|
27
28
|
},
|