Spaces:
Runtime error
Runtime error
<script lang="ts" setup> | |
import { ref } from 'vue' | |
import { NButton, NInput, NSlider, useMessage } from 'naive-ui' | |
import { useSettingStore } from '@/store' | |
import type { SettingsState } from '@/store/modules/settings/helper' | |
import { t } from '@/locales' | |
const settingStore = useSettingStore() | |
const ms = useMessage() | |
const systemMessage = ref(settingStore.systemMessage ?? '') | |
const temperature = ref(settingStore.temperature ?? 0.5) | |
const top_p = ref(settingStore.top_p ?? 1) | |
function updateSettings(options: Partial<SettingsState>) { | |
settingStore.updateSetting(options) | |
ms.success(t('common.success')) | |
} | |
function handleReset() { | |
settingStore.resetSetting() | |
ms.success(t('common.success')) | |
window.location.reload() | |
} | |
</script> | |
<template> | |
<div class="p-4 space-y-5 min-h-[200px]"> | |
<div class="space-y-6"> | |
<div class="flex items-center space-x-4"> | |
<span class="flex-shrink-0 w-[120px]">{{ $t('setting.role') }}</span> | |
<div class="flex-1"> | |
<NInput v-model:value="systemMessage" type="textarea" :autosize="{ minRows: 1, maxRows: 4 }" /> | |
</div> | |
<NButton size="tiny" text type="primary" @click="updateSettings({ systemMessage })"> | |
{{ $t('common.save') }} | |
</NButton> | |
</div> | |
<div class="flex items-center space-x-4"> | |
<span class="flex-shrink-0 w-[120px]">{{ $t('setting.temperature') }} </span> | |
<div class="flex-1"> | |
<NSlider v-model:value="temperature" :max="1" :min="0" :step="0.1" /> | |
</div> | |
<span>{{ temperature }}</span> | |
<NButton size="tiny" text type="primary" @click="updateSettings({ temperature })"> | |
{{ $t('common.save') }} | |
</NButton> | |
</div> | |
<div class="flex items-center space-x-4"> | |
<span class="flex-shrink-0 w-[120px]">{{ $t('setting.top_p') }} </span> | |
<div class="flex-1"> | |
<NSlider v-model:value="top_p" :max="1" :min="0" :step="0.1" /> | |
</div> | |
<span>{{ top_p }}</span> | |
<NButton size="tiny" text type="primary" @click="updateSettings({ top_p })"> | |
{{ $t('common.save') }} | |
</NButton> | |
</div> | |
<div class="flex items-center space-x-4"> | |
<span class="flex-shrink-0 w-[120px]"> </span> | |
<NButton size="small" @click="handleReset"> | |
{{ $t('common.reset') }} | |
</NButton> | |
</div> | |
</div> | |
</div> | |
</template> | |