@memberjunction/ai 5.14.0 → 5.16.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.
@@ -64,6 +64,13 @@ export declare abstract class BaseLLM extends BaseModel {
64
64
  * @returns true if streaming is supported, false otherwise
65
65
  */
66
66
  get SupportsStreaming(): boolean;
67
+ /**
68
+ * Whether this LLM provider supports assistant prefill (pre-seeding the start of the model's response).
69
+ * Providers that support prefill should override this to return true.
70
+ * This is used as a code-level default when database metadata (AIModelType/AIModel/AIModelVendor.SupportsPrefill)
71
+ * is null. Database values of true/false override this getter.
72
+ */
73
+ get SupportsPrefill(): boolean;
67
74
  /**
68
75
  * Template method for handling streaming chat completion
69
76
  * This implements the common pattern across providers while delegating
@@ -1 +1 @@
1
- {"version":3,"file":"baseLLM.d.ts","sourceRoot":"","sources":["../../src/generic/baseLLM.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseLLM.d.ts","sourceRoot":"","sources":["../../src/generic/baseLLM.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,15 @@ export class BaseLLM extends BaseModel {
129
129
  // Default to false, providers that support streaming should override
130
130
  return false;
131
131
  }
132
+ /**
133
+ * Whether this LLM provider supports assistant prefill (pre-seeding the start of the model's response).
134
+ * Providers that support prefill should override this to return true.
135
+ * This is used as a code-level default when database metadata (AIModelType/AIModel/AIModelVendor.SupportsPrefill)
136
+ * is null. Database values of true/false override this getter.
137
+ */
138
+ get SupportsPrefill() {
139
+ return false;
140
+ }
132
141
  /**
133
142
  * Template method for handling streaming chat completion
134
143
  * This implements the common pattern across providers while delegating
@@ -1 +1 @@
1
- {"version":3,"file":"baseLLM.js","sourceRoot":"","sources":["../../src/generic/baseLLM.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseLLM.js","sourceRoot":"","sources":["../../src/generic/baseLLM.ts"],"names":[],"mappings":"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"}
@@ -138,6 +138,27 @@ export declare class ChatParams extends BaseParams {
138
138
  * Array of messages, allows full control over the order and content of the conversation.
139
139
  */
140
140
  messages: ChatMessage[];
141
+ /**
142
+ * Optional text to prefill the assistant's response. When set, the model will behave as if
143
+ * it has already started generating this text and will continue from where the prefill ends.
144
+ *
145
+ * This is useful for:
146
+ * - Forcing structured output formats (e.g., prefill with "```json" to get raw JSON)
147
+ * - Skipping preamble (e.g., prefill with "{" to get a JSON object directly)
148
+ * - Guiding the model's response style or format
149
+ *
150
+ * Best used in combination with `stopSequences` — for example, prefill with "```json\n"
151
+ * and set stopSequences to ["```"] to extract clean JSON without any markdown fencing.
152
+ *
153
+ * **Provider support:** Anthropic, Mistral, Groq, Bedrock (Claude models), Ollama, and
154
+ * OpenRouter natively support prefill. For providers that don't support it, this parameter
155
+ * is silently ignored.
156
+ *
157
+ * **Note:** The prefill text is NOT included in the response — the model's output begins
158
+ * immediately after the prefill. If you need the prefill text in your final result,
159
+ * prepend it yourself after receiving the response.
160
+ */
161
+ assistantPrefill?: string;
141
162
  /**
142
163
  * Whether to use streaming for this request.
143
164
  * If true and the provider supports streaming, responses will be streamed.
@@ -1 +1 @@
1
- {"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../src/generic/chat.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../src/generic/chat.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.types.js","sourceRoot":"","sources":["../../src/generic/chat.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.types.js","sourceRoot":"","sources":["../../src/generic/chat.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/ai",
3
3
  "type": "module",
4
- "version": "5.14.0",
4
+ "version": "5.16.0",
5
5
  "description": "MemberJunction: AI - core components for abstracting LLMs and other AI model types that are usable anywhere without ANY other MJ dependencies past @memberjunction/global which itself has zero additional dependencies.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "author": "MemberJunction.com",
18
18
  "license": "ISC",
19
19
  "dependencies": {
20
- "@memberjunction/global": "5.14.0",
20
+ "@memberjunction/global": "5.16.0",
21
21
  "dotenv": "^17.2.4",
22
22
  "rxjs": "^7.8.2"
23
23
  },
package/readme.md CHANGED
@@ -1,233 +1,191 @@
1
- # @memberjunction/ai
2
-
3
- Core abstractions and base classes for the MemberJunction AI Framework. This package defines provider-agnostic interfaces for Large Language Models (LLMs), embeddings, image generation, audio, video, reranking, and more. It has **zero MemberJunction dependencies** beyond `@memberjunction/global`, making it suitable for standalone use in any TypeScript/JavaScript project.
4
-
5
- ## Architecture
1
+ [Back to AI Framework Overview](../README.md)
6
2
 
7
- ```mermaid
8
- graph TD
9
- subgraph "@memberjunction/ai"
10
- BM["BaseModel"]
11
- style BM fill:#2d6a9f,stroke:#1a4971,color:#fff
12
-
13
- BLLM["BaseLLM"]
14
- style BLLM fill:#2d6a9f,stroke:#1a4971,color:#fff
3
+ # @memberjunction/ai
15
4
 
16
- BE["BaseEmbeddings"]
17
- style BE fill:#2d6a9f,stroke:#1a4971,color:#fff
5
+ Core abstractions and base classes for the MemberJunction AI Framework. This package defines provider-agnostic interfaces for Large Language Models, embeddings, image generation, audio, video, reranking, and more.
18
6
 
19
- BIG["BaseImageGenerator"]
20
- style BIG fill:#2d6a9f,stroke:#1a4971,color:#fff
7
+ **Zero MemberJunction dependencies** beyond `@memberjunction/global` (which itself has no transitive dependencies). This package works in any TypeScript or JavaScript project -- no database, no metadata layer, no MJ runtime required.
21
8
 
22
- BA["BaseAudio"]
23
- style BA fill:#2d6a9f,stroke:#1a4971,color:#fff
9
+ ## Installation
24
10
 
25
- BV["BaseVideo"]
26
- style BV fill:#2d6a9f,stroke:#1a4971,color:#fff
11
+ ```bash
12
+ npm install @memberjunction/ai
13
+ ```
27
14
 
28
- BR["BaseReranker"]
29
- style BR fill:#2d6a9f,stroke:#1a4971,color:#fff
15
+ ## Base Classes
30
16
 
31
- CT["Chat Types"]
32
- style CT fill:#7c5295,stroke:#563a6b,color:#fff
17
+ Every AI capability is represented by an abstract base class. Provider packages (OpenAI, Anthropic, Gemini, etc.) extend these to implement the actual API calls.
33
18
 
34
- ET["Embed Types"]
35
- style ET fill:#7c5295,stroke:#563a6b,color:#fff
19
+ | Class | Purpose | Key Methods |
20
+ |-------|---------|-------------|
21
+ | `BaseLLM` | Chat completions (text generation) | `ChatCompletion()`, `ChatCompletions()` (parallel batch) |
22
+ | `BaseEmbeddings` | Text-to-vector embeddings | `EmbedText()`, `EmbedTexts()` |
23
+ | `BaseImageGenerator` | Image generation, editing, variations | `GenerateImage()`, `EditImage()`, `CreateVariation()` |
24
+ | `BaseAudio` | Text-to-speech and speech-to-text | `TextToSpeech()`, `SpeechToText()` |
25
+ | `BaseVideo` | Video generation from text/images | `GenerateVideo()` |
26
+ | `BaseReranker` | Document reranking for retrieval | `Rerank()` |
36
27
 
37
- ERR["ErrorAnalyzer"]
38
- style ERR fill:#b8762f,stroke:#8a5722,color:#fff
28
+ All inherit from `BaseModel`, which manages API key storage and provides the `@RegisterClass` integration point.
39
29
 
40
- AK["AIAPIKeys"]
41
- style AK fill:#2d8659,stroke:#1a5c3a,color:#fff
30
+ ## Type Definitions
42
31
 
43
- BM --> BLLM
44
- BM --> BE
45
- BM --> BIG
46
- BM --> BA
47
- BM --> BV
48
- BM --> BR
49
- end
32
+ ### Chat Types
50
33
 
51
- P1["OpenAI Provider"]
52
- style P1 fill:#2d8659,stroke:#1a5c3a,color:#fff
53
- P2["Anthropic Provider"]
54
- style P2 fill:#2d8659,stroke:#1a5c3a,color:#fff
55
- P3["Other Providers"]
56
- style P3 fill:#2d8659,stroke:#1a5c3a,color:#fff
34
+ | Type | Description |
35
+ |------|-------------|
36
+ | `ChatParams` | Full parameter set for chat requests: messages, model, temperature, topP, topK, streaming, effort level, response format, and more |
37
+ | `ChatResult` | Completion result with choices, token usage, cost tracking, and timing |
38
+ | `ChatMessage` | Single message with role, content (text or multimodal blocks), and optional metadata |
39
+ | `ChatMessageContentBlock` | Multimodal content: text, image (base64/URL), video, audio, or file |
40
+ | `StreamingChatCallbacks` | Callbacks for real-time streaming: `OnContent`, `OnComplete`, `OnError` |
41
+ | `ParallelChatCompletionsCallbacks` | Callbacks for batch parallel completions |
42
+ | `ChatMessageRole` | Enum: `system`, `user`, `assistant` |
57
43
 
58
- BLLM --> P1
59
- BLLM --> P2
60
- BLLM --> P3
61
- ```
44
+ ### Embedding Types
62
45
 
63
- ## Installation
46
+ | Type | Description |
47
+ |------|-------------|
48
+ | `EmbedTextParams` / `EmbedTextResult` | Single text embedding request and response |
49
+ | `EmbedTextsParams` / `EmbedTextsResult` | Batch text embedding request and response |
64
50
 
65
- ```bash
66
- npm install @memberjunction/ai
67
- ```
51
+ ### Other Types
68
52
 
69
- ## Key Exports
70
-
71
- ### Base Classes
72
-
73
- | Class | Purpose |
74
- |---|---|
75
- | `BaseModel` | Root base class for all AI model types; manages API key storage |
76
- | `BaseLLM` | Abstract base for chat completion providers with streaming, parallel execution, and thinking model support |
77
- | `BaseEmbeddings` | Abstract base for text embedding providers |
78
- | `BaseImageGenerator` | Abstract base for image generation, editing, and variation providers |
79
- | `BaseAudio` | Abstract base for text-to-speech and speech-to-text providers |
80
- | `BaseVideo` | Abstract base for video generation providers |
81
- | `BaseReranker` | Abstract base for document reranking providers |
82
-
83
- ### Type Definitions
84
-
85
- | Type / Class | Purpose |
86
- |---|---|
87
- | `ChatParams` | Parameters for chat completion requests (messages, streaming, sampling controls) |
88
- | `ChatResult` | Result of a chat completion including choices, usage, and cache info |
89
- | `ChatMessage` | Individual message with role, content (text or multimodal blocks), and optional metadata |
90
- | `ChatMessageContentBlock` | Multimodal content block (text, image, video, audio, file) |
91
- | `StreamingChatCallbacks` | Callbacks for real-time streaming responses |
92
- | `ParallelChatCompletionsCallbacks` | Callbacks for batch parallel completions |
93
- | `EmbedTextParams` / `EmbedTextResult` | Parameters and results for single text embedding |
94
- | `EmbedTextsParams` / `EmbedTextsResult` | Parameters and results for batch text embeddings |
53
+ | Type | Description |
54
+ |------|-------------|
95
55
  | `ImageGenerationParams` / `ImageGenerationResult` | Image generation parameters and results |
96
- | `SummarizeParams` / `SummarizeResult` | Text summarization parameters and results |
97
- | `ClassifyParams` / `ClassifyResult` | Text classification parameters and results |
98
- | `RerankParams` / `RerankResult` | Document reranking parameters and results |
56
+ | `SummarizeParams` / `SummarizeResult` | Text summarization |
57
+ | `ClassifyParams` / `ClassifyResult` | Text classification |
58
+ | `RerankParams` / `RerankResult` | Document reranking |
59
+ | `ModelUsage` | Token counts and cost tracking (prompt tokens, completion tokens, total cost, currency) |
60
+ | `BaseResult` | Common result base with success flag, timing, and error info |
99
61
 
100
- ### Utilities
62
+ ## Utilities
101
63
 
102
- | Export | Purpose |
103
- |---|---|
104
- | `BaseResult` | Common result base with success flag, timing, and error info |
105
- | `ModelUsage` | Token usage and cost tracking (prompt tokens, completion tokens, cost, currency) |
106
- | `AIAPIKeys` | API key management via environment variables (`AI_VENDOR_API_KEY__<DRIVER>`) |
107
- | `GetAIAPIKey()` | Helper to resolve API keys with optional runtime overrides |
108
- | `ErrorAnalyzer` | Standardized error analysis across all providers with severity and failover hints |
109
- | `AIErrorInfo` / `AIErrorType` | Structured error types (rate limit, authentication, context length, etc.) |
64
+ | Export | Description |
65
+ |--------|-------------|
66
+ | `AIAPIKeys` / `GetAIAPIKey()` | API key resolution from environment variables (`AI_VENDOR_API_KEY__<DRIVER>`) with optional runtime overrides |
67
+ | `ErrorAnalyzer` | Classifies provider errors into structured types with severity, retry hints, and failover recommendations |
68
+ | `AIErrorInfo` / `AIErrorType` | Structured error types: rate limit, authentication, context length, content filter, etc. |
110
69
  | `serializeMessageContent()` / `deserializeMessageContent()` | Content block serialization for database storage |
111
70
  | `parseBase64DataUrl()` / `createBase64DataUrl()` | Base64 data URL utilities |
112
71
 
113
- ## Usage
72
+ ## Usage Examples
114
73
 
115
- ### Basic Chat Completion
74
+ ### Chat Completion
116
75
 
117
76
  ```typescript
118
- import { ChatParams, ChatMessageRole } from '@memberjunction/ai';
119
- import { OpenAILLM } from '@memberjunction/ai-openai';
120
-
121
- const llm = new OpenAILLM('your-api-key');
122
-
123
- const params = new ChatParams();
124
- params.model = 'gpt-4';
125
- params.messages = [
126
- { role: ChatMessageRole.user, content: 'What is the capital of France?' }
127
- ];
77
+ import { ChatParams, ChatMessageRole } from "@memberjunction/ai";
78
+ import { OpenAILLM } from "@memberjunction/ai-openai";
79
+
80
+ const llm = new OpenAILLM("your-api-key");
81
+
82
+ const result = await llm.ChatCompletion({
83
+ model: "gpt-4.1",
84
+ messages: [
85
+ { role: ChatMessageRole.system, content: "You are a helpful assistant." },
86
+ { role: ChatMessageRole.user, content: "What is the capital of France?" },
87
+ ],
88
+ temperature: 0.7,
89
+ maxOutputTokens: 500,
90
+ });
128
91
 
129
- const result = await llm.ChatCompletion(params);
130
92
  console.log(result.data.choices[0].message.content);
131
93
  ```
132
94
 
133
- ### Streaming Chat Completion
95
+ ### Streaming
134
96
 
135
97
  ```typescript
136
- const params = new ChatParams();
137
- params.model = 'gpt-4';
138
- params.streaming = true;
139
- params.messages = [
140
- { role: ChatMessageRole.user, content: 'Explain quantum computing' }
141
- ];
142
- params.streamingCallbacks = {
143
- OnContent: (chunk, isComplete) => process.stdout.write(chunk),
144
- OnComplete: (result) => console.log('\nDone!'),
145
- OnError: (error) => console.error('Stream error:', error)
146
- };
147
-
148
- await llm.ChatCompletion(params);
98
+ await llm.ChatCompletion({
99
+ model: "gpt-4.1",
100
+ messages: [{ role: ChatMessageRole.user, content: "Explain quantum computing." }],
101
+ streaming: true,
102
+ streamingCallbacks: {
103
+ OnContent: (chunk, isComplete) => process.stdout.write(chunk),
104
+ OnComplete: (result) => console.log("\nDone!"),
105
+ OnError: (error) => console.error("Stream error:", error),
106
+ },
107
+ });
149
108
  ```
150
109
 
151
- ### Parallel Chat Completions
110
+ ### Parallel Completions
152
111
 
153
112
  ```typescript
154
- const paramsArray = [
155
- { ...baseParams, temperature: 0.3 },
156
- { ...baseParams, temperature: 0.7 },
157
- { ...baseParams, temperature: 1.0 }
113
+ const paramSets = [
114
+ { ...base, temperature: 0.3 },
115
+ { ...base, temperature: 0.7 },
116
+ { ...base, temperature: 1.0 },
158
117
  ];
159
118
 
160
- const results = await llm.ChatCompletions(paramsArray, {
119
+ const results = await llm.ChatCompletions(paramSets, {
161
120
  OnCompletion: (result, index) => console.log(`Completion ${index} done`),
162
- OnAllCompleted: (results) => console.log(`All ${results.length} done`)
121
+ OnAllCompleted: (results) => console.log(`All ${results.length} complete`),
163
122
  });
164
123
  ```
165
124
 
166
125
  ### Multimodal Content
167
126
 
168
127
  ```typescript
169
- const params = new ChatParams();
170
- params.model = 'gpt-4o';
171
- params.messages = [
172
- {
128
+ const result = await llm.ChatCompletion({
129
+ model: "gpt-4.1",
130
+ messages: [{
173
131
  role: ChatMessageRole.user,
174
132
  content: [
175
- { type: 'text', content: 'What is in this image?' },
176
- { type: 'image_url', content: 'data:image/png;base64,...' }
177
- ]
178
- }
179
- ];
133
+ { type: "text", content: "What is in this image?" },
134
+ { type: "image_url", content: "data:image/png;base64,..." },
135
+ ],
136
+ }],
137
+ });
180
138
  ```
181
139
 
182
140
  ### Text Embeddings
183
141
 
184
142
  ```typescript
185
- import { EmbedTextParams } from '@memberjunction/ai';
186
- import { OpenAIEmbeddings } from '@memberjunction/ai-openai';
143
+ import { OpenAIEmbedding } from "@memberjunction/ai-openai";
187
144
 
188
- const embedder = new OpenAIEmbeddings('your-api-key');
145
+ const embedder = new OpenAIEmbedding("your-api-key");
189
146
  const result = await embedder.EmbedText({
190
- model: 'text-embedding-ada-002',
191
- text: 'Sample text to embed'
147
+ model: "text-embedding-3-small",
148
+ text: "Sample text to embed",
192
149
  });
193
- console.log(result.embedding); // number[]
150
+ console.log(`Dimensions: ${result.vector.length}`);
194
151
  ```
195
152
 
196
- ### API Key Management
153
+ ### API Key Resolution
197
154
 
198
155
  ```typescript
199
- import { GetAIAPIKey } from '@memberjunction/ai';
156
+ import { GetAIAPIKey } from "@memberjunction/ai";
200
157
 
201
- // Reads from environment: AI_VENDOR_API_KEY__OPENAILLM
202
- const key = GetAIAPIKey('OpenAILLM');
158
+ // Reads AI_VENDOR_API_KEY__OPENAILLM from environment
159
+ const key = GetAIAPIKey("OpenAILLM");
203
160
 
204
161
  // With runtime override
205
- const key2 = GetAIAPIKey('AnthropicLLM', [
206
- { driverClass: 'AnthropicLLM', apiKey: 'sk-ant-...' }
162
+ const key2 = GetAIAPIKey("AnthropicLLM", [
163
+ { driverClass: "AnthropicLLM", apiKey: "sk-ant-..." },
207
164
  ]);
208
165
  ```
209
166
 
210
- ## Provider Implementation
167
+ ## Implementing a New Provider
211
168
 
212
- To create a new AI provider, extend the appropriate base class:
169
+ Extend the base class for the capability you want to support:
213
170
 
214
171
  ```typescript
215
- import { BaseLLM, ChatParams, ChatResult } from '@memberjunction/ai';
172
+ import { BaseLLM, ChatParams, ChatResult, ClassifyParams, ClassifyResult, SummarizeParams, SummarizeResult } from "@memberjunction/ai";
173
+ import { RegisterClass } from "@memberjunction/global";
216
174
 
175
+ @RegisterClass(BaseLLM, "MyProviderLLM")
217
176
  export class MyProviderLLM extends BaseLLM {
177
+ // Required: implement non-streaming chat
218
178
  protected async nonStreamingChatCompletion(params: ChatParams): Promise<ChatResult> {
219
- // Implement provider-specific chat completion
179
+ // Your API call here
220
180
  }
221
181
 
222
- public async ClassifyText(params: ClassifyParams): Promise<ClassifyResult> {
223
- // Implement or throw if not supported
224
- }
182
+ // Optional: implement text classification
183
+ public async ClassifyText(params: ClassifyParams): Promise<ClassifyResult> { /* ... */ }
225
184
 
