From 7ced17c412ce149101ea6cdbbb577bb3396539d8 Mon Sep 17 00:00:00 2001 From: Daniel Chang Date: Tue, 7 May 2024 09:39:23 -0700 Subject: [PATCH 1/5] upgrade pyodide, fix mmt init problems (#3557) --- packages/client/hmi-client/package.json | 2 +- .../workflow/ops/model-config/tera-model-config.vue | 4 ++-- .../client/hmi-client/src/python/PyodideWorker.ts | 2 +- yarn.lock | 13 ++++++------- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/packages/client/hmi-client/package.json b/packages/client/hmi-client/package.json index 04554beabf..3620896a41 100644 --- a/packages/client/hmi-client/package.json +++ b/packages/client/hmi-client/package.json @@ -64,7 +64,7 @@ "primeflex": "3.3.1", "primeicons": "6.0.1", "primevue": "3.43.0", - "pyodide": "0.23.4", + "pyodide": "0.25.1", "sass": "1.56.1", "uuid": "9.0.1", "vue": "3.3.13", diff --git a/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config.vue b/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config.vue index 3c1d1223be..eb29814a6a 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config.vue @@ -116,7 +116,7 @@ Initial variable values({{ numInitials }}) ({{ numParameters }}) Date: Tue, 7 May 2024 15:39:23 -0400 Subject: [PATCH 2/5] Const distrib fix (#3560) Co-authored-by: Cole Blanchard --- .../model/petrinet/tera-parameter-table.vue | 190 ++---------------- 1 file changed, 21 insertions(+), 169 deletions(-) diff --git a/packages/client/hmi-client/src/components/model/petrinet/tera-parameter-table.vue b/packages/client/hmi-client/src/components/model/petrinet/tera-parameter-table.vue index 217db99a94..7c190e86d3 100644 --- a/packages/client/hmi-client/src/components/model/petrinet/tera-parameter-table.vue +++ b/packages/client/hmi-client/src/components/model/petrinet/tera-parameter-table.vue @@ -42,45 +42,6 @@ - - - - - - + - + @@ -351,22 +235,13 @@ import { computed, ref, watch } from 'vue'; import { cloneDeep, isEmpty } from 'lodash'; import Button from 'primevue/button'; -import type { DKG, Model, ModelConfiguration, ModelParameter } from '@/types/Types'; -import Dropdown from 'primevue/dropdown'; +import type { Model, ModelConfiguration, ModelParameter } from '@/types/Types'; import InputText from 'primevue/inputtext'; import Datatable from 'primevue/datatable'; import Column from 'primevue/column'; import { StratifiedMatrix } from '@/types/Model'; import TeraStratifiedMatrixModal from '@/components/model/petrinet/model-configurations/tera-stratified-matrix-modal.vue'; import { AMRSchemaNames, ModelConfigTableData, ParamType } from '@/types/common'; -import { - getCurieFromGroudingIdentifier, - getCurieUrl, - getNameOfCurieCached, - parseCurie, - searchCuriesEntities -} from '@/services/concept'; -import AutoComplete, { AutoCompleteCompleteEvent } from 'primevue/autocomplete'; import { getModelType } from '@/services/model'; import { matrixEffect } from '@/utils/easter-eggs'; @@ -375,8 +250,7 @@ import { isStratifiedModel, collapseParameters } from '@/model-representation/mi import { updateVariable, getParameterMetadata, - getParameters, - updateParameterMetadata + getParameters } from '@/model-representation/service'; import TeraModal from '@/components/widgets/tera-modal.vue'; import TeraInputNumber from '@/components/widgets/tera-input-number.vue'; @@ -392,11 +266,6 @@ const props = defineProps<{ configView?: boolean; // if the table is in the model config view we have limited functionality }>(); -const typeOptions = [ - { label: 'Constant', value: ParamType.CONSTANT, icon: 'pi pi-hashtag' }, - { label: 'Distribution', value: ParamType.DISTRIBUTION, icon: 'custom-icon-distribution' } -]; - const emit = defineEmits(['update-value', 'update-model']); const isStratified = computed(() => isStratifiedModel(props.mmt)); @@ -545,9 +414,6 @@ const conceptSearchTerm = ref({ curie: '', name: '' }); -const nameOfCurieCache = ref(new Map()); - -const curies = ref([]); const modelType = computed(() => getModelType(props.model)); @@ -581,20 +447,6 @@ const updateParamValue = (param: ModelParameter, key: string, value: any) => { emit('update-value', [clonedParam]); }; -const updateMetadataFromInput = (id: string, key: string, value: any) => { - const clonedModel = cloneDeep(props.model); - updateParameterMetadata(clonedModel, id, key, value); - emit('update-model', clonedModel); -}; - -async function onSearch(event: AutoCompleteCompleteEvent) { - const query = event.query; - if (query.length > 2) { - const response = await searchCuriesEntities(query); - curies.value = response; - } -} - const openSuggestedValuesModal = (id: string) => { suggestedValuesModalContext.value.isOpen = true; suggestedValuesModalContext.value.id = id; From 854d6e967b09a89240bd055c4c7598c0909f05ac Mon Sep 17 00:00:00 2001 From: Daniel Chang Date: Tue, 7 May 2024 13:06:39 -0700 Subject: [PATCH 3/5] Llm stratify (#3558) --- .../ops/stratify-mira/tera-stratify-mira.vue | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/client/hmi-client/src/components/workflow/ops/stratify-mira/tera-stratify-mira.vue b/packages/client/hmi-client/src/components/workflow/ops/stratify-mira/tera-stratify-mira.vue index bc2ca325bd..0cfe92b89c 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/stratify-mira/tera-stratify-mira.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/stratify-mira/tera-stratify-mira.vue @@ -41,8 +41,14 @@
- -

Code Editor - Python

+ + + { stratifyRequest(); }; +const processLLMOutput = (data: any) => { + codeText.value = data.content.code; + saveCodeToState(data.content.code, false); +}; + const resetModel = () => { if (!amr.value) return; kernelManager @@ -483,6 +495,16 @@ onUnmounted(() => { diff --git a/packages/client/hmi-client/src/components/workflow/ops/decapodes/tera-decapodes-drilldown.vue b/packages/client/hmi-client/src/components/workflow/ops/decapodes/tera-decapodes-drilldown.vue index 6dbb615f4a..e7b30439a4 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/decapodes/tera-decapodes-drilldown.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/decapodes/tera-decapodes-drilldown.vue @@ -31,8 +31,10 @@ :defaultOptions="sampleAgentQuestions" :context-language="contextLanguage" @llm-output="(data: any) => appendCode(data, 'code')" + @llm-thought-output="(data: any) => (llmThought = data)" /> + { editor = editorInstance; }; const codeText = ref(); +const llmThought = ref(); const buildJupyterContext = () => ({ context: 'decapodes', diff --git a/packages/client/hmi-client/src/components/workflow/ops/model-comparison/tera-model-comparison.vue b/packages/client/hmi-client/src/components/workflow/ops/model-comparison/tera-model-comparison.vue index 25c56c4839..c48fd69831 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/model-comparison/tera-model-comparison.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/model-comparison/tera-model-comparison.vue @@ -81,12 +81,16 @@ @click="runCode" />
- +
+ + +
([]); const llmAnswer = ref(''); const code = ref(props.node.state.notebookHistory?.[0]?.code ?? ''); +const llmThought = ref(); const isKernelReady = ref(false); const modelsToCompare = ref([]); const contextLanguage = ref('python3'); @@ -403,6 +410,9 @@ ul { gap: var(--gap-small); position: relative; } +.toolbar { + padding-left: var(--gap-medium); +} .toolbar-right-side { position: absolute; diff --git a/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config.vue b/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config.vue index eb29814a6a..6c7df18536 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config.vue @@ -233,14 +233,18 @@ @click="runFromCode" /> - - - +
+ + + + +
{ const codeText = ref( '# This environment contains the variable "model_config" to be read and updated' ); +const llmThought = ref(); const notebookResponse = ref(); const executeResponse = ref({ status: OperatorStatus.DEFAULT, @@ -1042,6 +1048,9 @@ onUnmounted(() => { display: flex; align-items: center; } +.toolbar { + padding-left: var(--gap-medium); +} :deep(.p-datatable-loading-overlay.p-component-overlay) { background-color: #fff; diff --git a/packages/client/hmi-client/src/components/workflow/ops/model-edit/tera-model-edit.vue b/packages/client/hmi-client/src/components/workflow/ops/model-edit/tera-model-edit.vue index c983ab75e3..57a6adbc80 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/model-edit/tera-model-edit.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/model-edit/tera-model-edit.vue @@ -26,14 +26,18 @@ @click="runFromCodeWrapper" /> - - - +
+ + + + +
('python3'); const defaultCodeText = '# This environment contains the variable "model" \n# which is displayed on the right'; const codeText = ref(defaultCodeText); +const llmThought = ref(); + const executeResponse = ref({ status: OperatorStatus.DEFAULT, name: '', @@ -401,8 +408,7 @@ onUnmounted(() => { position: relative; } -.notebook-section:deep(main .notebook-toolbar), -.notebook-section:deep(main .ai-assistant) { +.notebook-section:deep(main .toolbar) { padding-left: var(--gap-medium); } .toolbar-right-side { diff --git a/packages/client/hmi-client/src/components/workflow/ops/stratify-mira/tera-stratify-mira.vue b/packages/client/hmi-client/src/components/workflow/ops/stratify-mira/tera-stratify-mira.vue index 0cfe92b89c..f7bb6104a4 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/stratify-mira/tera-stratify-mira.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/stratify-mira/tera-stratify-mira.vue @@ -42,13 +42,16 @@
- - +
+ + +
{ const state = _.cloneDeep(props.node.state); @@ -495,8 +500,7 @@ onUnmounted(() => {