From eadbedb713d1bd26773ea357b4d5cd42563fde8c Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Sat, 2 Aug 2025 17:14:34 +0530 Subject: [PATCH] feat(groq): switch to `@langchain/groq` for better handling --- package.json | 1 + src/lib/providers/groq.ts | 12 +++--------- yarn.lock | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 9e9137f..5715c2a 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@langchain/community": "^0.3.49", "@langchain/core": "^0.3.66", "@langchain/google-genai": "^0.2.15", + "@langchain/groq": "^0.2.3", "@langchain/ollama": "^0.2.3", "@langchain/openai": "^0.6.2", "@langchain/textsplitters": "^0.1.0", diff --git a/src/lib/providers/groq.ts b/src/lib/providers/groq.ts index 6a196ee..4e7db51 100644 --- a/src/lib/providers/groq.ts +++ b/src/lib/providers/groq.ts @@ -1,4 +1,4 @@ -import { ChatOpenAI } from '@langchain/openai'; +import { ChatGroq } from '@langchain/groq'; import { getGroqApiKey } from '../config'; import { ChatModel } from '.'; @@ -28,16 +28,10 @@ export const loadGroqChatModels = async () => { groqChatModels.forEach((model: any) => { chatModels[model.id] = { displayName: model.id, - model: new ChatOpenAI({ + model: new ChatGroq({ apiKey: groqApiKey, - modelName: model.id, + model: model.id, temperature: 0.7, - configuration: { - baseURL: 'https://api.groq.com/openai/v1', - }, - metadata: { - 'model-type': 'groq', - }, }) as unknown as BaseChatModel, }; }); diff --git a/yarn.lock b/yarn.lock index b8893e7..8a6859a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -653,6 +653,14 @@ "@google/generative-ai" "^0.24.0" uuid "^11.1.0" +"@langchain/groq@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@langchain/groq/-/groq-0.2.3.tgz#3bfcbfc827cf469df3a1b5bb9799f4b0212b4625" + integrity sha512-r+yjysG36a0IZxTlCMr655Feumfb4IrOyA0jLLq4l7gEhVyMpYXMwyE6evseyU2LRP+7qOPbGRVpGqAIK0MsUA== + dependencies: + groq-sdk "^0.19.0" + zod "^3.22.4" + "@langchain/ollama@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@langchain/ollama/-/ollama-0.2.3.tgz#4868e66db4fc480f08c42fc652274abbab0416f0" @@ -2732,6 +2740,19 @@ graphql@^16.11.0: resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.11.0.tgz#96d17f66370678027fdf59b2d4c20b4efaa8a633" integrity sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw== +groq-sdk@^0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/groq-sdk/-/groq-sdk-0.19.0.tgz#564ce018172dc3e2e2793398e0227a035a357d09" + integrity sha512-vdh5h7ORvwvOvutA80dKF81b0gPWHxu6K/GOJBOM0n6p6CSqAVLhFfeS79Ef0j/yCycDR09jqY7jkYz9dLiS6w== + dependencies: + "@types/node" "^18.11.18" + "@types/node-fetch" "^2.6.4" + abort-controller "^3.0.0" + agentkeepalive "^4.2.1" + form-data-encoder "1.7.2" + formdata-node "^4.3.2" + node-fetch "^2.6.7" + guid-typescript@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/guid-typescript/-/guid-typescript-1.0.9.tgz#e35f77003535b0297ea08548f5ace6adb1480ddc"