@memberjunction/ai-gemini 3.4.0 → 4.1.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/README.md +140 -0
- package/dist/geminiImage.d.ts +0 -4
- package/dist/geminiImage.d.ts.map +1 -1
- package/dist/geminiImage.js +16 -22
- package/dist/geminiImage.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -41
- package/dist/index.js.map +1 -1
- package/package.json +7 -6
- package/readme.md +99 -320
package/README.md
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# @memberjunction/ai-gemini
|
|
2
|
+
|
|
3
|
+
MemberJunction AI provider for Google Gemini models. This package provides both LLM and image generation capabilities, supporting Gemini Pro, Flash, and advanced image generation models with native multimodal support, thinking/reasoning, and streaming.
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
graph TD
|
|
9
|
+
A["GeminiLLM<br/>(Chat Provider)"] -->|extends| B["BaseLLM<br/>(@memberjunction/ai)"]
|
|
10
|
+
C["GeminiImageGenerator<br/>(Image Provider)"] -->|extends| D["BaseImageGenerator<br/>(@memberjunction/ai)"]
|
|
11
|
+
A -->|wraps| E["GoogleGenAI<br/>(@google/genai)"]
|
|
12
|
+
C -->|wraps| E
|
|
13
|
+
A -->|provides| F["Chat + Streaming"]
|
|
14
|
+
A -->|provides| G["Thinking/Reasoning<br/>Budget Control"]
|
|
15
|
+
C -->|provides| H["Image Generation<br/>+ Editing + Variations"]
|
|
16
|
+
B -->|registered via| I["@RegisterClass"]
|
|
17
|
+
D -->|registered via| I
|
|
18
|
+
|
|
19
|
+
style A fill:#7c5295,stroke:#563a6b,color:#fff
|
|
20
|
+
style C fill:#7c5295,stroke:#563a6b,color:#fff
|
|
21
|
+
style B fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
22
|
+
style D fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
23
|
+
style E fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
24
|
+
style F fill:#b8762f,stroke:#8a5722,color:#fff
|
|
25
|
+
style G fill:#b8762f,stroke:#8a5722,color:#fff
|
|
26
|
+
style H fill:#b8762f,stroke:#8a5722,color:#fff
|
|
27
|
+
style I fill:#b8762f,stroke:#8a5722,color:#fff
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Features
|
|
31
|
+
|
|
32
|
+
### LLM (GeminiLLM)
|
|
33
|
+
- **Chat Completions**: Full conversational AI with system instructions
|
|
34
|
+
- **Streaming**: Real-time response streaming with chunk processing
|
|
35
|
+
- **Thinking/Reasoning**: Configurable thinking budget for Gemini 2.5+ and thinking levels for Gemini 3+
|
|
36
|
+
- **Multimodal Input**: Native support for text, images, audio, video, and file inputs
|
|
37
|
+
- **Message Alternation**: Automatic handling of Gemini's role alternation requirements
|
|
38
|
+
- **Safety Handling**: Detection and reporting of content blocking with detailed safety ratings
|
|
39
|
+
- **Effort Level Mapping**: Maps MJ effort levels (1-100) to Gemini thinking budgets (0-24576)
|
|
40
|
+
|
|
41
|
+
### Image Generation (GeminiImageGenerator)
|
|
42
|
+
- **Text-to-Image**: Generate images using Gemini 3 Pro Image model
|
|
43
|
+
- **Image Editing**: Edit existing images using multimodal context
|
|
44
|
+
- **Image Variations**: Create variations of existing images
|
|
45
|
+
- **Resolution Control**: Support for sizes up to 4K (3840x2160)
|
|
46
|
+
- **Style and Quality**: Configurable style and quality parameters
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm install @memberjunction/ai-gemini
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Usage
|
|
55
|
+
|
|
56
|
+
### Chat Completion
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
import { GeminiLLM } from '@memberjunction/ai-gemini';
|
|
60
|
+
|
|
61
|
+
const llm = new GeminiLLM('your-google-api-key');
|
|
62
|
+
|
|
63
|
+
const result = await llm.ChatCompletion({
|
|
64
|
+
model: 'gemini-2.5-flash',
|
|
65
|
+
messages: [
|
|
66
|
+
{ role: 'system', content: 'You are a helpful assistant.' },
|
|
67
|
+
{ role: 'user', content: 'Explain quantum computing.' }
|
|
68
|
+
],
|
|
69
|
+
temperature: 0.7
|
|
70
|
+
});
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Streaming with Thinking
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
const result = await llm.ChatCompletion({
|
|
77
|
+
model: 'gemini-2.5-pro',
|
|
78
|
+
messages: [{ role: 'user', content: 'Solve this math problem step by step.' }],
|
|
79
|
+
effortLevel: '75', // High thinking budget
|
|
80
|
+
streaming: true,
|
|
81
|
+
streamingCallbacks: {
|
|
82
|
+
OnContent: (content) => process.stdout.write(content)
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
// Access thinking content
|
|
87
|
+
console.log('Thinking:', result.data.choices[0].message.thinking);
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Image Generation
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
import { GeminiImageGenerator } from '@memberjunction/ai-gemini';
|
|
94
|
+
|
|
95
|
+
const generator = new GeminiImageGenerator('your-google-api-key');
|
|
96
|
+
|
|
97
|
+
const result = await generator.GenerateImage({
|
|
98
|
+
prompt: 'A futuristic city at night',
|
|
99
|
+
model: 'gemini-3-pro-image-preview',
|
|
100
|
+
size: '2048x2048'
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Thinking Budget / Effort Level
|
|
105
|
+
|
|
106
|
+
The provider maps MJ effort levels to Gemini's thinking system:
|
|
107
|
+
|
|
108
|
+
| Effort Level | Gemini 2.5 (Budget) | Gemini 3+ (Level) |
|
|
109
|
+
|-------------|---------------------|-------------------|
|
|
110
|
+
| 1-5 (Flash only) | 0 (disabled) | MINIMAL |
|
|
111
|
+
| 1-33 | 1024-4096 | LOW |
|
|
112
|
+
| 34-66 | 4097-12288 | MEDIUM |
|
|
113
|
+
| 67-100 | 12289-24576 | HIGH |
|
|
114
|
+
|
|
115
|
+
## Supported Parameters
|
|
116
|
+
|
|
117
|
+
| Parameter | Supported | Notes |
|
|
118
|
+
|-----------|-----------|-------|
|
|
119
|
+
| temperature | Yes | Default 0.5 |
|
|
120
|
+
| topP | Yes | Nucleus sampling |
|
|
121
|
+
| topK | Yes | Top-K sampling |
|
|
122
|
+
| seed | Yes | Deterministic outputs |
|
|
123
|
+
| stopSequences | Yes | Custom stop sequences |
|
|
124
|
+
| effortLevel | Yes | Maps to thinking budget/level |
|
|
125
|
+
| responseFormat | Yes | JSON and text modes |
|
|
126
|
+
| streaming | Yes | Real-time streaming |
|
|
127
|
+
| frequencyPenalty | No | Not supported by Gemini |
|
|
128
|
+
| presencePenalty | No | Not supported by Gemini |
|
|
129
|
+
| minP | No | Not supported by Gemini |
|
|
130
|
+
|
|
131
|
+
## Class Registration
|
|
132
|
+
|
|
133
|
+
- `GeminiLLM` -- Registered via `@RegisterClass(BaseLLM, 'GeminiLLM')`
|
|
134
|
+
- `GeminiImageGenerator` -- Registered via `@RegisterClass(BaseImageGenerator, 'GeminiImageGenerator')`
|
|
135
|
+
|
|
136
|
+
## Dependencies
|
|
137
|
+
|
|
138
|
+
- `@memberjunction/ai` - Core AI abstractions
|
|
139
|
+
- `@memberjunction/global` - Class registration
|
|
140
|
+
- `@google/genai` - Google GenAI SDK
|
package/dist/geminiImage.d.ts
CHANGED
|
@@ -61,8 +61,4 @@ export declare class GeminiImageGenerator extends BaseImageGenerator {
|
|
|
61
61
|
*/
|
|
62
62
|
private handleError;
|
|
63
63
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Prevents tree-shaking from removing this class.
|
|
66
|
-
*/
|
|
67
|
-
export declare function LoadGeminiImageGenerator(): void;
|
|
68
64
|
//# sourceMappingURL=geminiImage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geminiImage.d.ts","sourceRoot":"","sources":["../src/geminiImage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqC,MAAM,eAAe,CAAC;AAE/E,OAAO,EACH,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,cAAc,EAGjB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;GAQG;AACH,qBACa,oBAAqB,SAAQ,kBAAkB;IACxD,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC7C,OAAO,CAAC,cAAc,CAAqC;gBAE/C,MAAM,EAAE,MAAM;IAI1B;;;OAGG;cACa,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAIpD;;OAEG;YACW,kBAAkB;IAahC;;OAEG;IACU,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsCzF;;;OAGG;IACU,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA6C/E;;;OAGG;IACU,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwD1F;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAgBnD;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwD7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAkDhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,WAAW;CAWtB
|
|
1
|
+
{"version":3,"file":"geminiImage.d.ts","sourceRoot":"","sources":["../src/geminiImage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqC,MAAM,eAAe,CAAC;AAE/E,OAAO,EACH,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,cAAc,EAGjB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;GAQG;AACH,qBACa,oBAAqB,SAAQ,kBAAkB;IACxD,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC7C,OAAO,CAAC,cAAc,CAAqC;gBAE/C,MAAM,EAAE,MAAM;IAI1B;;;OAGG;cACa,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAIpD;;OAEG;YACW,kBAAkB;IAahC;;OAEG;IACU,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsCzF;;;OAGG;IACU,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA6C/E;;;OAGG;IACU,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwD1F;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAgBnD;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwD7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAkDhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,WAAW;CAWtB"}
|
package/dist/geminiImage.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { GoogleGenAI, Modality } from "@google/genai";
|
|
11
|
+
import { RegisterClass } from "@memberjunction/global";
|
|
12
|
+
import { BaseImageGenerator, GeneratedImage, ErrorAnalyzer } from "@memberjunction/ai";
|
|
13
13
|
/**
|
|
14
14
|
* Google Gemini 3 Pro Image (Nano Banana Pro) implementation of the BaseImageGenerator class.
|
|
15
15
|
* Supports Google's most advanced image generation model with 2K/4K resolution support.
|
|
@@ -19,7 +19,7 @@ const ai_1 = require("@memberjunction/ai");
|
|
|
19
19
|
* - High resolution output (up to 4K)
|
|
20
20
|
* - Advanced style control and prompt understanding
|
|
21
21
|
*/
|
|
22
|
-
let GeminiImageGenerator = class GeminiImageGenerator extends
|
|
22
|
+
let GeminiImageGenerator = class GeminiImageGenerator extends BaseImageGenerator {
|
|
23
23
|
constructor(apiKey) {
|
|
24
24
|
super(apiKey);
|
|
25
25
|
this._gemini = null;
|
|
@@ -30,7 +30,7 @@ let GeminiImageGenerator = class GeminiImageGenerator extends ai_1.BaseImageGene
|
|
|
30
30
|
* Subclasses can override this to provide custom configuration.
|
|
31
31
|
*/
|
|
32
32
|
async createClient() {
|
|
33
|
-
return new
|
|
33
|
+
return new GoogleGenAI({ apiKey: this.apiKey });
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Ensure the Gemini client is initialized before use.
|
|
@@ -201,7 +201,7 @@ let GeminiImageGenerator = class GeminiImageGenerator extends ai_1.BaseImageGene
|
|
|
201
201
|
buildGenerationConfig(params) {
|
|
202
202
|
const config = {
|
|
203
203
|
// Request image output modality
|
|
204
|
-
responseModalities: [
|
|
204
|
+
responseModalities: [Modality.IMAGE, Modality.TEXT]
|
|
205
205
|
};
|
|
206
206
|
// Add size/aspect ratio if specified
|
|
207
207
|
if (params.size) {
|
|
@@ -262,7 +262,7 @@ let GeminiImageGenerator = class GeminiImageGenerator extends ai_1.BaseImageGene
|
|
|
262
262
|
for (const part of candidate.content.parts) {
|
|
263
263
|
// Check for inline data (base64 image)
|
|
264
264
|
if (part.inlineData && part.inlineData.data) {
|
|
265
|
-
const generatedImage = new
|
|
265
|
+
const generatedImage = new GeneratedImage();
|
|
266
266
|
generatedImage.base64 = part.inlineData.data;
|
|
267
267
|
generatedImage.data = Buffer.from(part.inlineData.data, 'base64');
|
|
268
268
|
generatedImage.format = this.getMimeTypeFormat(part.inlineData.mimeType || 'image/png');
|
|
@@ -279,7 +279,7 @@ let GeminiImageGenerator = class GeminiImageGenerator extends ai_1.BaseImageGene
|
|
|
279
279
|
}
|
|
280
280
|
// Check for file data (URL reference)
|
|
281
281
|
if (part.fileData && part.fileData.fileUri) {
|
|
282
|
-
const generatedImage = new
|
|
282
|
+
const generatedImage = new GeneratedImage();
|
|
283
283
|
generatedImage.url = part.fileData.fileUri;
|
|
284
284
|
generatedImage.format = this.getMimeTypeFormat(part.fileData.mimeType || 'image/png');
|
|
285
285
|
generatedImage.index = index;
|
|
@@ -307,7 +307,7 @@ let GeminiImageGenerator = class GeminiImageGenerator extends ai_1.BaseImageGene
|
|
|
307
307
|
* Handle errors and create error result.
|
|
308
308
|
*/
|
|
309
309
|
handleError(error, startTime) {
|
|
310
|
-
const errorInfo =
|
|
310
|
+
const errorInfo = ErrorAnalyzer.analyzeError(error, 'Gemini');
|
|
311
311
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
312
312
|
console.error('Gemini Image Generation error:', errorMessage, errorInfo);
|
|
313
313
|
const result = this.createErrorResult(startTime, errorMessage);
|
|
@@ -315,15 +315,9 @@ let GeminiImageGenerator = class GeminiImageGenerator extends ai_1.BaseImageGene
|
|
|
315
315
|
return result;
|
|
316
316
|
}
|
|
317
317
|
};
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
(
|
|
318
|
+
GeminiImageGenerator = __decorate([
|
|
319
|
+
RegisterClass(BaseImageGenerator, 'GeminiImageGenerator'),
|
|
320
|
+
__metadata("design:paramtypes", [String])
|
|
321
321
|
], GeminiImageGenerator);
|
|
322
|
-
|
|
323
|
-
* Prevents tree-shaking from removing this class.
|
|
324
|
-
*/
|
|
325
|
-
function LoadGeminiImageGenerator() {
|
|
326
|
-
// This function intentionally does nothing
|
|
327
|
-
}
|
|
328
|
-
exports.LoadGeminiImageGenerator = LoadGeminiImageGenerator;
|
|
322
|
+
export { GeminiImageGenerator };
|
|
329
323
|
//# sourceMappingURL=geminiImage.js.map
|
package/dist/geminiImage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geminiImage.js","sourceRoot":"","sources":["../src/geminiImage.ts"],"names":[],"mappings":";;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"geminiImage.js","sourceRoot":"","sources":["../src/geminiImage.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -86,6 +86,5 @@ export declare class GeminiLLM extends BaseLLM {
|
|
|
86
86
|
static MapMJContentToGeminiParts(content: ChatMessageContent): Array<Part>;
|
|
87
87
|
static MapMJMessageToGeminiHistoryEntry(message: ChatMessage): Content;
|
|
88
88
|
}
|
|
89
|
-
export
|
|
90
|
-
export * from './geminiImage';
|
|
89
|
+
export * from './geminiImage.js';
|
|
91
90
|
//# 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":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAA0B,kBAAkB,EAA6B,MAAM,oBAAoB,CAAC;AAG3L,qBACa,SAAU,SAAQ,OAAO;IAClC,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC7C,OAAO,CAAC,cAAc,CAAqC;IAG3D,OAAO,CAAC,eAAe,CAUrB;gBAEU,MAAM,EAAE,MAAM;IAM1B;;;;;OAKG;cACa,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAIpD;;;OAGG;YACW,kBAAkB;IAahC;;;OAGG;IACH,IAAW,YAAY,IAAI,WAAW,CAKrC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,IAAoB,iBAAiB,IAAI,OAAO,CAE/C;IAED,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAgC9D;;OAEG;cACa,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA0MnF,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;cACa,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IA6FxE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG;QACzC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,GAAG,CAAC;KACf;IA6CD;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IA2EzC;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,GAC9B,UAAU;IA6Eb,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAGhE,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;WAIzB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC;WAqCnE,gCAAgC,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;CAMhF;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAA0B,kBAAkB,EAA6B,MAAM,oBAAoB,CAAC;AAG3L,qBACa,SAAU,SAAQ,OAAO;IAClC,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC7C,OAAO,CAAC,cAAc,CAAqC;IAG3D,OAAO,CAAC,eAAe,CAUrB;gBAEU,MAAM,EAAE,MAAM;IAM1B;;;;;OAKG;cACa,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAIpD;;;OAGG;YACW,kBAAkB;IAahC;;;OAGG;IACH,IAAW,YAAY,IAAI,WAAW,CAKrC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,IAAoB,iBAAiB,IAAI,OAAO,CAE/C;IAED,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAgC9D;;OAEG;cACa,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA0MnF,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;cACa,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IA6FxE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG;QACzC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,GAAG,CAAC;KACf;IA6CD;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IA2EzC;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,GAC9B,UAAU;IA6Eb,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAGhE,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;WAIzB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC;WAqCnE,gCAAgC,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;CAMhF;AAID,cAAc,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,33 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
14
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
15
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
16
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
17
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
18
6
|
};
|
|
19
|
-
var
|
|
20
|
-
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
21
9
|
};
|
|
22
10
|
var GeminiLLM_1;
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.LoadGeminiLLM = exports.GeminiLLM = void 0;
|
|
25
11
|
// Google Gemini Import
|
|
26
|
-
|
|
12
|
+
import { GoogleGenAI } from "@google/genai";
|
|
27
13
|
// MJ stuff
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends
|
|
14
|
+
import { BaseLLM, ChatResult, ModelUsage, ErrorAnalyzer } from "@memberjunction/ai";
|
|
15
|
+
import { RegisterClass } from "@memberjunction/global";
|
|
16
|
+
let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
31
17
|
constructor(apiKey) {
|
|
32
18
|
super(apiKey);
|
|
33
19
|
this._gemini = null;
|
|
@@ -49,7 +35,7 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends ai_1.BaseLLM {
|
|
|
49
35
|
* @returns Promise that resolves to a configured GoogleGenAI client
|
|
50
36
|
*/
|
|
51
37
|
async createClient() {
|
|
52
|
-
return new
|
|
38
|
+
return new GoogleGenAI({ apiKey: this.apiKey });
|
|
53
39
|
}
|
|
54
40
|
/**
|
|
55
41
|
* Ensure the Gemini client is initialized before use
|
|
@@ -328,7 +314,7 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends ai_1.BaseLLM {
|
|
|
328
314
|
finish_reason: finishReason || "completed",
|
|
329
315
|
index: 0
|
|
330
316
|
}],
|
|
331
|
-
usage: new
|
|
317
|
+
usage: new ModelUsage(result.usageMetadata?.promptTokenCount || 0, result.usageMetadata?.candidatesTokenCount || 0)
|
|
332
318
|
},
|
|
333
319
|
errorMessage: "",
|
|
334
320
|
exception: null,
|
|
@@ -343,11 +329,11 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends ai_1.BaseLLM {
|
|
|
343
329
|
timeElapsed: 0,
|
|
344
330
|
data: {
|
|
345
331
|
choices: [],
|
|
346
|
-
usage: new
|
|
332
|
+
usage: new ModelUsage(0, 0) // Gemini doesn't provide detailed token usage
|
|
347
333
|
},
|
|
348
334
|
errorMessage: e.message,
|
|
349
335
|
exception: e,
|
|
350
|
-
errorInfo:
|
|
336
|
+
errorInfo: ErrorAnalyzer.analyzeError(e, 'Gemini')
|
|
351
337
|
};
|
|
352
338
|
}
|
|
353
339
|
}
|
|
@@ -520,7 +506,7 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends ai_1.BaseLLM {
|
|
|
520
506
|
// Extract usage from chunk if available (appears on final chunk)
|
|
521
507
|
let usage = null;
|
|
522
508
|
if (chunk.usageMetadata) {
|
|
523
|
-
usage = new
|
|
509
|
+
usage = new ModelUsage(chunk.usageMetadata.promptTokenCount || 0, chunk.usageMetadata.candidatesTokenCount || 0);
|
|
524
510
|
}
|
|
525
511
|
return {
|
|
526
512
|
content,
|
|
@@ -625,38 +611,38 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends ai_1.BaseLLM {
|
|
|
625
611
|
.join(', ');
|
|
626
612
|
// Create error result for blocked content
|
|
627
613
|
const now = new Date();
|
|
628
|
-
const errorResult = new
|
|
614
|
+
const errorResult = new ChatResult(false, now, now);
|
|
629
615
|
errorResult.statusText = 'Content blocked';
|
|
630
616
|
errorResult.errorMessage = `Content blocked by model: ${finishReason}${blockedCategories ? ` - ${blockedCategories}` : ''}`;
|
|
631
617
|
errorResult.exception = new Error(errorResult.errorMessage);
|
|
632
|
-
errorResult.errorInfo =
|
|
618
|
+
errorResult.errorInfo = ErrorAnalyzer.analyzeError(errorResult.exception, 'Gemini');
|
|
633
619
|
errorResult.data = {
|
|
634
620
|
choices: [],
|
|
635
|
-
usage: usage || new
|
|
621
|
+
usage: usage || new ModelUsage(0, 0)
|
|
636
622
|
};
|
|
637
623
|
return errorResult;
|
|
638
624
|
}
|
|
639
625
|
// Check for empty response (no content received)
|
|
640
626
|
if (!hasContent) {
|
|
641
627
|
const now = new Date();
|
|
642
|
-
const errorResult = new
|
|
628
|
+
const errorResult = new ChatResult(false, now, now);
|
|
643
629
|
const usageMetadata = usage || lastChunk?.usageMetadata;
|
|
644
630
|
errorResult.statusText = 'No output received';
|
|
645
631
|
errorResult.errorMessage = `No output received from model in streaming response (finishReason: ${finishReason || 'none'}, ` +
|
|
646
632
|
`promptTokens: ${usageMetadata?.promptTokenCount || 0}, ` +
|
|
647
633
|
`completionTokens: ${usageMetadata?.candidatesTokenCount || 0})`;
|
|
648
634
|
errorResult.exception = new Error(errorResult.errorMessage);
|
|
649
|
-
errorResult.errorInfo =
|
|
635
|
+
errorResult.errorInfo = ErrorAnalyzer.analyzeError(errorResult.exception, 'Gemini');
|
|
650
636
|
errorResult.data = {
|
|
651
637
|
choices: [],
|
|
652
|
-
usage: usage || new
|
|
638
|
+
usage: usage || new ModelUsage(0, 0)
|
|
653
639
|
};
|
|
654
640
|
return errorResult;
|
|
655
641
|
}
|
|
656
642
|
// Create dates (will be overridden by base class)
|
|
657
643
|
const now = new Date();
|
|
658
644
|
// Create a proper ChatResult instance with constructor params
|
|
659
|
-
const result = new
|
|
645
|
+
const result = new ChatResult(true, now, now);
|
|
660
646
|
// Set all properties
|
|
661
647
|
result.data = {
|
|
662
648
|
choices: [{
|
|
@@ -668,7 +654,7 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends ai_1.BaseLLM {
|
|
|
668
654
|
finish_reason: finishReason,
|
|
669
655
|
index: 0
|
|
670
656
|
}],
|
|
671
|
-
usage: usage || new
|
|
657
|
+
usage: usage || new ModelUsage(0, 0)
|
|
672
658
|
};
|
|
673
659
|
result.statusText = 'success';
|
|
674
660
|
result.errorMessage = null;
|
|
@@ -724,14 +710,11 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends ai_1.BaseLLM {
|
|
|
724
710
|
};
|
|
725
711
|
}
|
|
726
712
|
};
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
(
|
|
713
|
+
GeminiLLM = GeminiLLM_1 = __decorate([
|
|
714
|
+
RegisterClass(BaseLLM, "GeminiLLM"),
|
|
715
|
+
__metadata("design:paramtypes", [String])
|
|
730
716
|
], GeminiLLM);
|
|
731
|
-
|
|
732
|
-
// does nothing, avoid tree shaking that will get rid of this class since there is no static link to this class in the code base as it is loaded dynamically
|
|
733
|
-
}
|
|
734
|
-
exports.LoadGeminiLLM = LoadGeminiLLM;
|
|
717
|
+
export { GeminiLLM };
|
|
735
718
|
// Export image generation
|
|
736
|
-
|
|
719
|
+
export * from './geminiImage.js';
|
|
737
720
|
//# 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":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-gemini",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "4.1.0",
|
|
4
5
|
"description": "MemberJunction Wrapper for Google Gemini AI Models",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
@@ -9,19 +10,19 @@
|
|
|
9
10
|
],
|
|
10
11
|
"scripts": {
|
|
11
12
|
"start": "ts-node-dev src/index.ts",
|
|
12
|
-
"build": "tsc",
|
|
13
|
+
"build": "tsc && tsc-alias -f",
|
|
13
14
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
14
15
|
},
|
|
15
16
|
"author": "MemberJunction.com",
|
|
16
17
|
"license": "ISC",
|
|
17
18
|
"devDependencies": {
|
|
18
19
|
"ts-node-dev": "^2.0.0",
|
|
19
|
-
"typescript": "^5.
|
|
20
|
+
"typescript": "^5.9.3"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@memberjunction/ai": "
|
|
23
|
-
"@memberjunction/global": "
|
|
24
|
-
"@google/genai": "^1.
|
|
23
|
+
"@memberjunction/ai": "4.1.0",
|
|
24
|
+
"@memberjunction/global": "4.1.0",
|
|
25
|
+
"@google/genai": "^1.40.0"
|
|
25
26
|
},
|
|
26
27
|
"repository": {
|
|
27
28
|
"type": "git",
|
package/readme.md
CHANGED
|
@@ -1,19 +1,49 @@
|
|
|
1
1
|
# @memberjunction/ai-gemini
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
MemberJunction AI provider for Google Gemini models. This package provides both LLM and image generation capabilities, supporting Gemini Pro, Flash, and advanced image generation models with native multimodal support, thinking/reasoning, and streaming.
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
graph TD
|
|
9
|
+
A["GeminiLLM<br/>(Chat Provider)"] -->|extends| B["BaseLLM<br/>(@memberjunction/ai)"]
|
|
10
|
+
C["GeminiImageGenerator<br/>(Image Provider)"] -->|extends| D["BaseImageGenerator<br/>(@memberjunction/ai)"]
|
|
11
|
+
A -->|wraps| E["GoogleGenAI<br/>(@google/genai)"]
|
|
12
|
+
C -->|wraps| E
|
|
13
|
+
A -->|provides| F["Chat + Streaming"]
|
|
14
|
+
A -->|provides| G["Thinking/Reasoning<br/>Budget Control"]
|
|
15
|
+
C -->|provides| H["Image Generation<br/>+ Editing + Variations"]
|
|
16
|
+
B -->|registered via| I["@RegisterClass"]
|
|
17
|
+
D -->|registered via| I
|
|
18
|
+
|
|
19
|
+
style A fill:#7c5295,stroke:#563a6b,color:#fff
|
|
20
|
+
style C fill:#7c5295,stroke:#563a6b,color:#fff
|
|
21
|
+
style B fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
22
|
+
style D fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
23
|
+
style E fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
24
|
+
style F fill:#b8762f,stroke:#8a5722,color:#fff
|
|
25
|
+
style G fill:#b8762f,stroke:#8a5722,color:#fff
|
|
26
|
+
style H fill:#b8762f,stroke:#8a5722,color:#fff
|
|
27
|
+
style I fill:#b8762f,stroke:#8a5722,color:#fff
|
|
28
|
+
```
|
|
4
29
|
|
|
5
30
|
## Features
|
|
6
31
|
|
|
7
|
-
|
|
8
|
-
- **
|
|
9
|
-
- **Streaming
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
|
|
16
|
-
|
|
32
|
+
### LLM (GeminiLLM)
|
|
33
|
+
- **Chat Completions**: Full conversational AI with system instructions
|
|
34
|
+
- **Streaming**: Real-time response streaming with chunk processing
|
|
35
|
+
- **Thinking/Reasoning**: Configurable thinking budget for Gemini 2.5+ and thinking levels for Gemini 3+
|
|
36
|
+
- **Multimodal Input**: Native support for text, images, audio, video, and file inputs
|
|
37
|
+
- **Message Alternation**: Automatic handling of Gemini's role alternation requirements
|
|
38
|
+
- **Safety Handling**: Detection and reporting of content blocking with detailed safety ratings
|
|
39
|
+
- **Effort Level Mapping**: Maps MJ effort levels (1-100) to Gemini thinking budgets (0-24576)
|
|
40
|
+
|
|
41
|
+
### Image Generation (GeminiImageGenerator)
|
|
42
|
+
- **Text-to-Image**: Generate images using Gemini 3 Pro Image model
|
|
43
|
+
- **Image Editing**: Edit existing images using multimodal context
|
|
44
|
+
- **Image Variations**: Create variations of existing images
|
|
45
|
+
- **Resolution Control**: Support for sizes up to 4K (3840x2160)
|
|
46
|
+
- **Style and Quality**: Configurable style and quality parameters
|
|
17
47
|
|
|
18
48
|
## Installation
|
|
19
49
|
|
|
@@ -21,341 +51,90 @@ A comprehensive wrapper for Google's Gemini AI models that seamlessly integrates
|
|
|
21
51
|
npm install @memberjunction/ai-gemini
|
|
22
52
|
```
|
|
23
53
|
|
|
24
|
-
## Requirements
|
|
25
|
-
|
|
26
|
-
- Node.js 16+
|
|
27
|
-
- A Google AI Studio API key
|
|
28
|
-
- MemberJunction Core libraries
|
|
29
|
-
|
|
30
54
|
## Usage
|
|
31
55
|
|
|
32
|
-
### Basic Setup
|
|
33
|
-
|
|
34
|
-
```typescript
|
|
35
|
-
import { GeminiLLM } from '@memberjunction/ai-gemini';
|
|
36
|
-
|
|
37
|
-
// Initialize with your Google AI API key
|
|
38
|
-
const geminiLLM = new GeminiLLM('your-google-ai-api-key');
|
|
39
|
-
```
|
|
40
|
-
|
|
41
56
|
### Chat Completion
|
|
42
57
|
|
|
43
58
|
```typescript
|
|
44
|
-
import {
|
|
45
|
-
|
|
46
|
-
// Create chat parameters
|
|
47
|
-
const chatParams: ChatParams = {
|
|
48
|
-
model: 'gemini-pro', // or 'gemini-pro-vision' for multimodal
|
|
49
|
-
messages: [
|
|
50
|
-
{ role: 'system', content: 'You are a helpful assistant.' },
|
|
51
|
-
{ role: 'user', content: 'What are the key features of the Gemini AI model?' }
|
|
52
|
-
],
|
|
53
|
-
temperature: 0.7,
|
|
54
|
-
maxOutputTokens: 1000
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
// Get a response
|
|
58
|
-
try {
|
|
59
|
-
const response = await geminiLLM.ChatCompletion(chatParams);
|
|
60
|
-
if (response.success) {
|
|
61
|
-
console.log('Response:', response.data.choices[0].message.content);
|
|
62
|
-
console.log('Time elapsed:', response.timeElapsed, 'ms');
|
|
63
|
-
} else {
|
|
64
|
-
console.error('Error:', response.errorMessage);
|
|
65
|
-
}
|
|
66
|
-
} catch (error) {
|
|
67
|
-
console.error('Exception:', error);
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Streaming Chat Completion
|
|
72
|
-
|
|
73
|
-
```typescript
|
|
74
|
-
import { StreamingChatCallbacks } from '@memberjunction/ai';
|
|
75
|
-
|
|
76
|
-
// Define streaming callbacks
|
|
77
|
-
const streamCallbacks: StreamingChatCallbacks = {
|
|
78
|
-
onToken: (token: string) => {
|
|
79
|
-
process.stdout.write(token); // Print each token as it arrives
|
|
80
|
-
},
|
|
81
|
-
onComplete: (fullResponse: string) => {
|
|
82
|
-
console.log('\n\nComplete response received');
|
|
83
|
-
},
|
|
84
|
-
onError: (error: Error) => {
|
|
85
|
-
console.error('Streaming error:', error);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
// Use streaming
|
|
90
|
-
const streamParams: ChatParams = {
|
|
91
|
-
model: 'gemini-pro',
|
|
92
|
-
messages: [
|
|
93
|
-
{ role: 'user', content: 'Write a short story about a robot.' }
|
|
94
|
-
],
|
|
95
|
-
streaming: true,
|
|
96
|
-
streamingCallbacks: streamCallbacks
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
await geminiLLM.ChatCompletion(streamParams);
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Multimodal Content
|
|
103
|
-
|
|
104
|
-
```typescript
|
|
105
|
-
import { ChatMessageContent } from '@memberjunction/ai';
|
|
106
|
-
|
|
107
|
-
// Create multimodal content
|
|
108
|
-
const multimodalContent: ChatMessageContent = [
|
|
109
|
-
{ type: 'text', content: 'What do you see in this image?' },
|
|
110
|
-
{ type: 'image_url', content: 'base64_encoded_image_data_here' }
|
|
111
|
-
];
|
|
112
|
-
|
|
113
|
-
const multimodalParams: ChatParams = {
|
|
114
|
-
model: 'gemini-pro-vision',
|
|
115
|
-
messages: [
|
|
116
|
-
{ role: 'user', content: multimodalContent }
|
|
117
|
-
]
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
const response = await geminiLLM.ChatCompletion(multimodalParams);
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### Enhanced Reasoning with Effort Level
|
|
124
|
-
|
|
125
|
-
```typescript
|
|
126
|
-
// Use effort level to enable Gemini's full reasoning mode
|
|
127
|
-
const reasoningParams: ChatParams = {
|
|
128
|
-
model: 'gemini-pro',
|
|
129
|
-
messages: [
|
|
130
|
-
{ role: 'user', content: 'Solve this complex logic puzzle...' }
|
|
131
|
-
],
|
|
132
|
-
effortLevel: 'high' // Enables full reasoning mode
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
const response = await geminiLLM.ChatCompletion(reasoningParams);
|
|
136
|
-
```
|
|
59
|
+
import { GeminiLLM } from '@memberjunction/ai-gemini';
|
|
137
60
|
|
|
138
|
-
|
|
61
|
+
const llm = new GeminiLLM('your-google-api-key');
|
|
139
62
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
history: []
|
|
63
|
+
const result = await llm.ChatCompletion({
|
|
64
|
+
model: 'gemini-2.5-flash',
|
|
65
|
+
messages: [
|
|
66
|
+
{ role: 'system', content: 'You are a helpful assistant.' },
|
|
67
|
+
{ role: 'user', content: 'Explain quantum computing.' }
|
|
68
|
+
],
|
|
69
|
+
temperature: 0.7
|
|
148
70
|
});
|
|
149
71
|
```
|
|
150
72
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
Google Gemini provides several models with different capabilities:
|
|
154
|
-
|
|
155
|
-
- `gemini-pro`: General-purpose text model
|
|
156
|
-
- `gemini-pro-vision`: Multimodal model that can process images and text
|
|
157
|
-
- `gemini-ultra`: Google's most advanced model (when available)
|
|
158
|
-
|
|
159
|
-
Check the [Google AI documentation](https://ai.google.dev/models/gemini) for the latest list of supported models.
|
|
160
|
-
|
|
161
|
-
## API Reference
|
|
162
|
-
|
|
163
|
-
### GeminiLLM Class
|
|
164
|
-
|
|
165
|
-
A class that extends BaseLLM to provide Google Gemini-specific functionality.
|
|
166
|
-
|
|
167
|
-
#### Constructor
|
|
73
|
+
### Streaming with Thinking
|
|
168
74
|
|
|
169
75
|
```typescript
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
- `GeminiClient`: (read-only) Returns the underlying GoogleGenAI client instance
|
|
181
|
-
- `SupportsStreaming`: (read-only) Returns `true` - Gemini supports streaming responses
|
|
182
|
-
|
|
183
|
-
#### Methods
|
|
184
|
-
|
|
185
|
-
##### ChatCompletion(params: ChatParams): Promise<ChatResult>
|
|
186
|
-
|
|
187
|
-
Perform a chat completion with Gemini models.
|
|
188
|
-
|
|
189
|
-
**Parameters:**
|
|
190
|
-
- `params`: Chat parameters including model, messages, temperature, etc.
|
|
191
|
-
|
|
192
|
-
**Returns:**
|
|
193
|
-
- Promise resolving to a `ChatResult` with the model's response
|
|
194
|
-
|
|
195
|
-
##### SummarizeText(params: SummarizeParams): Promise<SummarizeResult>
|
|
196
|
-
|
|
197
|
-
Not implemented yet - will throw an error if called.
|
|
198
|
-
|
|
199
|
-
##### ClassifyText(params: ClassifyParams): Promise<ClassifyResult>
|
|
200
|
-
|
|
201
|
-
Not implemented yet - will throw an error if called.
|
|
202
|
-
|
|
203
|
-
#### Static Methods
|
|
204
|
-
|
|
205
|
-
##### MapMJMessageToGeminiHistoryEntry(message: ChatMessage): Content
|
|
206
|
-
|
|
207
|
-
Converts a MemberJunction ChatMessage to Gemini's Content format.
|
|
208
|
-
|
|
209
|
-
**Parameters:**
|
|
210
|
-
- `message`: MemberJunction ChatMessage object
|
|
211
|
-
|
|
212
|
-
**Returns:**
|
|
213
|
-
- Gemini Content object with proper role mapping
|
|
214
|
-
|
|
215
|
-
##### MapMJContentToGeminiParts(content: ChatMessageContent): Array<Part>
|
|
216
|
-
|
|
217
|
-
Converts MemberJunction message content to Gemini Parts array.
|
|
218
|
-
|
|
219
|
-
**Parameters:**
|
|
220
|
-
- `content`: String or array of content parts
|
|
221
|
-
|
|
222
|
-
**Returns:**
|
|
223
|
-
- Array of Gemini Part objects
|
|
224
|
-
|
|
225
|
-
## Response Format Control
|
|
226
|
-
|
|
227
|
-
Control the format of Gemini responses using the `responseFormat` parameter:
|
|
228
|
-
|
|
229
|
-
```typescript
|
|
230
|
-
const params: ChatParams = {
|
|
231
|
-
// ...other parameters
|
|
232
|
-
responseFormat: 'text/plain', // Regular text response
|
|
233
|
-
};
|
|
234
|
-
|
|
235
|
-
// For structured data
|
|
236
|
-
const jsonParams: ChatParams = {
|
|
237
|
-
// ...other parameters
|
|
238
|
-
responseFormat: 'application/json', // Request JSON response
|
|
239
|
-
};
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
## Error Handling
|
|
243
|
-
|
|
244
|
-
The wrapper provides detailed error information:
|
|
76
|
+
const result = await llm.ChatCompletion({
|
|
77
|
+
model: 'gemini-2.5-pro',
|
|
78
|
+
messages: [{ role: 'user', content: 'Solve this math problem step by step.' }],
|
|
79
|
+
effortLevel: '75', // High thinking budget
|
|
80
|
+
streaming: true,
|
|
81
|
+
streamingCallbacks: {
|
|
82
|
+
OnContent: (content) => process.stdout.write(content)
|
|
83
|
+
}
|
|
84
|
+
});
|
|
245
85
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
const response = await geminiLLM.ChatCompletion(params);
|
|
249
|
-
if (!response.success) {
|
|
250
|
-
console.error('Error:', response.errorMessage);
|
|
251
|
-
console.error('Status:', response.statusText);
|
|
252
|
-
console.error('Exception:', response.exception);
|
|
253
|
-
}
|
|
254
|
-
} catch (error) {
|
|
255
|
-
console.error('Exception occurred:', error);
|
|
256
|
-
}
|
|
86
|
+
// Access thinking content
|
|
87
|
+
console.log('Thinking:', result.data.choices[0].message.thinking);
|
|
257
88
|
```
|
|
258
89
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
The wrapper handles proper message formatting and role conversion between MemberJunction's format and Google Gemini's expected format:
|
|
262
|
-
|
|
263
|
-
- MemberJunction's `system` and `user` roles are converted to Gemini's `user` role
|
|
264
|
-
- MemberJunction's `assistant` role is converted to Gemini's `model` role
|
|
265
|
-
- Messages are automatically spaced to ensure alternating roles as required by Gemini
|
|
266
|
-
- Multimodal content is properly converted with appropriate MIME types
|
|
267
|
-
|
|
268
|
-
## Content Type Support
|
|
269
|
-
|
|
270
|
-
The wrapper supports various content types with automatic MIME type mapping:
|
|
271
|
-
|
|
272
|
-
- **Text**: Standard text messages
|
|
273
|
-
- **Images**: `image_url` type → `image/jpeg` MIME type
|
|
274
|
-
- **Audio**: `audio_url` type → `audio/mpeg` MIME type
|
|
275
|
-
- **Video**: `video_url` type → `video/mp4` MIME type
|
|
276
|
-
- **Files**: `file_url` type → `application/octet-stream` MIME type
|
|
277
|
-
|
|
278
|
-
## Integration with MemberJunction
|
|
279
|
-
|
|
280
|
-
This package is designed to work seamlessly with the MemberJunction AI framework:
|
|
90
|
+
### Image Generation
|
|
281
91
|
|
|
282
92
|
```typescript
|
|
283
|
-
import {
|
|
284
|
-
import { GeminiLLM } from '@memberjunction/ai-gemini';
|
|
93
|
+
import { GeminiImageGenerator } from '@memberjunction/ai-gemini';
|
|
285
94
|
|
|
286
|
-
|
|
287
|
-
const aiEngine = new AIEngine();
|
|
288
|
-
const geminiProvider = new GeminiLLM('your-api-key');
|
|
95
|
+
const generator = new GeminiImageGenerator('your-google-api-key');
|
|
289
96
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
messages: [/* ... */]
|
|
97
|
+
const result = await generator.GenerateImage({
|
|
98
|
+
prompt: 'A futuristic city at night',
|
|
99
|
+
model: 'gemini-3-pro-image-preview',
|
|
100
|
+
size: '2048x2048'
|
|
295
101
|
});
|
|
296
102
|
```
|
|
297
103
|
|
|
298
|
-
##
|
|
299
|
-
|
|
300
|
-
- **Streaming**: Use streaming for long responses to improve perceived performance
|
|
301
|
-
- **Effort Level**: Use the `effortLevel` parameter judiciously as it increases latency and cost
|
|
302
|
-
- **Model Selection**: Choose the appropriate model based on your needs (text-only vs multimodal)
|
|
303
|
-
- **Message Spacing**: The wrapper automatically handles message spacing, adding minimal overhead
|
|
104
|
+
## Thinking Budget / Effort Level
|
|
304
105
|
|
|
305
|
-
|
|
106
|
+
The provider maps MJ effort levels to Gemini's thinking system:
|
|
306
107
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
-
|
|
310
|
-
-
|
|
311
|
-
-
|
|
312
|
-
-
|
|
313
|
-
- ❌ Detailed token usage reporting (Gemini doesn't provide this)
|
|
314
|
-
|
|
315
|
-
## Dependencies
|
|
316
|
-
|
|
317
|
-
- `@google/genai` (v0.14.0): Official Google GenAI SDK
|
|
318
|
-
- `@memberjunction/ai` (v2.43.0): MemberJunction AI core framework
|
|
319
|
-
- `@memberjunction/global` (v2.43.0): MemberJunction global utilities
|
|
320
|
-
|
|
321
|
-
## Development
|
|
322
|
-
|
|
323
|
-
### Building
|
|
324
|
-
|
|
325
|
-
```bash
|
|
326
|
-
npm run build
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
### Testing
|
|
330
|
-
|
|
331
|
-
Tests are not currently implemented. To add tests:
|
|
332
|
-
|
|
333
|
-
```bash
|
|
334
|
-
npm test
|
|
335
|
-
```
|
|
108
|
+
| Effort Level | Gemini 2.5 (Budget) | Gemini 3+ (Level) |
|
|
109
|
+
|-------------|---------------------|-------------------|
|
|
110
|
+
| 1-5 (Flash only) | 0 (disabled) | MINIMAL |
|
|
111
|
+
| 1-33 | 1024-4096 | LOW |
|
|
112
|
+
| 34-66 | 4097-12288 | MEDIUM |
|
|
113
|
+
| 67-100 | 12289-24576 | HIGH |
|
|
336
114
|
|
|
337
115
|
## Supported Parameters
|
|
338
116
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
117
|
+
| Parameter | Supported | Notes |
|
|
118
|
+
|-----------|-----------|-------|
|
|
119
|
+
| temperature | Yes | Default 0.5 |
|
|
120
|
+
| topP | Yes | Nucleus sampling |
|
|
121
|
+
| topK | Yes | Top-K sampling |
|
|
122
|
+
| seed | Yes | Deterministic outputs |
|
|
123
|
+
| stopSequences | Yes | Custom stop sequences |
|
|
124
|
+
| effortLevel | Yes | Maps to thinking budget/level |
|
|
125
|
+
| responseFormat | Yes | JSON and text modes |
|
|
126
|
+
| streaming | Yes | Real-time streaming |
|
|
127
|
+
| frequencyPenalty | No | Not supported by Gemini |
|
|
128
|
+
| presencePenalty | No | Not supported by Gemini |
|
|
129
|
+
| minP | No | Not supported by Gemini |
|
|
130
|
+
|
|
131
|
+
## Class Registration
|
|
132
|
+
|
|
133
|
+
- `GeminiLLM` -- Registered via `@RegisterClass(BaseLLM, 'GeminiLLM')`
|
|
134
|
+
- `GeminiImageGenerator` -- Registered via `@RegisterClass(BaseImageGenerator, 'GeminiImageGenerator')`
|
|
354
135
|
|
|
355
|
-
##
|
|
356
|
-
|
|
357
|
-
ISC
|
|
358
|
-
|
|
359
|
-
## Contributing
|
|
136
|
+
## Dependencies
|
|
360
137
|
|
|
361
|
-
|
|
138
|
+
- `@memberjunction/ai` - Core AI abstractions
|
|
139
|
+
- `@memberjunction/global` - Class registration
|
|
140
|
+
- `@google/genai` - Google GenAI SDK
|