Spaces:
Runtime error
Runtime error
feat: temperature
Browse filesallow adjusting temperature
- src/lib/theme.ts +3 -2
- src/pages/index.tsx +38 -11
- src/pages/live.tsx +1 -0
- src/services/api/index.ts +4 -3
src/lib/theme.ts
CHANGED
@@ -12,11 +12,12 @@ export const roboto = Roboto({
|
|
12 |
// Create a theme instance.
|
13 |
const theme = createTheme({
|
14 |
palette: {
|
|
|
15 |
primary: {
|
16 |
-
main: "#
|
17 |
},
|
18 |
secondary: {
|
19 |
-
main: "#
|
20 |
},
|
21 |
error: {
|
22 |
main: red.A400,
|
|
|
12 |
// Create a theme instance.
|
13 |
const theme = createTheme({
|
14 |
palette: {
|
15 |
+
mode: "dark",
|
16 |
primary: {
|
17 |
+
main: "#00d720",
|
18 |
},
|
19 |
secondary: {
|
20 |
+
main: "#cc06ed",
|
21 |
},
|
22 |
error: {
|
23 |
main: red.A400,
|
src/pages/index.tsx
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
import { useEffect, useRef, useState } from "react";
|
2 |
|
3 |
import axios from "axios";
|
|
|
|
|
4 |
import CheckIcon from "@mui/icons-material/Check";
|
5 |
import ClearIcon from "@mui/icons-material/Clear";
|
6 |
import ContentCopyIcon from "@mui/icons-material/ContentCopy";
|
@@ -31,19 +33,20 @@ import ListItemButton from "@mui/material/ListItemButton";
|
|
31 |
import ListItemText from "@mui/material/ListItemText";
|
32 |
import { useHost } from "esdeka/react";
|
33 |
import CircularProgress from "@mui/material/CircularProgress";
|
34 |
-
import { miniPrompt } from "@/services/api";
|
35 |
import CssBaseline from "@mui/material/CssBaseline";
|
|
|
36 |
|
37 |
const base = {
|
38 |
-
default:
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
|
|
47 |
};
|
48 |
|
49 |
const fontMono = Fira_Code({
|
@@ -190,6 +193,7 @@ export default function Home() {
|
|
190 |
edge="start"
|
191 |
color="inherit"
|
192 |
aria-label={loading ? "Loading" : "Run"}
|
|
|
193 |
disabled={loading}
|
194 |
>
|
195 |
{loading ? <HourglassTopIcon /> : <PlayArrowIcon />}
|
@@ -223,7 +227,8 @@ export default function Home() {
|
|
223 |
id="prompt"
|
224 |
name="prompt"
|
225 |
label="Prompt"
|
226 |
-
placeholder="add a red
|
|
|
227 |
maxRows={6}
|
228 |
InputProps={{
|
229 |
style: fontMono.style,
|
@@ -252,6 +257,26 @@ export default function Home() {
|
|
252 |
<Typography>Options</Typography>
|
253 |
</AccordionSummary>
|
254 |
<AccordionDetails>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
<TextField
|
256 |
multiline
|
257 |
fullWidth
|
@@ -297,6 +322,8 @@ export default function Home() {
|
|
297 |
<IconButton
|
298 |
edge="end"
|
299 |
aria-label="Show"
|
|
|
|
|
300 |
onClick={() => {
|
301 |
setRunningId(answer.id);
|
302 |
reload();
|
|
|
1 |
import { useEffect, useRef, useState } from "react";
|
2 |
|
3 |
import axios from "axios";
|
4 |
+
import AcUnitIcon from "@mui/icons-material/AcUnit";
|
5 |
+
import LocalFireDepartmentIcon from "@mui/icons-material/LocalFireDepartment";
|
6 |
import CheckIcon from "@mui/icons-material/Check";
|
7 |
import ClearIcon from "@mui/icons-material/Clear";
|
8 |
import ContentCopyIcon from "@mui/icons-material/ContentCopy";
|
|
|
33 |
import ListItemText from "@mui/material/ListItemText";
|
34 |
import { useHost } from "esdeka/react";
|
35 |
import CircularProgress from "@mui/material/CircularProgress";
|
|
|
36 |
import CssBaseline from "@mui/material/CssBaseline";
|
37 |
+
import Slider from "@mui/material/Slider";
|
38 |
|
39 |
const base = {
|
40 |
+
default: `
|
41 |
+
const canvas = document.querySelector('canvas');
|
42 |
+
const ctx = canvas.getContext('2d');
|
43 |
+
const FPS = 60;
|
44 |
+
/*60FPS draw cycle*/
|
45 |
+
function draw(){
|
46 |
+
setTimeout(requestAnimationFrame(draw),1000/FPS)
|
47 |
+
}
|
48 |
+
draw();
|
49 |
+
`.trim(),
|
50 |
};
|
51 |
|
52 |
const fontMono = Fira_Code({
|
|
|
193 |
edge="start"
|
194 |
color="inherit"
|
195 |
aria-label={loading ? "Loading" : "Run"}
|
196 |
+
aria-disabled={loading}
|
197 |
disabled={loading}
|
198 |
>
|
199 |
{loading ? <HourglassTopIcon /> : <PlayArrowIcon />}
|
|
|
227 |
id="prompt"
|
228 |
name="prompt"
|
229 |
label="Prompt"
|
230 |
+
placeholder="add a red heart"
|
231 |
+
defaultValue="add a red heart"
|
232 |
maxRows={6}
|
233 |
InputProps={{
|
234 |
style: fontMono.style,
|
|
|
257 |
<Typography>Options</Typography>
|
258 |
</AccordionSummary>
|
259 |
<AccordionDetails>
|
260 |
+
<Stack
|
261 |
+
spacing={2}
|
262 |
+
direction="row"
|
263 |
+
sx={{ mb: 2 }}
|
264 |
+
alignItems="center"
|
265 |
+
>
|
266 |
+
<AcUnitIcon />
|
267 |
+
<Slider
|
268 |
+
marks
|
269 |
+
id="temperature"
|
270 |
+
name="temperature"
|
271 |
+
min={0}
|
272 |
+
max={0.8}
|
273 |
+
defaultValue={0.2}
|
274 |
+
step={0.1}
|
275 |
+
valueLabelDisplay="auto"
|
276 |
+
aria-label="Temperature"
|
277 |
+
/>
|
278 |
+
<LocalFireDepartmentIcon />
|
279 |
+
</Stack>
|
280 |
<TextField
|
281 |
multiline
|
282 |
fullWidth
|
|
|
322 |
<IconButton
|
323 |
edge="end"
|
324 |
aria-label="Show"
|
325 |
+
aria-disabled={runningId === answer.id}
|
326 |
+
disabled={runningId === answer.id}
|
327 |
onClick={() => {
|
328 |
setRunningId(answer.id);
|
329 |
reload();
|
src/pages/live.tsx
CHANGED
@@ -11,6 +11,7 @@ const styles = (
|
|
11 |
height: 100%;
|
12 |
width: 100%;
|
13 |
overflow: hidden;
|
|
|
14 |
}
|
15 |
#__next {
|
16 |
display: contents;
|
|
|
11 |
height: 100%;
|
12 |
width: 100%;
|
13 |
overflow: hidden;
|
14 |
+
background: white;
|
15 |
}
|
16 |
#__next {
|
17 |
display: contents;
|
src/services/api/index.ts
CHANGED
@@ -26,10 +26,11 @@ function extractCode(string: string) {
|
|
26 |
}
|
27 |
|
28 |
export async function toOpenAI({
|
29 |
-
prompt = "",
|
30 |
negativePrompt = "",
|
31 |
template = "",
|
32 |
-
|
|
|
33 |
const negativePrompt_ = negativePrompt.trim();
|
34 |
const prompt_ = prompt.trim();
|
35 |
|
@@ -47,7 +48,7 @@ export async function toOpenAI({
|
|
47 |
try {
|
48 |
const response = await openai.createChatCompletion({
|
49 |
model: "gpt-3.5-turbo",
|
50 |
-
temperature:
|
51 |
messages: [
|
52 |
{
|
53 |
role: "system",
|
|
|
26 |
}
|
27 |
|
28 |
export async function toOpenAI({
|
29 |
+
prompt = "be creative",
|
30 |
negativePrompt = "",
|
31 |
template = "",
|
32 |
+
temperature = "0.2",
|
33 |
+
}) {
|
34 |
const negativePrompt_ = negativePrompt.trim();
|
35 |
const prompt_ = prompt.trim();
|
36 |
|
|
|
48 |
try {
|
49 |
const response = await openai.createChatCompletion({
|
50 |
model: "gpt-3.5-turbo",
|
51 |
+
temperature: Number.parseFloat(temperature),
|
52 |
messages: [
|
53 |
{
|
54 |
role: "system",
|