Skip to content

Commit 3608c0b

Browse files
committed
Include Groq provider
1 parent 8043bf9 commit 3608c0b

File tree

4 files changed

+216
-2
lines changed

4 files changed

+216
-2
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"@jupyterlab/rendermime": "^4.2.0",
6262
"@jupyterlab/settingregistry": "^4.2.0",
6363
"@langchain/core": "^0.3.13",
64+
"@langchain/groq": "^0.1.2",
6465
"@langchain/mistralai": "^0.1.1",
6566
"@lumino/coreutils": "^2.1.2",
6667
"@lumino/polling": "^2.1.2",

schema/ai-provider.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"title": "The AI provider",
99
"description": "The AI provider to use for chat and completion",
1010
"default": "None",
11-
"enum": ["None", "MistralAI"]
11+
"enum": ["None", "MistralAI", "Groq"]
1212
},
1313
"apiKey": {
1414
"type": "string",

src/llm-models/utils.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { BaseChatModel } from '@langchain/core/language_models/chat_models';
22
import { ChatMistralAI } from '@langchain/mistralai';
3+
import { ChatGroq } from '@langchain/groq';
34
import { IBaseCompleter } from './base-completer';
45
import { CodestralCompleter } from './codestral-completer';
56
import { ReadonlyPartialJSONObject } from '@lumino/coreutils';
@@ -26,6 +27,8 @@ export function getChatModel(
2627
): BaseChatModel | null {
2728
if (name === 'MistralAI') {
2829
return new ChatMistralAI({ ...settings });
30+
} else if (name === 'Groq') {
31+
return new ChatGroq({ ...settings });
2932
}
3033
return null;
3134
}
@@ -36,6 +39,8 @@ export function getChatModel(
3639
export function getErrorMessage(name: string, error: any): string {
3740
if (name === 'MistralAI') {
3841
return error.message;
42+
} else if (name === 'Groq') {
43+
return error.error.error.message;
3944
}
4045
return 'Unknown provider';
4146
}

yarn.lock

Lines changed: 209 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1520,6 +1520,20 @@ __metadata:
15201520
languageName: node
15211521
linkType: hard
15221522

1523+
"@langchain/groq@npm:^0.1.2":
1524+
version: 0.1.2
1525+
resolution: "@langchain/groq@npm:0.1.2"
1526+
dependencies:
1527+
"@langchain/openai": ~0.3.0
1528+
groq-sdk: ^0.5.0
1529+
zod: ^3.22.4
1530+
zod-to-json-schema: ^3.22.5
1531+
peerDependencies:
1532+
"@langchain/core": ">=0.2.21 <0.4.0"
1533+
checksum: 79da224a6428f1350d5e0bc91b5a3cde5ed03c1aaa3524f2216b60954a9790ed0a0299faff562d4517219dc173bbf235bfd1bb53160a72ce8852d4718af8cf84
1534+
languageName: node
1535+
linkType: hard
1536+
15231537
"@langchain/mistralai@npm:^0.1.1":
15241538
version: 0.1.1
15251539
resolution: "@langchain/mistralai@npm:0.1.1"
@@ -1534,6 +1548,20 @@ __metadata:
15341548
languageName: node
15351549
linkType: hard
15361550

1551+
"@langchain/openai@npm:~0.3.0":
1552+
version: 0.3.11
1553+
resolution: "@langchain/openai@npm:0.3.11"
1554+
dependencies:
1555+
js-tiktoken: ^1.0.12
1556+
openai: ^4.68.0
1557+
zod: ^3.22.4
1558+
zod-to-json-schema: ^3.22.3
1559+
peerDependencies:
1560+
"@langchain/core": ">=0.2.26 <0.4.0"
1561+
checksum: ea0fe974320a387469b91312c2a2a0ee80f194c7954b8aca0d8ab9cf68fd25ef74663af2e644d217257f2317dee2ac04ff0006b5dd9d3701f52daabfa097d868
1562+
languageName: node
1563+
linkType: hard
1564+
15371565
"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0, @lezer/common@npm:^1.2.1":
15381566
version: 1.2.1
15391567
resolution: "@lezer/common@npm:1.2.1"
@@ -2272,6 +2300,16 @@ __metadata:
22722300
languageName: node
22732301
linkType: hard
22742302

2303+
"@types/node-fetch@npm:^2.6.4":
2304+
version: 2.6.11
2305+
resolution: "@types/node-fetch@npm:2.6.11"
2306+
dependencies:
2307+
"@types/node": "*"
2308+
form-data: ^4.0.0
2309+
checksum: 180e4d44c432839bdf8a25251ef8c47d51e37355ddd78c64695225de8bc5dc2b50b7bb855956d471c026bb84bd7295688a0960085e7158cbbba803053492568b
2310+
languageName: node
2311+
linkType: hard
2312+
22752313
"@types/node@npm:*":
22762314
version: 20.14.2
22772315
resolution: "@types/node@npm:20.14.2"
@@ -2281,6 +2319,15 @@ __metadata:
22812319
languageName: node
22822320
linkType: hard
22832321

2322+
"@types/node@npm:^18.11.18":
2323+
version: 18.19.64
2324+
resolution: "@types/node@npm:18.19.64"
2325+
dependencies:
2326+
undici-types: ~5.26.4
2327+
checksum: e7680215b03c9bee8a33947f03d06048e8e460f23b1b7b29c45350cf437faa5f8fcb7d8c3eb8dfec8427923e7a184df42bc710c1b6252b4852e3ed7064c6228f
2328+
languageName: node
2329+
linkType: hard
2330+
22842331
"@types/normalize-package-data@npm:^2.4.0":
22852332
version: 2.4.4
22862333
resolution: "@types/normalize-package-data@npm:2.4.4"
@@ -2705,6 +2752,15 @@ __metadata:
27052752
languageName: node
27062753
linkType: hard
27072754

2755+
"abort-controller@npm:^3.0.0":
2756+
version: 3.0.0
2757+
resolution: "abort-controller@npm:3.0.0"
2758+
dependencies:
2759+
event-target-shim: ^5.0.0
2760+
checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75
2761+
languageName: node
2762+
linkType: hard
2763+
27082764
"acorn-import-assertions@npm:^1.9.0":
27092765
version: 1.9.0
27102766
resolution: "acorn-import-assertions@npm:1.9.0"
@@ -2732,6 +2788,15 @@ __metadata:
27322788
languageName: node
27332789
linkType: hard
27342790

2791+
"agentkeepalive@npm:^4.2.1":
2792+
version: 4.5.0
2793+
resolution: "agentkeepalive@npm:4.5.0"
2794+
dependencies:
2795+
humanize-ms: ^1.2.1
2796+
checksum: 13278cd5b125e51eddd5079f04d6fe0914ac1b8b91c1f3db2c1822f99ac1a7457869068997784342fe455d59daaff22e14fb7b8c3da4e741896e7e31faf92481
2797+
languageName: node
2798+
linkType: hard
2799+
27352800
"ajv-formats@npm:^2.1.1":
27362801
version: 2.1.1
27372802
resolution: "ajv-formats@npm:2.1.1"
@@ -2890,6 +2955,13 @@ __metadata:
28902955
languageName: node
28912956
linkType: hard
28922957

2958+
"asynckit@npm:^0.4.0":
2959+
version: 0.4.0
2960+
resolution: "asynckit@npm:0.4.0"
2961+
checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be
2962+
languageName: node
2963+
linkType: hard
2964+
28932965
"available-typed-arrays@npm:^1.0.7":
28942966
version: 1.0.7
28952967
resolution: "available-typed-arrays@npm:1.0.7"
@@ -3125,6 +3197,15 @@ __metadata:
31253197
languageName: node
31263198
linkType: hard
31273199

3200+
"combined-stream@npm:^1.0.8":
3201+
version: 1.0.8
3202+
resolution: "combined-stream@npm:1.0.8"
3203+
dependencies:
3204+
delayed-stream: ~1.0.0
3205+
checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c
3206+
languageName: node
3207+
linkType: hard
3208+
31283209
"commander@npm:^10.0.1":
31293210
version: 10.0.1
31303211
resolution: "commander@npm:10.0.1"
@@ -3424,6 +3505,13 @@ __metadata:
34243505
languageName: node
34253506
linkType: hard
34263507

3508+
"delayed-stream@npm:~1.0.0":
3509+
version: 1.0.0
3510+
resolution: "delayed-stream@npm:1.0.0"
3511+
checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020
3512+
languageName: node
3513+
linkType: hard
3514+
34273515
"dir-glob@npm:^3.0.1":
34283516
version: 3.0.1
34293517
resolution: "dir-glob@npm:3.0.1"
@@ -3857,6 +3945,13 @@ __metadata:
38573945
languageName: node
38583946
linkType: hard
38593947

3948+
"event-target-shim@npm:^5.0.0":
3949+
version: 5.0.1
3950+
resolution: "event-target-shim@npm:5.0.1"
3951+
checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166
3952+
languageName: node
3953+
linkType: hard
3954+
38603955
"eventemitter3@npm:^4.0.4":
38613956
version: 4.0.7
38623957
resolution: "eventemitter3@npm:4.0.7"
@@ -4035,6 +4130,34 @@ __metadata:
40354130
languageName: node
40364131
linkType: hard
40374132

4133+
"form-data-encoder@npm:1.7.2":
4134+
version: 1.7.2
4135+
resolution: "form-data-encoder@npm:1.7.2"
4136+
checksum: aeebd87a1cb009e13cbb5e4e4008e6202ed5f6551eb6d9582ba8a062005178907b90f4887899d3c993de879159b6c0c940af8196725b428b4248cec5af3acf5f
4137+
languageName: node
4138+
linkType: hard
4139+
4140+
"form-data@npm:^4.0.0":
4141+
version: 4.0.1
4142+
resolution: "form-data@npm:4.0.1"
4143+
dependencies:
4144+
asynckit: ^0.4.0
4145+
combined-stream: ^1.0.8
4146+
mime-types: ^2.1.12
4147+
checksum: ccee458cd5baf234d6b57f349fe9cc5f9a2ea8fd1af5ecda501a18fd1572a6dd3bf08a49f00568afd995b6a65af34cb8dec083cf9d582c4e621836499498dd84
4148+
languageName: node
4149+
linkType: hard
4150+
4151+
"formdata-node@npm:^4.3.2":
4152+
version: 4.4.1
4153+
resolution: "formdata-node@npm:4.4.1"
4154+
dependencies:
4155+
node-domexception: 1.0.0
4156+
web-streams-polyfill: 4.0.0-beta.3
4157+
checksum: d91d4f667cfed74827fc281594102c0dabddd03c9f8b426fc97123eedbf73f5060ee43205d89284d6854e2fc5827e030cd352ef68b93beda8decc2d72128c576
4158+
languageName: node
4159+
linkType: hard
4160+
40384161
"free-style@npm:3.1.0":
40394162
version: 3.1.0
40404163
resolution: "free-style@npm:3.1.0"
@@ -4268,6 +4391,22 @@ __metadata:
42684391
languageName: node
42694392
linkType: hard
42704393

4394+
"groq-sdk@npm:^0.5.0":
4395+
version: 0.5.0
4396+
resolution: "groq-sdk@npm:0.5.0"
4397+
dependencies:
4398+
"@types/node": ^18.11.18
4399+
"@types/node-fetch": ^2.6.4
4400+
abort-controller: ^3.0.0
4401+
agentkeepalive: ^4.2.1
4402+
form-data-encoder: 1.7.2
4403+
formdata-node: ^4.3.2
4404+
node-fetch: ^2.6.7
4405+
web-streams-polyfill: ^3.2.1
4406+
checksum: 051ca56e99e4a2440080943c831b109687dd346b24155d3f085113df1ad0639cb95724c14a05611f7314d340db8bf342af425eb11905c97bc6a6948cd7262f04
4407+
languageName: node
4408+
linkType: hard
4409+
42714410
"hard-rejection@npm:^2.1.0":
42724411
version: 2.1.0
42734412
resolution: "hard-rejection@npm:2.1.0"
@@ -4381,6 +4520,15 @@ __metadata:
43814520
languageName: node
43824521
linkType: hard
43834522

4523+
"humanize-ms@npm:^1.2.1":
4524+
version: 1.2.1
4525+
resolution: "humanize-ms@npm:1.2.1"
4526+
dependencies:
4527+
ms: ^2.0.0
4528+
checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16
4529+
languageName: node
4530+
linkType: hard
4531+
43844532
"iconv-lite@npm:^0.6.2":
43854533
version: 0.6.3
43864534
resolution: "iconv-lite@npm:0.6.3"
@@ -4884,6 +5032,7 @@ __metadata:
48845032
"@jupyterlab/rendermime": ^4.2.0
48855033
"@jupyterlab/settingregistry": ^4.2.0
48865034
"@langchain/core": ^0.3.13
5035+
"@langchain/groq": ^0.1.2
48875036
"@langchain/mistralai": ^0.1.1
48885037
"@lumino/coreutils": ^2.1.2
48895038
"@lumino/polling": ^2.1.2
@@ -5209,7 +5358,7 @@ __metadata:
52095358
languageName: node
52105359
linkType: hard
52115360

5212-
"mime-types@npm:^2.1.27":
5361+
"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27":
52135362
version: 2.1.35
52145363
resolution: "mime-types@npm:2.1.35"
52155364
dependencies:
@@ -5305,6 +5454,13 @@ __metadata:
53055454
languageName: node
53065455
linkType: hard
53075456

5457+
"ms@npm:^2.0.0":
5458+
version: 2.1.3
5459+
resolution: "ms@npm:2.1.3"
5460+
checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d
5461+
languageName: node
5462+
linkType: hard
5463+
53085464
"mustache@npm:^4.2.0":
53095465
version: 4.2.0
53105466
resolution: "mustache@npm:4.2.0"
@@ -5344,6 +5500,13 @@ __metadata:
53445500
languageName: node
53455501
linkType: hard
53465502

5503+
"node-domexception@npm:1.0.0":
5504+
version: 1.0.0
5505+
resolution: "node-domexception@npm:1.0.0"
5506+
checksum: ee1d37dd2a4eb26a8a92cd6b64dfc29caec72bff5e1ed9aba80c294f57a31ba4895a60fd48347cf17dd6e766da0ae87d75657dfd1f384ebfa60462c2283f5c7f
5507+
languageName: node
5508+
linkType: hard
5509+
53475510
"node-fetch@npm:^2.6.7":
53485511
version: 2.7.0
53495512
resolution: "node-fetch@npm:2.7.0"
@@ -5459,6 +5622,28 @@ __metadata:
54595622
languageName: node
54605623
linkType: hard
54615624

5625+
"openai@npm:^4.68.0":
5626+
version: 4.70.3
5627+
resolution: "openai@npm:4.70.3"
5628+
dependencies:
5629+
"@types/node": ^18.11.18
5630+
"@types/node-fetch": ^2.6.4
5631+
abort-controller: ^3.0.0
5632+
agentkeepalive: ^4.2.1
5633+
form-data-encoder: 1.7.2
5634+
formdata-node: ^4.3.2
5635+
node-fetch: ^2.6.7
5636+
peerDependencies:
5637+
zod: ^3.23.8
5638+
peerDependenciesMeta:
5639+
zod:
5640+
optional: true
5641+
bin:
5642+
openai: bin/cli
5643+
checksum: 6aa40cb8362b966f56dd10c31e2d60ba97989f4d1d3fe18602838b1be49b38bc1ae412b8ebd97a518e450ac2bca71e312508059da1656c0eef015cdfcccfed1f
5644+
languageName: node
5645+
linkType: hard
5646+
54625647
"optionator@npm:^0.9.3":
54635648
version: 0.9.4
54645649
resolution: "optionator@npm:0.9.4"
@@ -7183,6 +7368,20 @@ __metadata:
71837368
languageName: node
71847369
linkType: hard
71857370

7371+
"web-streams-polyfill@npm:4.0.0-beta.3":
7372+
version: 4.0.0-beta.3
7373+
resolution: "web-streams-polyfill@npm:4.0.0-beta.3"
7374+
checksum: dfec1fbf52b9140e4183a941e380487b6c3d5d3838dd1259be81506c1c9f2abfcf5aeb670aeeecfd9dff4271a6d8fef931b193c7bedfb42542a3b05ff36c0d16
7375+
languageName: node
7376+
linkType: hard
7377+
7378+
"web-streams-polyfill@npm:^3.2.1":
7379+
version: 3.3.3
7380+
resolution: "web-streams-polyfill@npm:3.3.3"
7381+
checksum: 21ab5ea08a730a2ef8023736afe16713b4f2023ec1c7085c16c8e293ee17ed085dff63a0ad8722da30c99c4ccbd4ccd1b2e79c861829f7ef2963d7de7004c2cb
7382+
languageName: node
7383+
linkType: hard
7384+
71867385
"webidl-conversions@npm:^3.0.0":
71877386
version: 3.0.1
71887387
resolution: "webidl-conversions@npm:3.0.1"
@@ -7507,6 +7706,15 @@ __metadata:
75077706
languageName: node
75087707
linkType: hard
75097708

7709+
"zod-to-json-schema@npm:^3.22.5":
7710+
version: 3.23.5
7711+
resolution: "zod-to-json-schema@npm:3.23.5"
7712+
peerDependencies:
7713+
zod: ^3.23.3
7714+
checksum: 3ac37128d1b989b027e55684201e1da90237f0955dc9bb40da013bc60f2ed23c57026df2fdc14da187be4d53873daad08210807c28c0dde4375c9df0e5fe7901
7715+
languageName: node
7716+
linkType: hard
7717+
75107718
"zod@npm:^3.22.4":
75117719
version: 3.23.8
75127720
resolution: "zod@npm:3.23.8"

0 commit comments

Comments
 (0)