Repository: raycast/extensions
Pull request #18200: [Groq] Update models
Author: login: dezik
Labels: name: extension fix / improvement
description: Label for PRs with extension's fix improvements
name: extension: groq
description: Issues related to the groq extension
Created: 2025-03-28T09:24:33Z | Merged: 2025-03-29T20:13:12Z

## Description

- Removed deprecated `Mixtral 8x7B 32k`
- Added `DeepSeek R1 32B 128K`
- Added `Qwen 2.5 32B 128K`
- Added `Qwen 2.5 Coder 32B 128K`
- Added `Mistral Saba 24B 32K`

## Screencast

<!-- If you add a new extension or command, include a screencast (or screenshot for straightforward changes). A good screencast will make the review much faster - especially if your extension requires registration in other services.  -->

## Checklist

- [X] I read the [extension guidelines](https://developers.raycast.com/basics/prepare-an-extension-for-store)
- [X] I read the [documentation about publishing](https://developers.raycast.com/basics/publish-an-extension)
- [X] I ran `npm run build` and [tested this distribution build in Raycast](https://developers.raycast.com/basics/prepare-an-extension-for-store#metadata-and-configuration)
- [X] I checked that files in the `assets` folder are used by the extension itself
- [X] I checked that assets used by the `README` are placed outside of the `metadata` folder



Diff:
diff --git a/extensions/groq/CHANGELOG.md b/extensions/groq/CHANGELOG.md
index f3104f4e955..2501c1a2936 100644
--- a/extensions/groq/CHANGELOG.md
+++ b/extensions/groq/CHANGELOG.md
@@ -1,8 +1,17 @@
 # Groq Changelog
 
+## [Updated Models] - 2025-03-29
+
+- Removed deprecated `Mixtral 8x7B 32k`
+- Added `DeepSeek R1 32B 128K`
+- Added `Qwen 2.5 32B 128K`
+- Added `Qwen 2.5 Coder 32B 128K`
+- Added `Qwen QWQ 32B 128K`
+- Added `Mistral Saba 24B 32K`
+
 ## [Updated Models] - 2025-02-09
 
-- Removed depreacted `Gemma 7B 8k`
+- Removed deprecated `Gemma 7B 8k`
 - Added reasoning formatting for thinking models
 
 ## [New Models] - 2025-01-27
diff --git a/extensions/groq/package.json b/extensions/groq/package.json
index 2554601e5e2..ec6a1ce2ce2 100644
--- a/extensions/groq/package.json
+++ b/extensions/groq/package.json
@@ -5,6 +5,9 @@
   "description": "Use the powerful models via Groq from the comfort of Raycast.",
   "icon": "groq.png",
   "author": "ilian",
+  "contributors": [
+    "dez_dezsson"
+  ],
   "categories": [
     "Productivity",
     "Developer Tools",
@@ -34,6 +37,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -55,12 +62,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -96,6 +115,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -117,12 +140,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -158,6 +193,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -179,12 +218,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -220,6 +271,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -241,12 +296,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -282,6 +349,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -303,12 +374,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -344,6 +427,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -365,12 +452,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -422,6 +521,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -443,12 +546,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -501,6 +616,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -522,12 +641,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -564,6 +695,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -585,12 +720,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -627,6 +774,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -648,12 +799,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -690,6 +853,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -711,12 +878,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -753,6 +932,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -774,12 +957,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -816,6 +1011,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -837,12 +1036,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -879,6 +1090,10 @@
               "value": "deepseek-r1-distill-llama-70b",
               "title": "DeepSeek R1 70B 128k"
             },
+            {
+              "value": "deepseek-r1-distill-qwen-32b",
+              "title": "DeepSeek R1 32B 128K"
+            },
             {
               "value": "llama-3.3-70b-versatile",
               "title": "Llama 3.3 70B 128k"
@@ -900,12 +1115,24 @@
               "title": "Llama 3 8B 8k"
             },
             {
-              "value": "mixtral-8x7b-32768",
-              "title": "Mixtral 8x7B 32k"
+              "value": "mistral-saba-24b",
+              "title": "Mistral Saba 24B 32K"
             },
             {
               "value": "gemma2-9b-it",
               "title": "Gemma2 9B 8k"
+            },
+            {
+              "value": "qwen-2.5-32b",
+              "title": "Qwen 2.5 32B 128K"
+            },
+            {
+              "value": "qwen-2.5-coder-32b",
+              "title": "Qwen 2.5 Coder 32B 128K"
+            },
+            {
+              "value": "qwen-qwq-32b",
+              "title": "Qwen QWQ 32B 128K"
             }
           ]
         }
@@ -933,6 +1160,10 @@
           "value": "deepseek-r1-distill-llama-70b",
           "title": "DeepSeek R1 70B 128k"
         },
