modelmix 4.0.2 → 4.0.6
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 +4 -4
- package/demo/default.env +1 -1
- package/index.js +2 -8
- package/package.json +2 -2
- package/test/README.md +1 -1
- package/test/setup.js +1 -1
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ ANTHROPIC_API_KEY="sk-ant-..."
|
|
|
29
29
|
OPENAI_API_KEY="sk-proj-..."
|
|
30
30
|
MINIMAX_API_KEY="your-minimax-key..."
|
|
31
31
|
...
|
|
32
|
-
|
|
32
|
+
GEMINI_API_KEY="AIza..."
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
3. **Create and configure your models**:
|
|
@@ -133,9 +133,9 @@ Here's a comprehensive list of available methods:
|
|
|
133
133
|
| `sonnet4[think]()` | Anthropic | claude-sonnet-4-20250514 | [\$3.00 / \$15.00][2] |
|
|
134
134
|
| `haiku35()` | Anthropic | claude-3-5-haiku-20241022 | [\$0.80 / \$4.00][2] |
|
|
135
135
|
| `haiku45[think]()` | Anthropic | claude-haiku-4-5-20251001 | [\$1.00 / \$5.00][2] |
|
|
136
|
-
| `
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
136
|
+
| `gemini3pro()` | Google | gemini-3-pro-preview | [\$2.00 / \$12.00][3] |
|
|
137
|
+
| `gemini25pro()` | Google | gemini-2.5-pro | [\$1.25 / \$10.00][3] |
|
|
138
|
+
| `gemini25flash()` | Google | gemini-2.5-flash | [\$0.30 / \$2.50][3] |
|
|
139
139
|
| `grok3()` | Grok | grok-3 | [\$3.00 / \$15.00][6] |
|
|
140
140
|
| `grok3mini()` | Grok | grok-3-mini | [\$0.30 / \$0.50][6] |
|
|
141
141
|
| `grok4()` | Grok | grok-4-0709 | [\$3.00 / \$15.00][6] |
|
package/demo/default.env
CHANGED
package/index.js
CHANGED
|
@@ -159,12 +159,6 @@ class ModelMix {
|
|
|
159
159
|
gemini25pro({ options = {}, config = {} } = {}) {
|
|
160
160
|
return this.attach('gemini-2.5-pro', new MixGoogle({ options, config }));
|
|
161
161
|
}
|
|
162
|
-
gemini25proExp({ options = {}, config = {} } = {}) {
|
|
163
|
-
return this.attach('gemini-2.5-pro-exp-03-25', new MixGoogle({ options, config }));
|
|
164
|
-
}
|
|
165
|
-
gemini25pro({ options = {}, config = {} } = {}) {
|
|
166
|
-
return this.attach('gemini-2.5-pro-preview-05-06', new MixGoogle({ options, config }));
|
|
167
|
-
}
|
|
168
162
|
sonarPro({ options = {}, config = {} } = {}) {
|
|
169
163
|
return this.attach('sonar-pro', new MixPerplexity({ options, config }));
|
|
170
164
|
}
|
|
@@ -1527,7 +1521,7 @@ class MixGoogle extends MixCustom {
|
|
|
1527
1521
|
getDefaultConfig(customConfig) {
|
|
1528
1522
|
return super.getDefaultConfig({
|
|
1529
1523
|
url: 'https://generativelanguage.googleapis.com/v1beta/models',
|
|
1530
|
-
apiKey: process.env.
|
|
1524
|
+
apiKey: process.env.GEMINI_API_KEY,
|
|
1531
1525
|
});
|
|
1532
1526
|
}
|
|
1533
1527
|
|
|
@@ -1604,7 +1598,7 @@ class MixGoogle extends MixCustom {
|
|
|
1604
1598
|
|
|
1605
1599
|
async create({ config = {}, options = {} } = {}) {
|
|
1606
1600
|
if (!this.config.apiKey) {
|
|
1607
|
-
throw new Error('
|
|
1601
|
+
throw new Error('Gemini API key not found. Please provide it in config or set GEMINI_API_KEY environment variable.');
|
|
1608
1602
|
}
|
|
1609
1603
|
|
|
1610
1604
|
const generateContentApi = options.stream ? 'streamGenerateContent' : 'generateContent';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "modelmix",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.6",
|
|
4
4
|
"description": "🧬 ModelMix - Unified API for Diverse AI LLM.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"homepage": "https://github.com/clasen/ModelMix#readme",
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
50
|
+
"@modelcontextprotocol/sdk": "^1.23.0",
|
|
51
51
|
"axios": "^1.12.2",
|
|
52
52
|
"bottleneck": "^2.19.5",
|
|
53
53
|
"file-type": "^16.5.4",
|
package/test/README.md
CHANGED
|
@@ -19,7 +19,7 @@ These tests require actual API keys and test the complete integration:
|
|
|
19
19
|
# Set API keys first
|
|
20
20
|
export OPENAI_API_KEY="sk-..."
|
|
21
21
|
export ANTHROPIC_API_KEY="sk-ant-..."
|
|
22
|
-
export
|
|
22
|
+
export GEMINI_API_KEY="AIza..."
|
|
23
23
|
|
|
24
24
|
# Run only live integration tests
|
|
25
25
|
npm test -- --grep "Live Integration"
|
package/test/setup.js
CHANGED
|
@@ -26,7 +26,7 @@ process.env.GROQ_API_KEY = process.env.GROQ_API_KEY || 'gsk_test-dummy-key-for-t
|
|
|
26
26
|
process.env.TOGETHER_API_KEY = process.env.TOGETHER_API_KEY || '49a96test-dummy-key-for-testing-purposes';
|
|
27
27
|
process.env.XAI_API_KEY = process.env.XAI_API_KEY || 'xai-test-dummy-key-for-testing-purposes';
|
|
28
28
|
process.env.CEREBRAS_API_KEY = process.env.CEREBRAS_API_KEY || 'csk-test-dummy-key-for-testing-purposes';
|
|
29
|
-
process.env.
|
|
29
|
+
process.env.GEMINI_API_KEY = process.env.GEMINI_API_KEY || 'AIzatest-dummy-key-for-testing-purposes';
|
|
30
30
|
process.env.LAMBDA_API_KEY = process.env.LAMBDA_API_KEY || 'secret_test-dummy-key-for-testing-purposes';
|
|
31
31
|
process.env.BRAVE_API_KEY = process.env.BRAVE_API_KEY || 'BSA0test-dummy-key-for-testing-purposes_fm';
|
|
32
32
|
|