diff --git a/packages/frontend/src/App.svelte b/packages/frontend/src/App.svelte index d6eaec5ca..da97660e9 100644 --- a/packages/frontend/src/App.svelte +++ b/packages/frontend/src/App.svelte @@ -29,6 +29,7 @@ import { Messages } from '@shared/Messages'; import GPUPromotion from '/@/lib/notification/GPUPromotion.svelte'; import NewInstructLabSession from '/@/pages/NewInstructLabSession.svelte'; import LocalServer from './pages/server-information/LocalServer.svelte'; +import AboutInstructLab from './pages/instruct-lab/AboutInstructLab.svelte'; router.mode.hash(); @@ -97,6 +98,9 @@ onDestroy(() => { {#if experimentalTuning} + + + diff --git a/packages/frontend/src/lib/Navigation.svelte b/packages/frontend/src/lib/Navigation.svelte index dadc505fa..e07236b2c 100644 --- a/packages/frontend/src/lib/Navigation.svelte +++ b/packages/frontend/src/lib/Navigation.svelte @@ -11,6 +11,7 @@ import { faHouse, faGear, } from '@fortawesome/free-solid-svg-icons'; +import instructlabIcon from './icons/instructLabIcon.png'; import { SettingsNavItem } from '@podman-desktop/ui-svelte'; import { onDestroy, onMount } from 'svelte'; import { configuration } from '../stores/extensionConfiguration'; @@ -81,6 +82,11 @@ onDestroy(() => {
TUNING
+ +import { faPlusCircle } from '@fortawesome/free-solid-svg-icons'; +import { NavPage, Button, Link } from '@podman-desktop/ui-svelte'; +import { studioClient } from '/@/utils/client'; +import { router } from 'tinro'; +import instructlabTitleImage from '/@/lib/images/instructlabTitleImage.png'; +import AboutInstructLabDiscoverCard from './AboutInstructLabDiscoverCard.svelte'; +import AboutInstructLabExploreCard from './AboutInstructLabExploreCard.svelte'; + +function start(): void { + router.goto('/tune/start'); +} + +const instructLabDocumentation = 'https://docs.instructlab.ai/'; +const instructLabHuggingFace = 'https://huggingface.co/instructlab'; +const instructLabSamples = ''; + +async function openInstructLabDocumentation(): Promise { + await studioClient.openURL(instructLabDocumentation); +} + +async function openInstructLabHuggingFace(): Promise { + await studioClient.openURL(instructLabHuggingFace); +} + +async function openSamples(): Promise { + await studioClient.openURL(instructLabSamples); +} + + + +
+ +
+
+
+
+
+ {`InstructLab`} +
+
+
+ Here you can create an InstructLab session to improve trained models with specialized knowledge and + skill tuning. InstructLab is a model-agnostic open source AI project that facilitates contributions to + Large Language Models (LLMs). +
+
Start by trying one of our samples or bring your own knowledge and skills files.
+
+
+ Access InstructLab documentation + View InstructLab on HuggingFace +
+
+
+ +
+

+ Discover from available SAMPLES +

+
+
+ + + +
+
+
+
+

Explore articles and videos

+
+
+ + + +
+
+
+
+
+
+
diff --git a/packages/frontend/src/pages/instruct-lab/AboutInstructLabDiscoverCard.svelte b/packages/frontend/src/pages/instruct-lab/AboutInstructLabDiscoverCard.svelte new file mode 100644 index 000000000..e27bf65c7 --- /dev/null +++ b/packages/frontend/src/pages/instruct-lab/AboutInstructLabDiscoverCard.svelte @@ -0,0 +1,25 @@ + + +
+
{title}
+
{desc}
+ +
diff --git a/packages/frontend/src/pages/instruct-lab/AboutInstructLabExploreCard.svelte b/packages/frontend/src/pages/instruct-lab/AboutInstructLabExploreCard.svelte new file mode 100644 index 000000000..a211eb6e1 --- /dev/null +++ b/packages/frontend/src/pages/instruct-lab/AboutInstructLabExploreCard.svelte @@ -0,0 +1,26 @@ + + +