From bc80406651f9b8f6754321341e8fe6a2429fac02 Mon Sep 17 00:00:00 2001
From: junleea <354425203@qq.com>
Date: Mon, 12 May 2025 13:49:08 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A8=A1=E5=9E=8B=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E7=B1=BB=E5=9E=8B=E9=80=89=E6=8B=A9=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9=E9=80=9A=E7=94=A8=E4=BA=A4=E4=BA=92?=
=?UTF-8?q?=E4=BC=9A=E8=AF=9D=E5=90=8D=E7=A7=B0=E5=85=A8=E9=83=A8=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/system/gen-chat.vue | 78 +++++--------------------------
src/views/system/manage-model.vue | 33 +++++++++++--
2 files changed, 41 insertions(+), 70 deletions(-)
diff --git a/src/views/system/gen-chat.vue b/src/views/system/gen-chat.vue
index 8bed130..2ee3b6c 100644
--- a/src/views/system/gen-chat.vue
+++ b/src/views/system/gen-chat.vue
@@ -7,11 +7,13 @@
- 当前会话
-
-
- - {{ getShortenedName(sessionName) }}
-
+ 当前会话
+
+
+
+ - {{ getShortenedName(sessionName) }}
+
+
@@ -24,7 +26,9 @@
:key="index"
@click="loadSession(session.ID)"
>
- {{ getShortenedName(session.Name) }}
+
+ {{ getShortenedName(session.Name) }}
+
@@ -634,66 +638,6 @@ const doReceiveMessage = (event) => {
const sendMessage = () => {
sendMessageWithFile()
return;
- if (inputMessage.value.trim() === "") {
- ElMessage.warning("消息不能为空");
- return;
- }
- let msg = {
- msg: inputMessage.value,
- type: "ollama",
- function: "gen-ai-chat",
- session_id: sessionID.value,
- model_id: selectModel.value,
- temperature: temperature.value,
- top_p: topP.value,
- };
- if (selectedFiles.value.length > 0) {
- // 处理选中的文件
- console.log("选中的文件:", selectedFiles.value);
- let img_file: File = selectedFiles.value[0];
- let img_content = []
- for (let i = 0; i < selectedFiles.value.length; i++) {
- img_content.push({"img_name": selectedFiles.value[i].UserFileName, "img_url": fileUrl + selectedFiles.value[i].file_store_name});
- }
- let img_msg: ImageMessage = {
- image_content: img_content,
- text: inputMessage.value,
- };
- let img_msg_str = JSON.stringify(img_msg);
- msg["msg"] = img_msg_str;
- msg["is_image"] = true;
- }
-
- try {
- socket.value.send(JSON.stringify(msg));
- } catch (e) {
- ElMessage.error("发送失败!连接已断开!");
- return;
- }
- if (sessionID.value == 0) {
- sessionName.value = inputMessage.value;
- }
- let pMsgContent ="";
- if (msg["is_image"]) {
- let img_msg: ImageMessage = JSON.parse(msg["msg"]);
- //解析成md格式
- let img_content= img_msg.image_content
- for (let i = 0; i < img_content.length; i++) {
- pMsgContent += `![${img_content[i].img_name}](${img_content[i].img_url})` + "\n";
- }
- pMsgContent = pMsgContent + img_msg.text;
- } else {
- pMsgContent = msg.msg;
- }
- messages.push({ role: "user", content: pMsgContent, finished: true });
- inputMessage.value = "";
- nextTick(() => {
- scrollToBottom(); // 新增滚动调用
- });
- loading.value = true;
- if (sessionID.value == 0) {
- sessionName.value = msg.msg;
- }
};
@@ -704,7 +648,7 @@ const sendMessageWithFile = () => {
}
let end_msg = {
msg: inputMessage.value,
- type: "ollama",
+ type: "null",
function: "gen-ai-chat",
session_id: sessionID.value,
model_id: selectModel.value,
diff --git a/src/views/system/manage-model.vue b/src/views/system/manage-model.vue
index dabdf03..6baf5b3 100644
--- a/src/views/system/manage-model.vue
+++ b/src/views/system/manage-model.vue
@@ -112,6 +112,7 @@ const getData = async () => {
let result = await FindModelService(req);
page.total = result.data.length;
page.index = 1;
+ page.currentPage = 1;
allData.value = result.data;
// 分页
let start = (page.index - 1) * page.size;
@@ -123,7 +124,7 @@ const getData = async () => {
start = page.total;
}
tableData.value = result.data.slice(start, end);
-
+ await getModelTTypeOptions();
};
getData();
@@ -149,12 +150,38 @@ const changePage2 = async (val: number) => {
page.currentPage = val;
};
+const modelTypeOptions = ref([
+ { label: '本地部署模型', value: 'ollama' },
+ { label: '星火', value: 'spark' },
+ { label: '豆包', value: 'doubao' }
+]);
+let opts = ref([]);
+const getModelTTypeOptions =()=>{
+ opts.value = [];
+ let modelTypeMap = new Map();
+ //遍历所有数据
+ for(let i=0;i({
labelWidth: '100px',
span: 12,
list: [
- { type: 'select', label: '类型', prop: 'Type', required: true, allowcreate:true, opts:[{label: '本地部署模型', value: 'ollama'},{label: '星火', value: 'spark'},{label: '豆包', value: 'doubao'}]},
+ { type: 'select', label: '类型', prop: 'Type', required: true, allowcreate:true, opts: opts.value },
{ type: 'input', label: 'URL', prop: 'Url', required: true },
{ type: 'input', label: '参数', prop: 'Parameter', required: true },
{ type: 'input', label: '描述', prop: 'Description', required: true },
@@ -166,7 +193,7 @@ let options_edit = ref({
labelWidth: '100px',
span: 12,
list: [
- { type: 'select', label: '类型', prop: 'Type', required: true,opts:[{label: '本地部署模型', value: 'ollama'},{label: '星火', value: 'spark'},{label: '豆包', value: 'doubao'}]},
+ { type: 'select', label: '类型', prop: 'Type', required: true, allowcreate:true,opts:opts.value},
{ type: 'input', label: 'URL', prop: 'Url', required: true },
{ type: 'input', label: '参数', prop: 'Parameter', required: true, rows: 4 },
{ type: 'input', label: '描述', prop: 'Description', required: true },