From 76622d0bc7986d9909c1e7ec7b249b740955a543 Mon Sep 17 00:00:00 2001
From: Ali Asaria <ali.asaria@gmail.com>
Date: Fri, 3 May 2024 14:37:38 -0400
Subject: [PATCH] clean up prompt template page

---
 .../Interact/TemplatedCompletion.tsx          | 28 +++++++++++++++++--
 1 file changed, 25 insertions(+), 3 deletions(-)

diff --git a/src/renderer/components/Experiment/Interact/TemplatedCompletion.tsx b/src/renderer/components/Experiment/Interact/TemplatedCompletion.tsx
index 12a0e912..33da08c3 100644
--- a/src/renderer/components/Experiment/Interact/TemplatedCompletion.tsx
+++ b/src/renderer/components/Experiment/Interact/TemplatedCompletion.tsx
@@ -14,6 +14,7 @@ import {
   TabList,
   Tab,
   TabPanel,
+  LinearProgress,
 } from '@mui/joy';
 import { SendIcon, PlusCircleIcon } from 'lucide-react';
 import { useState } from 'react';
@@ -75,6 +76,7 @@ export default function TemplatedCompletion({ experimentInfo }) {
   const [isThinking, setIsThinking] = useState(false);
   const [timeTaken, setTimeTaken] = useState<number | null>(null);
   const [outputText, setOutputText] = useState('');
+  const [currentTab, setCurrentTab] = useState(0);
 
   const { data: templates } = useSWR(chatAPI.Endpoints.Prompts.List(), fetcher);
 
@@ -110,6 +112,7 @@ export default function TemplatedCompletion({ experimentInfo }) {
     const generationParameters = JSON.parse(generationParamsJSON);
 
     try {
+      console.log(generationParameters?.stop_str);
       generationParameters.stop_str = JSON.parse(
         generationParameters?.stop_str
       );
@@ -260,7 +263,18 @@ export default function TemplatedCompletion({ experimentInfo }) {
                   Time taken: {Math.round(timeTaken)}ms
                 </Typography>
               )}
-              {timeTaken == -1 && <CircularProgress size="sm" />}
+              {timeTaken == -1 && (
+                <CircularProgress
+                  size="sm"
+                  thickness={1}
+                  color="neutral"
+                  sx={{
+                    '--CircularProgress-size': '18px',
+                    '--CircularProgress-trackThickness': '1px',
+                    '--CircularProgress-progressThickness': '1px',
+                  }}
+                />
+              )}
             </div>
             <Button
               sx={{ ml: 'auto' }}
@@ -285,6 +299,8 @@ export default function TemplatedCompletion({ experimentInfo }) {
                 setTimeTaken(-1);
                 const startTime = performance.now();
 
+                setCurrentTab(0);
+
                 document.getElementsByName('output-text')[0].value = '';
                 await sendTemplatedCompletionToLLM(
                   document.getElementsByName('completion-text')?.[0],
@@ -307,7 +323,12 @@ export default function TemplatedCompletion({ experimentInfo }) {
             }}
             id="completion-output"
           >
-            <Tabs>
+            <Tabs
+              value={currentTab}
+              onChange={(e, newValue) => {
+                setCurrentTab(newValue);
+              }}
+            >
               <TabList>
                 <Tab variant="plain" color="neutral">
                   Raw
@@ -322,6 +343,7 @@ export default function TemplatedCompletion({ experimentInfo }) {
                   }}
                 >
                   <Textarea name="output-text" variant="plain"></Textarea>
+                  {isThinking && <LinearProgress sx={{ width: '300px' }} />}
                 </Box>
               </TabPanel>
               <TabPanel value={1} keepMounted>
@@ -331,7 +353,7 @@ export default function TemplatedCompletion({ experimentInfo }) {
                     borderLeft: '2px solid var(--joy-palette-neutral-500)',
                   }}
                 >
-                  {isThinking && <CircularProgress />}
+                  {isThinking && <LinearProgress sx={{ width: '300px' }} />}
                   <Markdown
                     children={outputText}
                     remarkPlugins={[remarkGfm]}
-- 
GitLab