yangyin
2024-07-05 44025036ca9baea036a629c78273e9df48ba8e2e
src/views/project/ch/home/ScenarioDetails.vue
@@ -8,7 +8,7 @@
                     <i class="ywicon icon-gongzuozongjie text-[#1c86ff]" style="font-size: 20px !important"></i>
                     <span class="text-[14px] text-[#000] leading-5 ml-1">工作总结</span>
                  </div>
                  <el-select v-model="state.seriesModel" placeholder="请选择" size="large">
                  <el-select v-model="state.seriesModel" placeholder="请选择" size="large" @change="handleModelChange">
                     <el-option v-for="item in state.modelOptionList" :key="item.id" :label="item.title" :value="item.id" />
                  </el-select>
               </div>
@@ -63,8 +63,9 @@
<script setup lang="ts">
import type { FormRules } from 'element-plus';
import { onMounted, reactive } from 'vue';
import { getBigModelList } from '/@/api/ai/chat';
import { onMounted, reactive, ref } from 'vue';
import { QuestionWorkAi, getBigModelList } from '/@/api/ai/chat';
import { activeRoomId, activeSectionAId } from '/@/stores/chatRoom';
let state = reactive({
   seriesModel: '',
   modelOptionList: [],
@@ -92,19 +93,41 @@
      },
   ],
   workContent: '在左侧输入内容并提交,将自动为您生成工作总结',
   llm_id: '',
});
const modelRules = reactive<FormRules>({
   theme: [{ required: true, message: '必填项', trigger: 'blur' }],
   supplementContenT: [{ required: true, message: '必填项', trigger: 'blur' }],
   modelType: [{ required: true, message: '必填项', trigger: 'change' }],
});
const modelFormRef = ref(null);
//获取大模型列表
const getModelList = async () => {
   const res = await getBigModelList();
   state.modelOptionList = res.llm_list || [];
};
//切换模型
const handleModelChange = async (val: string) => {
   state.llm_id = val;
};
//立即生成
const handleSubmit = () => {};
const handleSubmit = async () => {
   const valid = await modelFormRef.value.validate().catch(() => {});
   if (!valid) return;
   return;
   const res = await QuestionWorkAi({
      section_a_id: activeSectionAId.value, //当前问题对应的主场景
      sample_id: '', //当前问题对应的sample_id(可不填或为空)
      llm_id: state.llm_id ? state.llm_id : '', //当前问题对应的llm_id(不填则用缺省llm)
      history_group_id: activeRoomId.value, //当前问题对应的history group id
      raw_mode: true, //是否直接调用大模型回答问题(不填为false)
      question: '', //提出的问题
   });
   const { theme, modelType, supplementContenT } = state.modelForm;
   const modelTypeText = state.modelTypeList.find((item) => item.Name === modelType)?.Name || '';
   const content = `## ${theme} ${modelTypeText}\n${supplementContenT}`;
   state.workContent = content;
};
onMounted(() => {
   getModelList();
});