@memberjunction/ai 5.14.0 → 5.15.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/generic/baseLLM.d.ts +7 -0
- package/dist/generic/baseLLM.d.ts.map +1 -1
- package/dist/generic/baseLLM.js +9 -0
- package/dist/generic/baseLLM.js.map +1 -1
- package/dist/generic/chat.types.d.ts +21 -0
- package/dist/generic/chat.types.d.ts.map +1 -1
- package/dist/generic/chat.types.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +128 -159
- package/README.md +0 -242
|
@@ -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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"}
|
package/dist/generic/baseLLM.js
CHANGED
|
@@ -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":"AACA,OAAO,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AACpD,OAAO,EAAc,UAAU,EAAmF,MAAM,cAAc,CAAC;AAEvI,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD;;;GAGG;AACH,MAAM,OAAgB,OAAQ,SAAQ,SAAS;IAA/C;;QACI;;WAEG;QACO,wBAAmB,GAAwB,EAAE,CAAC;
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIhE;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGnF;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;IACpE;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,uBAAuB,EAAE,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI;IAC/B;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,kBAAkB,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;CAChB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzD;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,KAAK,IAAI,CAAC;IAEjD;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC7C;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE7D;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE9C;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,UAAW,SAAQ,UAAU;IACtC;;OAEG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAM;IAE7B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAS;IAE5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAE5C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAQ;IAE/B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAS;IAElC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAIhC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AACD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAE1F;AACD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAE3F;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC;;;;OAIG;IACH,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAE5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC;QAChB;;WAEG;QACH,KAAK,EAAE,MAAM,CAAA;QACb;;WAEG;QACH,OAAO,EAAE,MAAM,CAAA;QACf;;;;WAIG;QACH,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;KAC/B,CAAC,GAAG,IAAI,CAAC;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;IAC/C;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;CAClD,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;CACvC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;CACrB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,UAAW,SAAQ,UAAU;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtD;AAMD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAK3E;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAa7E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAKpE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAQtE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS9F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.types.js","sourceRoot":"","sources":["../../src/generic/chat.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAc,MAAM,aAAa,CAAA;AAIhE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;CAChB,CAAC;AA8IX,MAAM,OAAO,UAAW,SAAQ,UAAU;IAA1C;;QACI;;WAEG;QACH,aAAQ,GAAkB,EAAE,CAAC;
|
|
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.
|
|
4
|
+
"version": "5.15.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.
|
|
20
|
+
"@memberjunction/global": "5.15.0",
|
|
21
21
|
"dotenv": "^17.2.4",
|
|
22
22
|
"rxjs": "^7.8.2"
|
|
23
23
|
},
|
package/readme.md
CHANGED
|
@@ -1,233 +1,191 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
23
|
-
style BA fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
9
|
+
## Installation
|
|
24
10
|
|
|
25
|
-
|
|
26
|
-
|
|
11
|
+
```bash
|
|
12
|
+
npm install @memberjunction/ai
|
|
13
|
+
```
|
|
27
14
|
|
|
28
|
-
|
|
29
|
-
style BR fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
15
|
+
## Base Classes
|
|
30
16
|
|
|
31
|
-
|
|
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
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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
|
-
|
|
41
|
-
style AK fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
30
|
+
## Type Definitions
|
|
42
31
|
|
|
43
|
-
|
|
44
|
-
BM --> BE
|
|
45
|
-
BM --> BIG
|
|
46
|
-
BM --> BA
|
|
47
|
-
BM --> BV
|
|
48
|
-
BM --> BR
|
|
49
|
-
end
|
|
32
|
+
### Chat Types
|
|
50
33
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
59
|
-
BLLM --> P2
|
|
60
|
-
BLLM --> P3
|
|
61
|
-
```
|
|
44
|
+
### Embedding Types
|
|
62
45
|
|
|
63
|
-
|
|
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
|
-
|
|
66
|
-
npm install @memberjunction/ai
|
|
67
|
-
```
|
|
51
|
+
### Other Types
|
|
68
52
|
|
|
69
|
-
|
|
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
|
|
97
|
-
| `ClassifyParams` / `ClassifyResult` | Text classification
|
|
98
|
-
| `RerankParams` / `RerankResult` | Document reranking
|
|
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
|
-
|
|
62
|
+
## Utilities
|
|
101
63
|
|
|
102
|
-
| Export |
|
|
103
|
-
|
|
104
|
-
| `
|
|
105
|
-
| `
|
|
106
|
-
| `
|
|
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
|
-
###
|
|
74
|
+
### Chat Completion
|
|
116
75
|
|
|
117
76
|
```typescript
|
|
118
|
-
import { ChatParams, ChatMessageRole } from
|
|
119
|
-
import { OpenAILLM } from
|
|
120
|
-
|
|
121
|
-
const llm = new OpenAILLM(
|
|
122
|
-
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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
|
|
95
|
+
### Streaming
|
|
134
96
|
|
|
135
97
|
```typescript
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
|
110
|
+
### Parallel Completions
|
|
152
111
|
|
|
153
112
|
```typescript
|
|
154
|
-
const
|
|
155
|
-
{ ...
|
|
156
|
-
{ ...
|
|
157
|
-
{ ...
|
|
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(
|
|
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}
|
|
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
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
{
|
|
128
|
+
const result = await llm.ChatCompletion({
|
|
129
|
+
model: "gpt-4.1",
|
|
130
|
+
messages: [{
|
|
173
131
|
role: ChatMessageRole.user,
|
|
174
132
|
content: [
|
|
175
|
-
{ type:
|
|
176
|
-
{ type:
|
|
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 {
|
|
186
|
-
import { OpenAIEmbeddings } from '@memberjunction/ai-openai';
|
|
143
|
+
import { OpenAIEmbedding } from "@memberjunction/ai-openai";
|
|
187
144
|
|
|
188
|
-
const embedder = new
|
|
145
|
+
const embedder = new OpenAIEmbedding("your-api-key");
|
|
189
146
|
const result = await embedder.EmbedText({
|
|
190
|
-
model:
|
|
191
|
-
text:
|
|
147
|
+
model: "text-embedding-3-small",
|
|
148
|
+
text: "Sample text to embed",
|
|
192
149
|
});
|
|
193
|
-
console.log(result.
|
|
150
|
+
console.log(`Dimensions: ${result.vector.length}`);
|
|
194
151
|
```
|
|
195
152
|
|
|
196
|
-
### API Key
|
|
153
|
+
### API Key Resolution
|
|
197
154
|
|
|
198
155
|
```typescript
|
|
199
|
-
import { GetAIAPIKey } from
|
|
156
|
+
import { GetAIAPIKey } from "@memberjunction/ai";
|
|
200
157
|
|
|
201
|
-
// Reads from environment
|
|
202
|
-
const key = GetAIAPIKey(
|
|
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(
|
|
206
|
-
{ driverClass:
|
|
162
|
+
const key2 = GetAIAPIKey("AnthropicLLM", [
|
|
163
|
+
{ driverClass: "AnthropicLLM", apiKey: "sk-ant-..." },
|
|
207
164
|
]);
|
|
208
165
|
```
|
|
209
166
|
|
|
210
|
-
## Provider
|
|
167
|
+
## Implementing a New Provider
|
|
211
168
|
|
|
212
|
-
|
|
169
|
+
Extend the base class for the capability you want to support:
|
|
213
170
|
|
|
214
171
|
```typescript
|
|
215
|
-
import { BaseLLM, ChatParams, ChatResult } from
|
|
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
|
-
//
|
|
179
|
+
// Your API call here
|
|
220
180
|
}
|
|
221
181
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
182
|
+
// Optional: implement text classification
|
|
183
|
+
public async ClassifyText(params: ClassifyParams): Promise<ClassifyResult> { /* ... */ }
|
|
225
184
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
}
|
|
185
|
+
// Optional: implement summarization
|
|
186
|
+
public async SummarizeText(params: SummarizeParams): Promise<SummarizeResult> { /* ... */ }
|
|
229
187
|
|
|
230
|
-
//
|
|
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
|
-
|
|
241
|
-
|
|
242
|
-
|
|
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)
|