226
- public async SummarizeText(params: SummarizeParams): Promise<SummarizeResult> {
227
- // Implement or throw if not supported
228
- }
185
+ // Optional: implement summarization
186
+ public async SummarizeText(params: SummarizeParams): Promise<SummarizeResult> { /* ... */ }
229
187
 
230
- // For streaming support, override these:
188
+ // Optional: enable streaming by overriding these
231
189
  public get SupportsStreaming(): boolean { return true; }
232
190
  protected async createStreamingRequest(params: ChatParams): Promise<AsyncIterable<unknown>> { /* ... */ }
233
191
  protected processStreamingChunk(chunk: unknown): { content: string } { /* ... */ }
@@ -235,8 +193,19 @@ export class MyProviderLLM extends BaseLLM {
235
193
  }
236
194
  ```
237
195
 
196
+ See the [full provider list](../Providers/README.md) for working examples across 25+ implementations.
197
+
238
198
  ## Dependencies
239
199
 
240
- - `@memberjunction/global` -- Class factory and global utilities (zero transitive dependencies)
241
- - `dotenv` -- Environment variable loading
242
- - `rxjs` -- Reactive extensions (used internally)
200
+ | Package | Purpose |
201
+ |---------|---------|
202
+ | `@memberjunction/global` | Class factory and global utilities (zero transitive dependencies) |
203
+ | `dotenv` | Environment variable loading |
204
+ | `rxjs` | Reactive extensions (internal use) |
205
+
206
+ ## Related Packages
207
+
208
+ - **[AI Framework Overview](../README.md)** -- Architecture, provider matrix, and quick start
209
+ - **[Providers](../Providers/README.md)** -- All 25+ provider implementations
210
+ - **[Prompts](../Prompts/README.md)** -- MJ-integrated prompt template engine
211
+ - **[Agents](../Agents/README.md)** -- Agent execution framework
package/README.md DELETED
@@ -1,242 +0,0 @@
1
- # @memberjunction/ai
2
-
3
- Core abstractions and base classes for the MemberJunction AI Framework. This package defines provider-agnostic interfaces for Large Language Models (LLMs), embeddings, image generation, audio, video, reranking, and more. It has **zero MemberJunction dependencies** beyond `@memberjunction/global`, making it suitable for standalone use in any TypeScript/JavaScript project.
4
-
5
- ## Architecture
6
-
7
- ```mermaid
8
- graph TD
9
- subgraph "@memberjunction/ai"
10
- BM["BaseModel"]
11
- style BM fill:#2d6a9f,stroke:#1a4971,color:#fff
12
-
13
- BLLM["BaseLLM"]
14
- style BLLM fill:#2d6a9f,stroke:#1a4971,color:#fff
15
-
16
- BE["BaseEmbeddings"]
17
- style BE fill:#2d6a9f,stroke:#1a4971,color:#fff
18
-
19
- BIG["BaseImageGenerator"]
20
- style BIG fill:#2d6a9f,stroke:#1a4971,color:#fff
21
-
22
- BA["BaseAudio"]
23
- style BA fill:#2d6a9f,stroke:#1a4971,color:#fff
24
-
25
- BV["BaseVideo"]
26
- style BV fill:#2d6a9f,stroke:#1a4971,color:#fff
27
-
28
- BR["BaseReranker"]
29
- style BR fill:#2d6a9f,stroke:#1a4971,color:#fff
30
-
31
- CT["Chat Types"]
32
- style CT fill:#7c5295,stroke:#563a6b,color:#fff
33
-
34
- ET["Embed Types"]
35
- style ET fill:#7c5295,stroke:#563a6b,color:#fff
36
-
37
- ERR["ErrorAnalyzer"]
38
- style ERR fill:#b8762f,stroke:#8a5722,color:#fff
39
-
40
- AK["AIAPIKeys"]
41
- style AK fill:#2d8659,stroke:#1a5c3a,color:#fff
42
-
43
- BM --> BLLM
44
- BM --> BE
45
- BM --> BIG
46
- BM --> BA
47
- BM --> BV
48
- BM --> BR
49
- end
50
-
51
- P1["OpenAI Provider"]
52
- style P1 fill:#2d8659,stroke:#1a5c3a,color:#fff
53
- P2["Anthropic Provider"]
54
- style P2 fill:#2d8659,stroke:#1a5c3a,color:#fff
55
- P3["Other Providers"]
56
- style P3 fill:#2d8659,stroke:#1a5c3a,color:#fff
57
-
58
- BLLM --> P1
59
- BLLM --> P2
60
- BLLM --> P3
61
- ```
62
-
63
- ## Installation
64
-
65
- ```bash
66
- npm install @memberjunction/ai
67
- ```
68
-
69
- ## Key Exports
70
-
71
- ### Base Classes
72
-
73
- | Class | Purpose |
74
- |---|---|
75
- | `BaseModel` | Root base class for all AI model types; manages API key storage |
76
- | `BaseLLM` | Abstract base for chat completion providers with streaming, parallel execution, and thinking model support |
77
- | `BaseEmbeddings` | Abstract base for text embedding providers |
78
- | `BaseImageGenerator` | Abstract base for image generation, editing, and variation providers |
79
- | `BaseAudio` | Abstract base for text-to-speech and speech-to-text providers |
80
- | `BaseVideo` | Abstract base for video generation providers |
81
- | `BaseReranker` | Abstract base for document reranking providers |
82
-
83
- ### Type Definitions
84
-
85
- | Type / Class | Purpose |
86
- |---|---|
87
- | `ChatParams` | Parameters for chat completion requests (messages, streaming, sampling controls) |
88
- | `ChatResult` | Result of a chat completion including choices, usage, and cache info |
89
- | `ChatMessage` | Individual message with role, content (text or multimodal blocks), and optional metadata |
90
- | `ChatMessageContentBlock` | Multimodal content block (text, image, video, audio, file) |
91
- | `StreamingChatCallbacks` | Callbacks for real-time streaming responses |
92
- | `ParallelChatCompletionsCallbacks` | Callbacks for batch parallel completions |
93
- | `EmbedTextParams` / `EmbedTextResult` | Parameters and results for single text embedding |
94
- | `EmbedTextsParams` / `EmbedTextsResult` | Parameters and results for batch text embeddings |
95
- | `ImageGenerationParams` / `ImageGenerationResult` | Image generation parameters and results |
96
- | `SummarizeParams` / `SummarizeResult` | Text summarization parameters and results |
97
- | `ClassifyParams` / `ClassifyResult` | Text classification parameters and results |
98
- | `RerankParams` / `RerankResult` | Document reranking parameters and results |
99
-
100
- ### Utilities
101
-
102
- | Export | Purpose |
103
- |---|---|
104
- | `BaseResult` | Common result base with success flag, timing, and error info |
105
- | `ModelUsage` | Token usage and cost tracking (prompt tokens, completion tokens, cost, currency) |
106
- | `AIAPIKeys` | API key management via environment variables (`AI_VENDOR_API_KEY__<DRIVER>`) |
107
- | `GetAIAPIKey()` | Helper to resolve API keys with optional runtime overrides |
108
- | `ErrorAnalyzer` | Standardized error analysis across all providers with severity and failover hints |
109
- | `AIErrorInfo` / `AIErrorType` | Structured error types (rate limit, authentication, context length, etc.) |
110
- | `serializeMessageContent()` / `deserializeMessageContent()` | Content block serialization for database storage |
111
- | `parseBase64DataUrl()` / `createBase64DataUrl()` | Base64 data URL utilities |
112
-
113
- ## Usage
114
-
115
- ### Basic Chat Completion
116
-
117
- ```typescript
118
- import { ChatParams, ChatMessageRole } from '@memberjunction/ai';
119
- import { OpenAILLM } from '@memberjunction/ai-openai';
120
-
121
- const llm = new OpenAILLM('your-api-key');
122
-
123
- const params = new ChatParams();
124
- params.model = 'gpt-4';
125
- params.messages = [
126
- { role: ChatMessageRole.user, content: 'What is the capital of France?' }
127
- ];
128
-
129
- const result = await llm.ChatCompletion(params);
130
- console.log(result.data.choices[0].message.content);
131
- ```
132
-
133
- ### Streaming Chat Completion
134
-
135
- ```typescript
136
- const params = new ChatParams();
137
- params.model = 'gpt-4';
138
- params.streaming = true;
139
- params.messages = [
140
- { role: ChatMessageRole.user, content: 'Explain quantum computing' }
141
- ];
142
- params.streamingCallbacks = {
143
- OnContent: (chunk, isComplete) => process.stdout.write(chunk),
144
- OnComplete: (result) => console.log('\nDone!'),
145
- OnError: (error) => console.error('Stream error:', error)
146
- };
147
-
148
- await llm.ChatCompletion(params);
149
- ```
150
-
151
- ### Parallel Chat Completions
152
-
153
- ```typescript
154
- const paramsArray = [
155
- { ...baseParams, temperature: 0.3 },
156
- { ...baseParams, temperature: 0.7 },
157
- { ...baseParams, temperature: 1.0 }
158
- ];
159
-
160
- const results = await llm.ChatCompletions(paramsArray, {
161
- OnCompletion: (result, index) => console.log(`Completion ${index} done`),
162
- OnAllCompleted: (results) => console.log(`All ${results.length} done`)
163
- });
164
- ```
165
-
166
- ### Multimodal Content
167
-
168
- ```typescript
169
- const params = new ChatParams();
170
- params.model = 'gpt-4o';
171
- params.messages = [
172
- {
173
- role: ChatMessageRole.user,
174
- content: [
175
- { type: 'text', content: 'What is in this image?' },
176
- { type: 'image_url', content: 'data:image/png;base64,...' }
177
- ]
178
- }
179
- ];
180
- ```
181
-
182
- ### Text Embeddings
183
-
184
- ```typescript
185
- import { EmbedTextParams } from '@memberjunction/ai';
186
- import { OpenAIEmbeddings } from '@memberjunction/ai-openai';
187
-
188
- const embedder = new OpenAIEmbeddings('your-api-key');
189
- const result = await embedder.EmbedText({
190
- model: 'text-embedding-ada-002',
191
- text: 'Sample text to embed'
192
- });
193
- console.log(result.embedding); // number[]
194
- ```
195
-
196
- ### API Key Management
197
-
198
- ```typescript
199
- import { GetAIAPIKey } from '@memberjunction/ai';
200
-
201
- // Reads from environment: AI_VENDOR_API_KEY__OPENAILLM
202
- const key = GetAIAPIKey('OpenAILLM');
203
-
204
- // With runtime override
205
- const key2 = GetAIAPIKey('AnthropicLLM', [
206
- { driverClass: 'AnthropicLLM', apiKey: 'sk-ant-...' }
207
- ]);
208
- ```
209
-
210
- ## Provider Implementation
211
-
212
- To create a new AI provider, extend the appropriate base class:
213
-
214
- ```typescript
215
- import { BaseLLM, ChatParams, ChatResult } from '@memberjunction/ai';
216
-
217
- export class MyProviderLLM extends BaseLLM {
218
- protected async nonStreamingChatCompletion(params: ChatParams): Promise<ChatResult> {
219
- // Implement provider-specific chat completion
220
- }
221
-
222
- public async ClassifyText(params: ClassifyParams): Promise<ClassifyResult> {
223
- // Implement or throw if not supported
224
- }
225
-
226
- public async SummarizeText(params: SummarizeParams): Promise<SummarizeResult> {
227
- // Implement or throw if not supported
228
- }
229
-
230
- // For streaming support, override these:
231
- public get SupportsStreaming(): boolean { return true; }
232
- protected async createStreamingRequest(params: ChatParams): Promise<AsyncIterable<unknown>> { /* ... */ }
233
- protected processStreamingChunk(chunk: unknown): { content: string } { /* ... */ }
234
- protected finalizeStreamingResponse(content: string, lastChunk: unknown, usage: unknown): ChatResult { /* ... */ }
235
- }
236
- ```
237
-
238
- ## Dependencies
239
-
240
- - `@memberjunction/global` -- Class factory and global utilities (zero transitive dependencies)
241
- - `dotenv` -- Environment variable loading
242
- - `rxjs` -- Reactive extensions (used internally)