refactor AI chat message struct, allow users to set whether the AI responds in stream, compatible with the GPT-o1 model

This commit is contained in:
RockYang
2024-09-14 17:06:13 +08:00
parent e371310d02
commit 8c1b4d4516
18 changed files with 245 additions and 245 deletions

View File

@@ -132,12 +132,13 @@ const content =ref(processPrompt(props.data.content))
const files = ref([])
onMounted(() => {
// if (!finalTokens.value) {
// httpPost("/api/chat/tokens", {text: props.data.content, model: props.data.model}).then(res => {
// finalTokens.value = res.data;
// }).catch(() => {
// })
// }
processFiles()
})
const processFiles = () => {
if (!props.data.content) {
return
}
const linkRegex = /(https?:\/\/\S+)/g;
const links = props.data.content.match(linkRegex);
@@ -159,8 +160,7 @@ onMounted(() => {
}
content.value = md.render(content.value.trim())
})
}
const isExternalImg = (link, files) => {
return isImage(link) && !files.find(file => file.url === link)
}

View File

@@ -15,7 +15,9 @@
<el-radio value="chat">对话样式</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="流式输出:">
<el-switch v-model="data.stream" @change="(val) => {store.setChatStream(val)}" />
</el-form-item>
</el-form>
</div>
</el-dialog>
@@ -28,6 +30,7 @@ const store = useSharedStore();
const data = ref({
style: store.chatListStyle,
stream: store.chatStream,
})
// eslint-disable-next-line no-undef
const props = defineProps({