diff --git a/.DS_Store b/.DS_Store index 59e3ccf21..e889a6ba3 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/cookbooks/Getting-Started/travel.aiconfig.json b/cookbooks/Getting-Started/travel.aiconfig.json index c6b0bbc3f..0529b962f 100644 --- a/cookbooks/Getting-Started/travel.aiconfig.json +++ b/cookbooks/Getting-Started/travel.aiconfig.json @@ -1,8 +1,8 @@ { "name": "NYC Trip Planner", - "description": "Intrepid explorer with ChatGPT and AIConfig", "schema_version": "latest", "metadata": { + "parameters": {}, "models": { "gpt-3.5-turbo": { "model": "gpt-3.5-turbo", @@ -17,10 +17,12 @@ }, "default_model": "gpt-3.5-turbo" }, + "description": "Intrepid explorer with ChatGPT and AIConfig", "prompts": [ { "name": "get_activities", - "input": "Tell me 10 fun attractions to do in NYC." + "input": "Tell me 10 fun attractions to do in NYC.", + "outputs": [] }, { "name": "gen_itinerary", @@ -30,9 +32,9 @@ "parameters": { "order_by": "geographic location" } - } + }, + "outputs": [] } - ] -} - - + ], + "$schema": "https://json.schemastore.org/aiconfig-1.0" +} \ No newline at end of file diff --git a/python/src/aiconfig/editor/client/public/images/aiconfigLogo.png b/python/src/aiconfig/editor/client/public/images/aiconfigLogo.png new file mode 100644 index 000000000..b53b332c6 Binary files /dev/null and b/python/src/aiconfig/editor/client/public/images/aiconfigLogo.png differ diff --git a/python/src/aiconfig/editor/client/src/Editor.tsx b/python/src/aiconfig/editor/client/src/Editor.tsx index ce5f4c798..b28449462 100644 --- a/python/src/aiconfig/editor/client/src/Editor.tsx +++ b/python/src/aiconfig/editor/client/src/Editor.tsx @@ -1,7 +1,7 @@ import EditorContainer, { AIConfigCallbacks, } from "./components/EditorContainer"; -import { Flex, Loader, MantineProvider } from "@mantine/core"; +import { Flex, Loader, MantineProvider, Image } from "@mantine/core"; import { AIConfig, InferenceSettings, JSONObject, Prompt } from "aiconfig"; import { useCallback, useEffect, useMemo, useState } from "react"; import { ufetch } from "ufetch"; @@ -141,8 +141,118 @@ export default function Editor() { ); return ( -
- +
+ ({ + ".editorBackground": { + background: + "radial-gradient(ellipse at top,#08122d,#030712),radial-gradient(ellipse at bottom,#030712,#030712)", + margin: "0 auto", + minHeight: "100vh", + }, + ".monoFont": { + fontFamily: + "sf mono, ui-monospace, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace", + }, + ".ghost": { + border: "none", + borderRadius: "4px", + padding: "4px", + margin: "0px", + backgroundColor: "transparent", + ":hover": { + backgroundColor: "rgba(226,232,255,.1)", + }, + input: { + maxHeight: "16px", + fontFamily: + "sf mono, ui-monospace, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace", + }, + }, + ".cellStyle": { + border: "1px solid rgba(226,232,255,.1) !important", + background: "rgb(12 21 57 / 10%)", + flex: 1, + borderTopRightRadius: "0px", + borderBottomRightRadius: "0px", + ":hover": { + background: "rgba(255, 255, 255, 0.03) !important", + }, + textarea: { + border: "1px solid rgba(226,232,255,.1)", + backgroundColor: "#060c21", + ":focus": { + outline: "solid 1px #ff1cf7 !important", + outlineOffset: "-1px", + }, + }, + }, + ".sidePanel": { + border: "1px solid rgba(226,232,255,.1)", + borderLeft: "none", + borderTopRightRadius: "4px", + borderBottomRightRadius: "4px", + input: { + border: "1px solid rgba(226,232,255,.1)", + backgroundColor: "#060c21", + ":focus": { + outline: "solid 1px #ff1cf7 !important", + outlineOffset: "-1px", + }, + }, + }, + ".divider": { + borderTopWidth: "1px", + borderTopColor: "rgba(226,232,255,.1)", + marginBottom: "0.5em", + }, + ".runPromptButton": { + background: "#ff1cf7", + color: "white", + borderRadius: "0", + height: "auto", + }, + ".actionTabsPanel": { + width: "400px", + }, + ".logo": { + maxWidth: "80rem", + margin: "0 auto", + padding: "32px 0 0 32px", + display: "flex", + justifyContent: "space-between", + alignItems: "center", + }, + }), + }} + > +
+ AiConfig Logo +
{!aiconfig ? ( diff --git a/python/src/aiconfig/editor/client/src/components/EditorContainer.tsx b/python/src/aiconfig/editor/client/src/components/EditorContainer.tsx index 9f1d58905..8c4358f4a 100644 --- a/python/src/aiconfig/editor/client/src/components/EditorContainer.tsx +++ b/python/src/aiconfig/editor/client/src/components/EditorContainer.tsx @@ -676,16 +676,16 @@ export default function EditorContainer({ -
- -
+
{ onSelectModel(undefined); diff --git a/python/src/aiconfig/editor/client/src/components/prompt/PromptActionBar.tsx b/python/src/aiconfig/editor/client/src/components/prompt/PromptActionBar.tsx index bd7802888..0c1bbfb9e 100644 --- a/python/src/aiconfig/editor/client/src/components/prompt/PromptActionBar.tsx +++ b/python/src/aiconfig/editor/client/src/components/prompt/PromptActionBar.tsx @@ -66,7 +66,7 @@ export default memo(function PromptActionBar({ )} - + {checkParametersSupported(prompt) && ( - + ({ - promptInputCard: { - flex: 1, - borderRight: "0 !important", - borderBottomRightRadius: 0, - borderTopRightRadius: 0, - }, - actionBar: { - border: `1px solid ${theme.colors.gray[3]}`, - borderRadius: "0.25em", - borderBottomLeftRadius: 0, - borderTopLeftRadius: 0, - }, -})); - export default memo(function PromptContainer({ prompt, getModels, @@ -96,11 +81,9 @@ export default memo(function PromptContainer({ const promptSchema = getPromptSchema(prompt, defaultConfigModelName); const inputSchema = promptSchema?.input; - const { classes } = useStyles(); - return ( - + } -
+
- - Output + + + Output + {/* TODO: Add output metrics */} ); diff --git a/python/src/aiconfig/editor/client/src/components/prompt/RunPromptButton.tsx b/python/src/aiconfig/editor/client/src/components/prompt/RunPromptButton.tsx index 7fc91f464..bf8270a6e 100644 --- a/python/src/aiconfig/editor/client/src/components/prompt/RunPromptButton.tsx +++ b/python/src/aiconfig/editor/client/src/components/prompt/RunPromptButton.tsx @@ -1,4 +1,4 @@ -import { Button, createStyles, Loader, Text } from "@mantine/core"; +import { Button, Loader, Text } from "@mantine/core"; import { IconPlayerPlayFilled, IconPlayerStop } from "@tabler/icons-react"; import { memo } from "react"; @@ -8,20 +8,11 @@ type Props = { size: "compact" | "full"; }; -const useStyles = createStyles(() => ({ - executeButton: { - borderBottomLeftRadius: 0, - borderTopLeftRadius: 0, - borderTopRightRadius: 0, - }, -})); - export default memo(function RunPromptButton({ runPrompt, size, isRunning = false, }: Props) { - const { classes } = useStyles(); return (