+        {
+          "value": "deepseek-r1-distill-qwen-32b",
+          "title": "DeepSeek R1 32B 128K"
+        },
         {
           "value": "llama-3.3-70b-versatile",
           "title": "Llama 3.3 70B 128k"
@@ -954,12 +1185,24 @@
           "title": "Llama 3 8B 8k"
         },
         {
-          "value": "mixtral-8x7b-32768",
-          "title": "Mixtral 8x7B 32k"
+          "value": "mistral-saba-24b",
+          "title": "Mistral Saba 24B 32K"
         },
         {
           "value": "gemma2-9b-it",
           "title": "Gemma2 9B 8k"
+        },
+        {
+          "value": "qwen-2.5-32b",
+          "title": "Qwen 2.5 32B 128K"
+        },
+        {
+          "value": "qwen-2.5-coder-32b",
+          "title": "Qwen 2.5 Coder 32B 128K"
+        },
+        {
+          "value": "qwen-qwq-32b",
+          "title": "Qwen QWQ 32B 128K"
         }
       ]
     },
@@ -971,6 +1214,15 @@
       "type": "checkbox",
       "default": true,
       "required": false
+    },
+    {
+      "name": "showMetadata",
+      "title": "Show metadata",
+      "label": "Enabled",
+      "description": "This will show the metadata of the response, including the model used, price, the token count, and the time taken to generate the response.",
+      "type": "checkbox",
+      "default": true,
+      "required": false
     }
   ],
   "dependencies": {
diff --git a/extensions/groq/src/hook/accessAPI.tsx b/extensions/groq/src/hook/accessAPI.tsx
index 9171d7a82a9..e2de11d9ace 100644
--- a/extensions/groq/src/hook/accessAPI.tsx
+++ b/extensions/groq/src/hook/accessAPI.tsx
@@ -1,6 +1,6 @@
 import { getSelectedText, Detail, ActionPanel, Action, showToast, Toast, Icon } from "@raycast/api";
 import { useEffect, useState } from "react";
-import { global_model, enable_streaming, openai } from "./configAPI";
+import { global_model, enable_streaming, openai, show_metadata } from "./configAPI";
 import { Stream } from "openai/streaming";
 import { allModels as changeModels, currentDate, countToken, estimatePrice } from "./utils";
 import { ResultViewProps } from "./ResultView.types";
@@ -123,7 +123,7 @@ export default function ResultView(props: ResultViewProps) {
   if (user_extra_msg) {
     markdownSegments.push(formatUserMessage(user_extra_msg) + "\n\n");
   }
-  if (metrics.model.includes("deepseek")) {
+  if (metrics.model.includes("deepseek") || metrics.model.includes("qwen-qwq")) {
     const splitResponse = response.split("</think>");
     const thinkSegment = splitResponse[0].replace("<think>", "");
     markdownSegments.push("Thinking:\n ```" + thinkSegment + "```");
@@ -192,24 +192,26 @@ export default function ResultView(props: ResultViewProps) {
         )
       }
       metadata={
-        <Detail.Metadata>
-          <Detail.Metadata.Label title="Model" text={changeModels.filter((m) => m.id === metrics.model)[0].name} />
-          <Detail.Metadata.Label title="Temperature" text={metrics.temp.toFixed(1)} />
-          <Detail.Metadata.Label title="Prompt Tokens" text={metrics.promptTokens.toString()} />
-          <Detail.Metadata.Label title="Response Tokens" text={metrics.responseTokens.toString()} />
-          <Detail.Metadata.Separator />
-          <Detail.Metadata.Label
-            title="Total Tokens"
-            text={(metrics.promptTokens + metrics.responseTokens).toString()}
-          />
-          <Detail.Metadata.Label
-            title="Total Cost"
-            text={`${estimatePrice(metrics.promptTokens, metrics.responseTokens, metrics.model).toFixed(4)}¢`}
-          />
-          <Detail.Metadata.Separator />
-          <Detail.Metadata.Label title="Cumulative Tokens" text={metrics.cumulativeTokens.toString()} />
-          <Detail.Metadata.Label title="Cumulative Cost" text={`${metrics.cumulativeCost.toFixed(4)}¢`} />
-        </Detail.Metadata>
+        show_metadata && (
+          <Detail.Metadata>
+            <Detail.Metadata.Label title="Model" text={changeModels.filter((m) => m.id === metrics.model)[0].name} />
+            <Detail.Metadata.Label title="Temperature" text={metrics.temp.toFixed(1)} />
+            <Detail.Metadata.Label title="Prompt Tokens" text={metrics.promptTokens.toString()} />
+            <Detail.Metadata.Label title="Response Tokens" text={metrics.responseTokens.toString()} />
+            <Detail.Metadata.Separator />
+            <Detail.Metadata.Label
+              title="Total Tokens"
+              text={(metrics.promptTokens + metrics.responseTokens).toString()}
+            />
+            <Detail.Metadata.Label
+              title="Total Cost"
+              text={`${estimatePrice(metrics.promptTokens, metrics.responseTokens, metrics.model).toFixed(4)}¢`}
+            />
+            <Detail.Metadata.Separator />
+            <Detail.Metadata.Label title="Cumulative Tokens" text={metrics.cumulativeTokens.toString()} />
+            <Detail.Metadata.Label title="Cumulative Cost" text={`${metrics.cumulativeCost.toFixed(4)}¢`} />
+          </Detail.Metadata>
+        )
       }
     />
   );
diff --git a/extensions/groq/src/hook/configAPI.ts b/extensions/groq/src/hook/configAPI.ts
index ba523773d70..e799baf4fc2 100644
--- a/extensions/groq/src/hook/configAPI.ts
+++ b/extensions/groq/src/hook/configAPI.ts
@@ -11,3 +11,4 @@ export const openai = new OpenAI(config);
 
 export const global_model = prefs.model;
 export const enable_streaming: boolean = prefs.enableStreaming;
+export const show_metadata: boolean = prefs.showMetadata;
diff --git a/extensions/groq/src/hook/utils.ts b/extensions/groq/src/hook/utils.ts
index b1c98e48900..9e3174928f9 100644
--- a/extensions/groq/src/hook/utils.ts
+++ b/extensions/groq/src/hook/utils.ts
@@ -3,13 +3,17 @@ import { encode } from "gpt-tokenizer";
 export const allModels = [
   { name: "Follow global model", id: "global" },
   { name: "DeepSeek R1 70B 128k", id: "deepseek-r1-distill-llama-70b" },
+  { name: "DeepSeek R1 32B 128K", id: "deepseek-r1-distill-qwen-32b" },
   { name: "Llama 3.3 70B 128k", id: "llama-3.3-70b-versatile" },
   { name: "Llama 3.3 70B SpecDec 8k", id: "llama-3.3-70b-specdec" },
   { name: "Llama 3.1 8B 128k", id: "llama-3.1-8b-instant" },
   { name: "Llama 3 70B 8k", id: "llama3-70b-8192" },
   { name: "Llama 3 8B 8k", id: "llama3-8b-8192" },
   { name: "Gemma2 9B 8k", id: "gemma2-9b-it" },
-  { name: "Mixtral 8x7B 32k", id: "mixtral-8x7b-32768" },
+  { name: "Mistral Saba 24B 32K", id: "mistral-saba-24b" },
+  { name: "Qwen 2.5 32B 128K", id: "qwen-2.5-32b" },
+  { name: "Qwen 2.5 Coder 32B 128K", id: "qwen-2.5-coder-32b" },
+  { name: "Qwen QWQ 32B 128K", id: "qwen-qwq-32b" },
 ];
 
 // format: Wednesday, April 24, 2024 at 5:14:26 PM GMT+2.
@@ -31,10 +35,10 @@ export function estimatePrice(prompt_token: number, output_token: number, model:
   let price = 0;
   switch (model) {
     case "deepseek-r1-distill-llama-70b":
-      price = ((prompt_token * 3) / 1_000_000 + (output_token * 3) / 1_000_000) * 100;
+      price = ((prompt_token * 0.75) / 1_000_000 + (output_token * 0.99) / 1_000_000) * 100;
       break;
-    case "mixtral-8x7b-32768":
-      price = ((prompt_token * 0.24) / 1_000_000 + (output_token * 0.24) / 1_000_000) * 100;
+    case "deepseek-r1-distill-qwen-32b":
+      price = ((prompt_token * 0.69) / 1_000_000 + (output_token * 0.69) / 1_000_000) * 100;
       break;
     case "llama3-70b-8192":
     case "llama-3.3-70b-versatile":
@@ -50,6 +54,16 @@ export function estimatePrice(prompt_token: number, output_token: number, model:
     case "gemma-9b-it":
       price = ((prompt_token * 0.2) / 1_000_000 + (output_token * 0.2) / 1_000_000) * 100;
       break;
+    case "mistral-saba-24b":
+      price = ((prompt_token * 0.79) / 1_000_000 + (output_token * 0.79) / 1_000_000) * 100;
+      break;
+    case "qwen-2.5-32b":
+    case "qwen-2.5-coder-32b":
+      price = ((prompt_token * 0.79) / 1_000_000 + (output_token * 0.79) / 1_000_000) * 100;
+      break;
+    case "qwen-qwq-32b":
+      price = ((prompt_token * 0.29) / 1_000_000 + (output_token * 0.39) / 1_000_000) * 100;
+      break;
   }
   return naiveRound(price, 5);
 }


Reviews:
user: login: greptile-apps[bot]
body: 
## PR Summary

This update removes a deprecated model and adds four new models across the Groq extension, updating the changelog, utils, and package.json accordingly.

• Updated /extensions/groq/CHANGELOG.md with an entry using {PR_MERGE_DATE} for new models.  
• Modified /extensions/groq/src/hook/utils.ts to add new models, but estimatePrice lacks pricing details for them.  
• Updated model dropdown lists in /extensions/groq/package.json to reflect changes and include a new contributor.

<sub>💡 (1/5) You can manually trigger the bot by mentioning @greptileai in a comment!</sub>

<sub>3 file(s) reviewed, 1 comment(s)</sub>
<sub>[Edit PR Review Bot Settings](https://app.greptile.com/review/github) | [Greptile](https://greptile.com?utm_source=greptile_expert&utm_medium=github&utm_campaign=code_reviews&utm_content=extensions_18200)</sub>
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-28T09:33:39Z
user: login: maximilianzuern
body: Looks good to me!

Thank you for your contribution!
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-29T10:27:18Z
user: login: maximilianzuern
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-29T10:29:56Z
user: login: maximilianzuern
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-29T14:46:59Z
user: login: maximilianzuern
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-29T15:50:03Z
user: login: pernielsentikaer
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-03-29T20:12:35Z

Review comments:
diff_hunk: @@ -1,5 +1,13 @@
 # Groq Changelog
 
+## [Updated Models] - {PR_MERGE_DATE}
+
+- Removed deprecated `Mixtral 8x7B 32k`
+- Added `DeepSeek R1 32B 128K`
+- Added `Qwen 2.5 32B 128K`
+- Added `Qwen 2.5 Coder 32B 128K`
+- Added `Mistral Saba 24B 32K`
+
 ## [Updated Models] - 2025-02-09
 
 - Removed depreacted `Gemma 7B 8k`
path: extensions/groq/CHANGELOG.md
user: login: greptile-apps[bot]
body: syntax: Typo: 'depreacted' should be 'deprecated'.

```suggestion
- Removed deprecated `Gemma 7B 8k`
```
created_at: 2025-03-28T09:31:57Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,8 +1,16 @@
 # Groq Changelog
 
+## [Updated Models] - {PR_MERGE_DATE}
path: extensions/groq/CHANGELOG.md
user: login: maximilianzuern
body: ```suggestion
## [Updated Models] - 2025-03-29
```
created_at: 2025-03-29T10:29:55Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,6 +1,6 @@
 import { getSelectedText, Detail, ActionPanel, Action, showToast, Toast, Icon } from "@raycast/api";
 import { useEffect, useState } from "react";
-import { global_model, enable_streaming, openai } from "./configAPI";
+import {global_model, enable_streaming, openai, show_metadata} from "./configAPI";
path: extensions/groq/src/hook/accessAPI.tsx
user: login: maximilianzuern
body: ```suggestion
import { global_model, enable_streaming, openai, show_metadata } from "./configAPI";
```
To fix `error  Code style issues found. Please run Prettier 3.2.5 (ray lint --fix).`
created_at: 2025-03-29T14:46:59Z
author_association: CONTRIBUTOR

PR comments:
user: login: raycastbot
created_at: 2025-03-28T09:24:52Z
body: Thank you for your first  contribution! :tada:

🔔 @maximilianzuern you might want to have a look.

You can use [this guide](https://developers.raycast.com/basics/review-pullrequest) to learn how to check out the Pull Request locally in order to test it.

You can expect an initial review within five business days.
author_association: COLLABORATOR
user: login: pernielsentikaer
created_at: 2025-03-28T10:11:01Z
body: Hi @dezik👋 

Thanks for your contribution 🔥

@maximilianzuern do you want to check this?
author_association: COLLABORATOR
user: login: maximilianzuern
created_at: 2025-03-28T11:53:32Z
body: Thank you so much for you contribution @dezik 

Could you add the pricing details for the added models to the estimatePrice function?
author_association: CONTRIBUTOR
user: login: dezik
created_at: 2025-03-28T12:47:11Z
body: Hi @maximilianzuern, I'm unsure where to find this information. Could you please advise where I can find the pricing per model? Thank you
author_association: CONTRIBUTOR
user: login: maximilianzuern
created_at: 2025-03-28T13:21:33Z
body: > Hi @maximilianzuern, I'm unsure where to find this information. Could you please advise where I can find the pricing per model? Thank you

You can find the pricing details here:
https://groq.com/pricing/
author_association: CONTRIBUTOR
user: login: dezik
created_at: 2025-03-28T13:54:45Z
body: @maximilianzuern, pricing has been added.
author_association: CONTRIBUTOR
user: login: dezik
created_at: 2025-03-29T12:38:16Z
body: By the way, @maximilianzuern, the official Raycast documentation recommends using {PR_MERGE_DATE}. For more information, see https://developers.raycast.com/basics/contribute-to-an-extension. I assume this placeholder will be replaced with the current date once the pull request is merged into the master branch.
author_association: CONTRIBUTOR
user: login: maximilianzuern
created_at: 2025-03-29T12:41:31Z
body: > By the way, @maximilianzuern, the official Raycast documentation recommends using {PR_MERGE_DATE}. For more information, see https://developers.raycast.com/basics/contribute-to-an-extension. I assume this placeholder will be replaced with the current date once the pull request is merged into the master branch.

Oh, I'm sorry. I didn't know this feature exists.
author_association: CONTRIBUTOR
user: login: dezik
created_at: 2025-03-29T14:41:08Z
body: @maximilianzuern, with my last two commits, I added the Qwen QWQ model and created a "Show metadata" parameter. This allows users to choose whether to show or hide response metadata. I hope this makes sense. Could you please review the changes and re-approve if necessary? Thank you.
P.S. Thank you for this extension. It is the one Raycast extension I use the most 🙇 
author_association: CONTRIBUTOR
user: login: maximilianzuern
created_at: 2025-03-29T14:53:02Z
body: @dezik 
Thank you for adding the QWQ model. 
Also, I really like the idea of making the response metadata optional.
author_association: CONTRIBUTOR
user: login: dezik
created_at: 2025-03-29T15:11:30Z
body: @maximilianzuern I think you need to fix the author field in package.json, as it currently states that the author is "ilian", which appears to be a typo. I attempted to fix it myself, but the PR check failed, so I reverted the change.
author_association: CONTRIBUTOR
user: login: maximilianzuern
created_at: 2025-03-29T15:48:11Z
body: > @maximilianzuern I think you need to fix the author field in package.json, as it currently states that the author is "ilian", which appears to be a typo. I attempted to fix it myself, but the PR check failed, so I reverted the change.

ilian is correct since this is my Raycast user handle
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-03-29T20:14:00Z
body: <!-- add-pr-comment:add-pr-comment -->

**Published to the Raycast Store:**
https://raycast.com/ilian/groq
author_association: CONTRIBUTOR
user: login: raycastbot
created_at: 2025-03-29T20:14:02Z
body: :tada: :tada: :tada:

Such a great contribution deserves a reward, but unfortunately we couldn't find your Raycast account based on your GitHub username (@dezik).
Please [link your GitHub account to your Raycast account](https://www.raycast.com/settings/account) to receive your credits and soon be able to exchange them for some swag.
author_association: COLLABORATOR