Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-fe
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
poc
poc-fe
Commits
b5e0d7b8
Commit
b5e0d7b8
authored
Oct 23, 2024
by
nick zheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 应用新增多样性模式及随机性
parent
09eb8fd9
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
270 additions
and
23 deletions
+270
-23
zh-cn.yaml
src/locales/langs/zh-cn.yaml
+44
-8
zh-hk.yaml
src/locales/langs/zh-hk.yaml
+44
-8
app-setting-config.ts
...personal-space/personal-app-setting/app-setting-config.ts
+38
-0
app-setting.vue
...nal-space/personal-app-setting/components/app-setting.vue
+103
-3
locales.d.ts
types/locales.d.ts
+41
-4
No files found.
src/locales/langs/zh-cn.yaml
View file @
b5e0d7b8
...
...
@@ -30,6 +30,13 @@ common_module:
config
:
'
配置'
agent
:
'
应用'
knowledge
:
'
知识库'
custom
:
'
自定义'
char
:
'
字符'
upload
:
'
上传'
uploading
:
'
上传中...'
upload_success_message
:
'
上传成功'
empty_data
:
'
暂无数据'
search_empty_data
:
'
没有搜索到相关内容'
create_agent_btn_text
:
'
创建应用'
copy_success_message
:
'
复制成功'
delete_success_message
:
'
删除成功'
...
...
@@ -37,6 +44,7 @@ common_module:
edit_success_message
:
'
编辑成功'
publish_success_message
:
'
发布成功'
clear_success_message
:
'
清空成功'
add_success_message
:
'
新增成功'
dialogue_module
:
continue_question_message
:
'
你可以继续提问'
...
...
@@ -112,9 +120,15 @@ personal_space_module:
ai_auto_config
:
'
AI自动配置'
question_answer_model
:
'
问答模型'
question_answer_model_desc
:
'
用于总结生成回复结果'
topP
:
'
多样性:'
topP_popover_message
:
'
用于控制模型输出的多样性。推荐值为
0,数值越大,模型每次输出内容的差异性越大'
communication_turn
:
'
参考对话轮数:'
generate_diversity
:
'
生成多样性'
accurate_mode
:
'
精准模式'
balance_mode
:
'
平衡模式'
creative_mode
:
'
创意模式'
topP
:
'
top
P:'
topP_popover_message
:
'
模型在生成输出时会从概率最高的词汇开始选择,直到这些词汇的总概率累积达到Top
p值。这样可以限制模型只选择这些高概率的词汇,从而控制输出内容的多样性。'
temperature
:
'
多样性:'
temperature_popover_message
:
'
用于控制模型输出的多样性。推荐值为
0,数值越大,模型每次输出内容的差异性越大'
communication_turn
:
'
参考对话轮数:'
communication_turn_popover_message
:
'
传入大模型上下文的最大对话轮数。推荐值为2,数值越大,多轮对话中上下文相关性越强,但Tokens消耗越多'
agent_setting
:
'
应用设定'
base_info
:
'
基本信息'
...
...
@@ -183,20 +197,16 @@ personal_space_module:
search_knowledge_placeholder
:
'
请输入知识库名称'
knowledge_name
:
'
知识库名称'
knowledge_desc
:
'
知识库描述'
empty_knowledge_list
:
'
暂无知识库'
search_empty_knowledge_list
:
'
暂⽆搜索结果,请换⼀个关键词进⾏搜索'
delete_knowledge_dialog_content
:
'
删除后将无法恢复,
是否确认删除?'
not_find_knowledge_message
:
'
未找到知识库'
search_knowledge_document_placeholder
:
'
请输入文件名称'
knowledge_document_name
:
'
文件名称'
knowledge_document_char_count
:
'
字符数'
knowledge_document_char_unit
:
'
字符'
knowledge_document_format
:
'
文件格式'
view_knowledge_document_fragment
:
'
查看切片'
training_knowledge_document
:
'
重新训练'
empty_knowledge_document_list
:
'
暂无上传文档'
search_empty_knowledge_document_list
:
'
暂⽆搜索结果,请换⼀个关键词进⾏搜索'
empty_knowledge_document_list
:
'
暂无文件'
upload_knowledge_document_btn_text
:
'
导入文件'
batch_delete_knowledge_document_btn_text
:
'
批量删除'
not_find_knowledge_document_message
:
'
未找到知识库文件'
...
...
@@ -213,6 +223,32 @@ personal_space_module:
import_local_document_knowledge
:
'
本地文档'
import_local_document_knowledge_desc
:
'
支持上传TXT、MD、PDF、DOC、DOCX、格式的本地文件'
segment
:
'
分段'
auto_segment
:
'
自动分段'
add_chunk_up_message
:
'
向上添加分片'
add_chunk_down_message
:
'
向下添加分片'
search_knowledge_chunk_placeholder
:
'
请输入切片名称'
add_knowledge_chunk_modal_title
:
'
新增切片'
knowledge_chunk_content_input_placeholder
:
'
请输入内容'
knowledge_chunk_content_input_rule
:
'
内容不能为空'
delete_knowledge_chunk_content_message
:
'
确认删除该切片?'
upload_document_module
:
segment_setting
:
'
分段处理'
data_process
:
'
数据处理'
process_success
:
'
处理成功'
process_fail
:
'
处理失败'
processed
:
'
处理中~'
upload_action_tip_message
:
'
点击上传或拖拽文档到这里'
upload_limit_tip_message
:
'
支持DOC、DOCX、TXT、PDF、MD,最多可上传5个文件,每个文件不超过10MB'
empty_document_content_message
:
'
上传文件内容不能为空'
upload_format_error_message
:
'
只能上传DOC、DOCX、TXT、PDF、MD格式文本文件,请重新上传'
upload_size_error_message
:
'
上传文件大小不能超过5M'
upload_error_message
:
'
上传失败,请删除文件后再进行操作'
default_segment_setting_title
:
'
自动分段与清洗'
default_segment_setting_desc
:
'
自动分段与预处理规则'
data_process_tip_message
:
'
点击确认不影响数据处理,处理完毕后可进行引用'
share_agent_module
:
please
:
'
请先'
after_action
:
'
后开始提问'
...
...
src/locales/langs/zh-hk.yaml
View file @
b5e0d7b8
...
...
@@ -30,6 +30,13 @@ common_module:
config
:
'
配置'
agent
:
'
應用'
knowledge
:
'
知識庫'
custom
:
'
自定義'
char
:
'
字符'
upload
:
'
上傳'
uploading
:
'
上傳中...'
upload_success_message
:
'
上傳成功'
empty_data
:
'
暫無數據'
search_empty_data
:
'
沒有搜索到相關內容'
create_agent_btn_text
:
'
創建應用'
copy_success_message
:
'
複製成功'
delete_success_message
:
'
刪除成功'
...
...
@@ -37,6 +44,7 @@ common_module:
edit_success_message
:
'
編輯成功'
publish_success_message
:
'
發佈成功'
clear_success_message
:
'
清空成功'
add_success_message
:
'
新增成功'
dialogue_module
:
continue_question_message
:
'
你可以繼續提問'
...
...
@@ -112,9 +120,15 @@ personal_space_module:
ai_auto_config
:
'
AI自動配置'
question_answer_model
:
'
問答模型'
question_answer_model_desc
:
'
用於總結生成回覆結果'
topP
:
'
多樣性:'
topP_popover_message
:
'
用於控制模型輸出的多樣性。推薦值爲
0,數值越大,模型每次輸出內容的差異性越大'
communication_turn
:
'
參考對話輪數:'
generate_diversity
:
'
生成多樣性'
accurate_mode
:
'
精準模式'
balance_mode
:
'
平衡模式'
creative_mode
:
'
創意模式'
topP
:
'
top
P:'
topP_popover_message
:
'
模型在生成輸出時會從概率最高的詞彙開始選擇,直到這些詞彙的總概率累積達到Top
p值。這樣可以限制模型只選擇這些高概率的詞彙,從而控制輸出內容的多樣性'
temperature
:
'
多樣性:'
temperature_popover_message
:
'
用於控制模型輸出的多樣性。推薦值為
0,數值越大,模型每次輸出內容的差異性越大'
communication_turn
:
'
參考對話輪數:'
communication_turn_popover_message
:
'
傳入大模型上下文的最大對話輪數。推薦值爲2,數值越大,多輪對話中上下文相關性越強,但Tokens消耗越多'
agent_setting
:
'
應用設定'
base_info
:
'
基本信息'
...
...
@@ -183,20 +197,16 @@ personal_space_module:
search_knowledge_placeholder
:
'
請輸入知識庫名稱'
knowledge_name
:
'
知識庫名稱'
knowledge_desc
:
'
知識庫描述'
empty_knowledge_list
:
'
暫無知識庫'
search_empty_knowledge_list
:
'
暫⽆搜索結果,請換⼀個關鍵詞進⾏搜索'
delete_knowledge_dialog_content
:
'
刪除後將無法恢復,
是否確認刪除?'
not_find_knowledge_message
:
'
未找到知識庫'
search_knowledge_document_placeholder
:
'
請輸入文件名稱'
knowledge_document_name
:
'
文件名稱'
knowledge_document_char_count
:
'
字符數'
knowledge_document_char_unit
:
'
字符'
knowledge_document_format
:
'
文件格式'
view_knowledge_document_fragment
:
'
查看切片'
training_knowledge_document
:
'
重新訓練'
empty_knowledge_document_list
:
'
暫無上傳文檔'
search_empty_knowledge_document_list
:
'
暫⽆搜索結果,請換⼀個關鍵詞進⾏搜索'
empty_knowledge_document_list
:
'
暫無文件'
upload_knowledge_document_btn_text
:
'
導入文件'
batch_delete_knowledge_document_btn_text
:
'
批量刪除'
not_find_knowledge_document_message
:
'
未找到知識庫文件'
...
...
@@ -213,6 +223,32 @@ personal_space_module:
import_local_document_knowledge
:
'
本地文檔'
import_local_document_knowledge_desc
:
'
支持上傳TXT、MD、PDF、DOC、DOCX、格式的本地文件'
segment
:
'
分段'
auto_segment
:
'
自動分段'
add_chunk_up_message
:
'
向上添加分片'
add_chunk_down_message
:
'
向下添加分片'
search_knowledge_chunk_placeholder
:
'
請輸入切片名稱'
add_knowledge_chunk_modal_title
:
'
新增切片'
knowledge_chunk_content_input_placeholder
:
'
請輸入內容'
knowledge_chunk_content_input_rule
:
'
內容不能為空'
delete_knowledge_chunk_content_message
:
'
確認刪除該切片?'
upload_document_module
:
segment_setting
:
'
分段處理'
data_process
:
'
數據處理'
process_success
:
'
處理成功'
process_fail
:
'
處理失敗'
processed
:
'
處理中~'
upload_action_tip_message
:
'
點擊上傳或拖拽文檔到這裏'
upload_limit_tip_message
:
'
支持DOC、DOCX、TXT、PDF、MD,最多可上傳5個文件,每個文件不超過10MB'
empty_document_content_message
:
'
上傳文件內容不能為空'
upload_format_error_message
:
'
只能上傳DOC、DOCX、TXT、PDF、MD格式文本文件,請重新上傳'
upload_size_error_message
:
'
上傳文件大小不能超過5M'
upload_error_message
:
'
上傳失敗,請刪除文件後再進行操作'
default_segment_setting_title
:
'
自動分段與清洗'
default_segment_setting_desc
:
'
自動分段與預處理規則'
data_process_tip_message
:
'
點擊確認不影響數據處理,處理完畢後可進行引用'
share_agent_module
:
please
:
'
請先'
after_action
:
'
後開始提問'
...
...
src/views/personal-space/personal-app-setting/app-setting-config.ts
0 → 100644
View file @
b5e0d7b8
export
interface
DiversityModeItem
{
label
:
string
value
:
string
topP
:
number
temperature
:
number
communicationTurn
:
number
}
export
const
diversityModeList
:
DiversityModeItem
[]
=
[
{
label
:
'personal_space_module.agent_module.agent_setting_module.agent_config_module.accurate_mode'
,
value
:
'accurate'
,
topP
:
0.1
,
temperature
:
0.1
,
communicationTurn
:
3
,
},
{
label
:
'personal_space_module.agent_module.agent_setting_module.agent_config_module.balance_mode'
,
value
:
'balance'
,
topP
:
0.7
,
temperature
:
0.5
,
communicationTurn
:
3
,
},
{
label
:
'personal_space_module.agent_module.agent_setting_module.agent_config_module.creative_mode'
,
value
:
'creative'
,
topP
:
0.7
,
temperature
:
0.95
,
communicationTurn
:
3
,
},
{
label
:
'common_module.custom'
,
value
:
'custom'
,
topP
:
0.5
,
temperature
:
0.8
,
communicationTurn
:
3
,
},
]
src/views/personal-space/personal-app-setting/components/app-setting.vue
View file @
b5e0d7b8
...
...
@@ -21,6 +21,7 @@ import {
fetchSaveAgentApplication
,
}
from
'@/apis/agent-application'
import
{
fetchCustomEventSource
}
from
'@/composables/useEventSource'
import
{
DiversityModeItem
,
diversityModeList
}
from
'../app-setting-config'
const
{
t
}
=
useI18n
()
...
...
@@ -92,6 +93,8 @@ const personalAppRules = {
},
}
const
currentDiversityMode
=
ref
(
'balance'
)
let
generateAgentTitleAndDescController
:
AbortController
|
null
=
null
let
generateAgentAvatarController
:
AbortController
|
null
=
null
let
generatePreambleController
:
AbortController
|
null
=
null
...
...
@@ -112,6 +115,10 @@ const isUpdatePersonalAgentConfig = computed(() => {
return
!
isInitGetAgentAppDetail
.
value
})
const
isDisabledCommModelConfig
=
computed
(()
=>
{
return
currentDiversityMode
.
value
!==
'custom'
})
watch
(
()
=>
personalAppConfig
.
value
,
()
=>
{
...
...
@@ -168,6 +175,22 @@ async function handleGetAgentApplicationDetail(agentId: string) {
.
forEach
((
property
)
=>
{
commConfigExpandedNames
.
value
.
push
(
property
)
})
const
{
temperature
,
topP
}
=
personalAppConfig
.
value
.
commModelConfig
switch
(
temperature
)
{
case
0.1
:
currentDiversityMode
.
value
=
topP
===
0.1
?
'accurate'
:
'custom'
break
case
0.5
:
currentDiversityMode
.
value
=
topP
===
0.7
?
'balance'
:
'custom'
break
case
0.95
:
currentDiversityMode
.
value
=
topP
===
0.7
?
'creative'
:
'custom'
break
default
:
currentDiversityMode
.
value
=
'custom'
}
}
}
...
...
@@ -430,6 +453,14 @@ function handleStopGenerate() {
generateAgentSystemController
?.
abort
()
isFullScreenLoading
.
value
=
false
}
function
handleDiversityModeChange
(
diversityModeItem
:
DiversityModeItem
)
{
const
{
value
,
topP
,
temperature
,
communicationTurn
}
=
diversityModeItem
currentDiversityMode
.
value
=
value
personalAppConfig
.
value
.
commModelConfig
.
topP
=
topP
personalAppConfig
.
value
.
commModelConfig
.
temperature
=
temperature
personalAppConfig
.
value
.
commModelConfig
.
communicationTurn
=
communicationTurn
}
</
script
>
<
template
>
...
...
@@ -460,7 +491,7 @@ function handleStopGenerate() {
class=
"hover:border-theme-color flex cursor-pointer items-center justify-between rounded-md border border-[#d4d6d9] px-3 py-[7px]"
>
<img
:src=
"currentLargeModelIcon || '@/assets/images/lingjing-icon.png'"
class=
"mr-1 h-4 w-4"
/>
<span
class=
"line-clamp-1
max-
w-[100px] text-xs text-[#5c5f66]"
>
<span
class=
"line-clamp-1 w-[100px] text-xs text-[#5c5f66]"
>
{{
personalAppConfig
.
commModelConfig
.
largeModel
}}
</span>
<CustomIcon
icon=
"mingcute:down-line"
class=
"ml-1.5 text-base outline-none"
/>
...
...
@@ -488,6 +519,27 @@ function handleStopGenerate() {
@
update:value=
"handleUpdateLargeModel"
/>
<div
class=
"mt-4"
>
<span>
{{ t('personal_space_module.agent_module.agent_setting_module.agent_config_module.generate_diversity') }}
</span>
<ul
class=
"rounded-theme mt-2 grid grid-cols-4 overflow-hidden"
>
<li
v-for=
"(diversityModeItem, index) in diversityModeList"
:key=
"index"
class=
"hover:text-font-color flex h-[34px] w-full cursor-pointer items-center justify-center text-xs"
:class=
"
currentDiversityMode === diversityModeItem.value
? 'text-font-color bg-active-color'
: 'text-gray-font-color bg-[#F7F7FA]'
"
@
click=
"handleDiversityModeChange(diversityModeItem)"
>
{{ t(diversityModeItem.label) }}
</li>
</ul>
</div>
<div
class=
"mt-4 text-xs"
>
<div
class=
"mb-2.5 flex h-[34px] items-center justify-between"
>
<div
class=
"flex w-[105px] items-center"
>
...
...
@@ -518,8 +570,55 @@ function handleStopGenerate() {
:step=
"0.01"
:min=
"0"
:max=
"1"
:disabled=
"isDisabledCommModelConfig"
/>
<span
class=
"ml-4 w-8"
>
{{ personalAppConfig.commModelConfig.topP }}
</span>
</div>
<NInputNumber
v-model:value=
"personalAppConfig.commModelConfig.topP"
placeholder=
""
:step=
"0.01"
:min=
"0"
:max=
"1"
:disabled=
"isDisabledCommModelConfig"
size=
"small"
class=
"w-[90px]! text-xs!"
/>
</div>
<div
class=
"mb-2.5 flex h-[34px] items-center justify-between"
>
<div
class=
"flex w-[105px] items-center"
>
<span>
{{ t('personal_space_module.agent_module.agent_setting_module.agent_config_module.temperature') }}
</span>
<NPopover
trigger=
"hover"
>
<
template
#
trigger
>
<CustomIcon
icon=
"mingcute:question-line"
class=
"ml-1 cursor-pointer text-base text-[#999] outline-none"
/>
</
template
>
<span
class=
"text-xs"
>
{{
t(
'personal_space_module.agent_module.agent_setting_module.agent_config_module.temperature_popover_message',
)
}}
</span>
</NPopover>
</div>
<div
class=
"mx-5 flex flex-1"
>
<NSlider
v-model:value=
"personalAppConfig.commModelConfig.temperature"
:default-value=
"0"
:step=
"0.01"
:min=
"0.01"
:max=
"1"
:disabled=
"isDisabledCommModelConfig"
/>
<span
class=
"ml-4 w-[3
0px]"
>
{{ personalAppConfig.commModelConfig.topP
}}
</span>
<span
class=
"ml-4 w-[3
2px]"
>
{{ personalAppConfig.commModelConfig.temperature
}}
</span>
</div>
<NInputNumber
...
...
@@ -528,6 +627,7 @@ function handleStopGenerate() {
:step=
"0.01"
:min=
"0"
:max=
"1"
:disabled=
"isDisabledCommModelConfig"
size=
"small"
class=
"w-[90px]! text-xs!"
/>
...
...
@@ -565,7 +665,7 @@ function handleStopGenerate() {
:min=
"0"
:max=
"100"
/>
<span
class=
"ml-4 w-
[30px]
"
>
{{ personalAppConfig.commModelConfig.communicationTurn }}
</span>
<span
class=
"ml-4 w-
8
"
>
{{ personalAppConfig.commModelConfig.communicationTurn }}
</span>
</div>
<NInputNumber
v-model:value=
"personalAppConfig.commModelConfig.communicationTurn"
...
...
types/locales.d.ts
View file @
b5e0d7b8
...
...
@@ -32,6 +32,13 @@ declare namespace I18n {
config
:
string
agent
:
string
knowledge
:
string
custom
:
string
char
:
string
upload
:
string
uploading
:
string
upload_success_message
:
string
empty_data
:
string
search_empty_data
:
string
create_agent_btn_text
:
string
copy_success_message
:
string
delete_success_message
:
string
...
...
@@ -39,6 +46,7 @@ declare namespace I18n {
edit_success_message
:
string
publish_success_message
:
string
clear_success_message
:
string
add_success_message
:
string
dialogue_module
:
{
continue_question_message
:
string
...
...
@@ -123,8 +131,14 @@ declare namespace I18n {
ai_auto_config
:
string
question_answer_model
:
string
question_answer_model_desc
:
string
generate_diversity
:
string
accurate_mode
:
string
balance_mode
:
string
creative_mode
:
string
topP
:
string
topP_popover_message
:
string
temperature
:
string
temperature_popover_message
:
string
communication_turn
:
string
communication_turn_popover_message
:
string
agent_setting
:
string
...
...
@@ -190,20 +204,16 @@ declare namespace I18n {
search_knowledge_placeholder
:
string
knowledge_name
:
string
knowledge_desc
:
string
empty_knowledge_list
:
string
search_empty_knowledge_list
:
string
delete_knowledge_dialog_content
:
string
not_find_knowledge_message
:
string
search_knowledge_document_placeholder
:
string
knowledge_document_name
:
string
knowledge_document_char_count
:
string
knowledge_document_char_unit
:
string
knowledge_document_format
:
string
view_knowledge_document_fragment
:
string
training_knowledge_document
:
string
empty_knowledge_document_list
:
string
search_empty_knowledge_document_list
:
string
upload_knowledge_document_btn_text
:
string
batch_delete_knowledge_document_btn_text
:
string
not_find_knowledge_document_message
:
string
...
...
@@ -219,6 +229,33 @@ declare namespace I18n {
knowledge_document_text_type
:
string
import_local_document_knowledge
:
string
import_local_document_knowledge_desc
:
string
segment
:
string
auto_segment
:
string
add_chunk_up_message
:
string
add_chunk_down_message
:
string
search_knowledge_chunk_placeholder
:
string
add_knowledge_chunk_modal_title
:
string
knowledge_chunk_content_input_placeholder
:
string
knowledge_chunk_content_input_rule
:
string
delete_knowledge_chunk_content_message
:
string
upload_document_module
:
{
segment_setting
:
string
data_process
:
string
process_success
:
string
process_fail
:
string
processed
:
string
upload_action_tip_message
:
string
upload_limit_tip_message
:
string
empty_document_content_message
:
string
upload_format_error_message
:
string
upload_size_error_message
:
string
upload_error_message
:
string
default_segment_setting_title
:
string
default_segment_setting_desc
:
string
data_process_tip_message
:
string
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment