Fix the issue of updating the number to a string type when clicking the plus or minus button in the input box when setting the model parameters.

This commit is contained in:
Rafi
2023-04-06 15:08:35 +08:00
parent 0d6aef6872
commit 82c1811034
5 changed files with 25 additions and 9 deletions

View File

@@ -180,6 +180,10 @@ watchEffect(() => {
} }
}) })
onNuxtReady(() => {
currentModel.value = getCurrentModel()
})
</script> </script>
<template> <template>

View File

@@ -8,10 +8,13 @@ const availableModels = [
] ]
const currentModelDefault = ref(MODELS[currentModel.value.name]) const currentModelDefault = ref(MODELS[currentModel.value.name])
watch(currentModel, (newVal, oldVal) => { onNuxtReady(() => {
currentModelDefault.value = MODELS[newVal.name] currentModel.value = getCurrentModel()
saveCurrentModel(newVal) watch(currentModel, (newVal, oldVal) => {
}, { deep: true }) currentModelDefault.value = MODELS[newVal.name]
saveCurrentModel(newVal)
}, { deep: true })
})
</script> </script>
@@ -53,7 +56,7 @@ watch(currentModel, (newVal, oldVal) => {
<div class="d-flex justify-space-between align-center"> <div class="d-flex justify-space-between align-center">
<v-list-subheader>{{ $t('temperature') }}</v-list-subheader> <v-list-subheader>{{ $t('temperature') }}</v-list-subheader>
<v-text-field <v-text-field
v-model="currentModel.temperature" v-model.number="currentModel.temperature"
hide-details hide-details
single-line single-line
density="compact" density="compact"
@@ -82,7 +85,7 @@ watch(currentModel, (newVal, oldVal) => {
<div class="d-flex justify-space-between align-center"> <div class="d-flex justify-space-between align-center">
<v-list-subheader>{{ $t('maxTokens') }}</v-list-subheader> <v-list-subheader>{{ $t('maxTokens') }}</v-list-subheader>
<v-text-field <v-text-field
v-model="currentModel.max_tokens" v-model.number="currentModel.max_tokens"
hide-details hide-details
single-line single-line
density="compact" density="compact"
@@ -93,6 +96,9 @@ watch(currentModel, (newVal, oldVal) => {
class="flex-grow-0" class="flex-grow-0"
></v-text-field> ></v-text-field>
</div> </div>
<div class="text-caption">
{{ $t('maxTokenTips1') }} <b>{{ currentModelDefault.total_tokens }}</b> {{ $t('maxTokenTips2') }}
</div>
</v-col> </v-col>
<v-col cols="12"> <v-col cols="12">
<v-slider <v-slider
@@ -111,7 +117,7 @@ watch(currentModel, (newVal, oldVal) => {
<div class="d-flex justify-space-between align-center"> <div class="d-flex justify-space-between align-center">
<v-list-subheader>{{ $t('topP') }}</v-list-subheader> <v-list-subheader>{{ $t('topP') }}</v-list-subheader>
<v-text-field <v-text-field
v-model="currentModel.top_p" v-model.number="currentModel.top_p"
hide-details hide-details
single-line single-line
density="compact" density="compact"
@@ -138,7 +144,7 @@ watch(currentModel, (newVal, oldVal) => {
<div class="d-flex justify-space-between align-center"> <div class="d-flex justify-space-between align-center">
<v-list-subheader>{{ $t('frequencyPenalty') }}</v-list-subheader> <v-list-subheader>{{ $t('frequencyPenalty') }}</v-list-subheader>
<v-text-field <v-text-field
v-model="currentModel.frequency_penalty" v-model.number="currentModel.frequency_penalty"
hide-details hide-details
single-line single-line
density="compact" density="compact"
@@ -164,7 +170,7 @@ watch(currentModel, (newVal, oldVal) => {
<div class="d-flex justify-space-between align-center"> <div class="d-flex justify-space-between align-center">
<v-list-subheader>{{ $t('presencePenalty') }}</v-list-subheader> <v-list-subheader>{{ $t('presencePenalty') }}</v-list-subheader>
<v-text-field <v-text-field
v-model="currentModel.presence_penalty" v-model.number="currentModel.presence_penalty"
hide-details hide-details
single-line single-line
density="compact" density="compact"

View File

@@ -50,6 +50,8 @@
"webSearch": "Web Search", "webSearch": "Web Search",
"webSearchDefaultPrompt": "Web search results:\n\n[web_results]\nCurrent date: [current_date]\n\nInstructions: Using the provided web search results, write a comprehensive reply to the given query. Make sure to cite results using [[number](URL)] notation after the reference. If the provided search results refer to multiple subjects with the same name, write separate answers for each subject.\nQuery: [query]", "webSearchDefaultPrompt": "Web search results:\n\n[web_results]\nCurrent date: [current_date]\n\nInstructions: Using the provided web search results, write a comprehensive reply to the given query. Make sure to cite results using [[number](URL)] notation after the reference. If the provided search results refer to multiple subjects with the same name, write separate answers for each subject.\nQuery: [query]",
"genTitlePrompt": "Generate a short title for the following content, no more than 10 words. \n\nContent: ", "genTitlePrompt": "Generate a short title for the following content, no more than 10 words. \n\nContent: ",
"maxTokenTips1": "The maximum context length of the current model is",
"maxTokenTips2": "token, which includes the length of the prompt and the length of the generated text. The `Max Tokens` here refers to the length of the generated text. Therefore, you should leave some space for your prompt and not set it too large or to the maximum.",
"welcomeScreen": { "welcomeScreen": {
"introduction1": "is an unofficial client for ChatGPT, but uses the official OpenAI API.", "introduction1": "is an unofficial client for ChatGPT, but uses the official OpenAI API.",
"introduction2": "You will need an OpenAI API Key before you can use this client.", "introduction2": "You will need an OpenAI API Key before you can use this client.",

View File

@@ -50,6 +50,8 @@
"webSearch": "Поиск в интернете", "webSearch": "Поиск в интернете",
"webSearchDefaultPrompt": "Результаты веб-поиска:\n\n[web_results]\nТекущая дата: [current_date]\n\nИнструкции: Используя предоставленные результаты веб-поиска, напишите развернутый ответ на заданный запрос. Обязательно цитируйте результаты, используя обозначение [[number](URL)] после ссылки. Если предоставленные результаты поиска относятся к нескольким темам с одинаковым названием, напишите отдельные ответы для каждой темы.\nЗапрос: [query]", "webSearchDefaultPrompt": "Результаты веб-поиска:\n\n[web_results]\nТекущая дата: [current_date]\n\nИнструкции: Используя предоставленные результаты веб-поиска, напишите развернутый ответ на заданный запрос. Обязательно цитируйте результаты, используя обозначение [[number](URL)] после ссылки. Если предоставленные результаты поиска относятся к нескольким темам с одинаковым названием, напишите отдельные ответы для каждой темы.\nЗапрос: [query]",
"genTitlePrompt": "Придумайте короткий заголовок для следующего содержания, не более 10 слов. \n\nСодержание: ", "genTitlePrompt": "Придумайте короткий заголовок для следующего содержания, не более 10 слов. \n\nСодержание: ",
"maxTokenTips1": "The maximum context length of the current model is",
"maxTokenTips2": "token, which includes the length of the prompt and the length of the generated text. The `Max Tokens` here refers to the length of the generated text. Therefore, you should leave some space for your prompt and not set it too large or to the maximum.",
"welcomeScreen": { "welcomeScreen": {
"introduction1": "является неофициальным клиентом для ChatGPT, но использует официальный API OpenAI.", "introduction1": "является неофициальным клиентом для ChatGPT, но использует официальный API OpenAI.",
"introduction2": "Вам понадобится ключ API OpenAI, прежде чем вы сможете использовать этот клиент.", "introduction2": "Вам понадобится ключ API OpenAI, прежде чем вы сможете использовать этот клиент.",

View File

@@ -50,6 +50,8 @@
"webSearch": "网页搜索", "webSearch": "网页搜索",
"webSearchDefaultPrompt": "网络搜索结果:\n\n[web_results]\n当前日期[current_date]\n\n说明使用提供的网络搜索结果对给定的查询写出全面的回复。确保在引用参考文献后使用 [[number](URL)] 符号进行引用结果. 如果提供的搜索结果涉及到多个具有相同名称的主题,请针对每个主题编写单独的答案。\n查询[query]", "webSearchDefaultPrompt": "网络搜索结果:\n\n[web_results]\n当前日期[current_date]\n\n说明使用提供的网络搜索结果对给定的查询写出全面的回复。确保在引用参考文献后使用 [[number](URL)] 符号进行引用结果. 如果提供的搜索结果涉及到多个具有相同名称的主题,请针对每个主题编写单独的答案。\n查询[query]",
"genTitlePrompt": "为以下内容生成一个不超过10个字的简短标题。 \n\n内容: ", "genTitlePrompt": "为以下内容生成一个不超过10个字的简短标题。 \n\n内容: ",
"maxTokenTips1": "当前模型的最大上下文长度为",
"maxTokenTips2": "个 token它包括了指令的长度和生成的文本长度。此处的最大 token 数量是指生成的文本长度。所以您应该为您的指令预留一些空间,不宜设置过大或拉满。",
"welcomeScreen": { "welcomeScreen": {
"introduction1": "是一个非官方的ChatGPT客户端但使用OpenAI的官方API", "introduction1": "是一个非官方的ChatGPT客户端但使用OpenAI的官方API",
"introduction2": "在使用本客户端之前您需要一个OpenAI API密钥。", "introduction2": "在使用本客户端之前您需要一个OpenAI API密钥。",