|
@@ -1,5 +1,5 @@
|
|
|
import { APP_NAME } from '$lib/constants';
|
|
|
-import { writable } from 'svelte/store';
|
|
|
+import { type Writable, writable } from 'svelte/store';
|
|
|
|
|
|
// Backend
|
|
|
export const WEBUI_NAME = writable(APP_NAME);
|
|
@@ -14,7 +14,7 @@ export const chatId = writable('');
|
|
|
|
|
|
export const chats = writable([]);
|
|
|
export const tags = writable([]);
|
|
|
-export const models = writable([]);
|
|
|
+export const models: Writable<Model[]> = writable([]);
|
|
|
|
|
|
export const modelfiles = writable([]);
|
|
|
export const prompts = writable([]);
|
|
@@ -36,3 +36,34 @@ export const documents = writable([
|
|
|
export const settings = writable({});
|
|
|
export const showSettings = writable(false);
|
|
|
export const showChangelog = writable(false);
|
|
|
+
|
|
|
+type Model = OpenAIModel | OllamaModel;
|
|
|
+
|
|
|
+type OpenAIModel = {
|
|
|
+ id: string;
|
|
|
+ name: string;
|
|
|
+ external: boolean;
|
|
|
+ source?: string;
|
|
|
+}
|
|
|
+
|
|
|
+type OllamaModel = {
|
|
|
+ id: string;
|
|
|
+ name: string;
|
|
|
+
|
|
|
+ // Ollama specific fields
|
|
|
+ details: OllamaModelDetails;
|
|
|
+ size: number;
|
|
|
+ description: string;
|
|
|
+ model: string;
|
|
|
+ modified_at: string;
|
|
|
+ digest: string;
|
|
|
+}
|
|
|
+
|
|
|
+type OllamaModelDetails = {
|
|
|
+ parent_model: string;
|
|
|
+ format: string;
|
|
|
+ family: string;
|
|
|
+ families: string[] | null;
|
|
|
+ parameter_size: string;
|
|
|
+ quantization_level: string;
|
|
|
+};
|