Merge branch 'master' of http://192.168.5.5:10010/r/web/flow_web
| | |
| | | rerank_id:'', |
| | | top_k:1024, |
| | | }); |
| | | const height = ref('calc(100vh - 520px)'); |
| | | const height = ref('calc(500px)'); |
| | | const props = defineProps(['typeAngint', 'formData']); |
| | | const emit = defineEmits(['queryList']); |
| | | const columns = [ |
| | |
| | | import { Message } from '@arco-design/web-vue'; |
| | | |
| | | const visible = ref(false); |
| | | const loading = ref(false); |
| | | const form = reactive({ |
| | | name: '',// 用户名 |
| | | nameJoin: '',// 昵称 |
| | | post: '',// 岗位 |
| | | txt: '',// 备注 |
| | | }); |
| | | const formRef = ref(null); |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | const emit = defineEmits(['knowledgeData']) |
| | | const emit = defineEmits(['getknowledge','getKbdetail']) |
| | | |
| | | const handleSubmit = async({values, errors}) => { |
| | | if(errors) return; |
| | |
| | | if(data.code == 0){ |
| | | visible.value = false; |
| | | Message.success('创建成功'); |
| | | emit("knowledgeData"); |
| | | // emit('getKbdetail',data.data.kb_id); |
| | | emit("getknowledge",data.data.kb_id); |
| | | } |
| | | } |
| | | |
| | |
| | | const handleOpened =(el) => { |
| | | Object.assign(form,{ |
| | | name: '',// 用户名 |
| | | nameJoin: '',// 昵称 |
| | | post: '',// 岗位 |
| | | txt: '',// 备注 |
| | | }); |
| | | formRef.value.resetFields(); |
| | | } |
| | |
| | | |
| | | |
| | | }) |
| | | </script> |
| | | |
| | | <script lang="ts"> |
| | | export default { |
| | | name: 'add', |
| | | methods: { |
| | | |
| | | } |
| | | }; |
| | | </script> |
| | |
| | | <!-- <a-option value="1">英文</a-option>--> |
| | | <!-- </a-select>--> |
| | | <!-- </a-form-item>--> |
| | | <a-form-item field="section" label="嵌入模型" :rules="[{match:/section one/,message:'请选择'}]"> |
| | | <a-form-item field="section" label="嵌入模型"> |
| | | <a-space direction="vertical" size="large"> |
| | | <a-select :size="'large'" v-model="form.embd_id" :style="{width:'100%'}" placeholder="请选择 ..." disabled allow-clear> |
| | | <a-select :size="'large'" v-model="form.embd_id" :style="{width:'100%'}" placeholder="请选择 ..." :disabled="kbObj.chunk_num>0 || kbObj.token_num>0" allow-clear> |
| | | <a-optgroup :label="index" v-for="(item,index) in modelList" :key=index> |
| | | <a-option |
| | | v-for="(obj) in item" |
| | |
| | | </a-select> |
| | | </a-space> |
| | | </a-form-item> |
| | | <a-form-item field="section" label="解析方法" :rules="[{match:/section one/,message:'请选择'}]"> |
| | | <a-select v-model="form.parser_id" placeholder="请选择" disabled allow-clear> |
| | | <a-form-item field="parser_id" label="解析方法"> |
| | | <a-select v-model="form.parser_id" placeholder="请选择" :disabled="kbObj.chunk_num>0 || kbObj.token_num>0" allow-clear> |
| | | <a-option v-for="item in parser_ids" :key="item.value" :label="item.name" :value="item.value"></a-option> |
| | | </a-select> |
| | | </a-form-item> |
| | |
| | | |
| | | const props = defineProps(['kbtenantInfo']) |
| | | // const emit = defineEmits(['upTabdateItem']) |
| | | |
| | | const kbtenantInfo = props.kbtenantInfo; |
| | | |
| | | // 解析方法列表 |
| | | let parser_ids = kbtenantInfo.parser_ids.split(",").map((item) => { |
| | | const [value1, value2] = item.split(":"); |
| | | return { |
| | |
| | | const data = await kbUpdate(parms); |
| | | if(data.code == '0'){ |
| | | Message.success("配置成功"); |
| | | window.location.reload(); |
| | | // window.location.reload(); |
| | | } |
| | | // visible.value = false; |
| | | // emit('upTabdateItem') |
| | |
| | | :placeholder="$t('cardList.searchInput.placeholder')" |
| | | style="width: 130px;" |
| | | /> |
| | | <addKnow @knowledgeData="knowledgeData"></addKnow> |
| | | <addKnow @getknowledge="getknowledge" @getKbdetail="getKbdetail"></addKnow> |
| | | </div> |
| | | <div class="lf-container-down"> |
| | | <a-scrollbar style="height:56rem;overflow: auto;"> |
| | |
| | | </a-scrollbar> |
| | | </div> |
| | | </div> |
| | | <div class="rt-container"> |
| | | <a-tabs default-active-key="1"> |
| | | <div class="rt-container" v-if="tabs.length > 0"> |
| | | <a-tabs :activeKey="activeKey" @change="handleTabChange"> |
| | | <a-tab-pane key="1" :title= "t('dmx.list.DataSet')"> |
| | | <div class="rt-container-main"> |
| | | <a-card ref="account" class="general-card" title="" style="padding-top: 20px"> |
| | |
| | | @change="search" |
| | | /> |
| | | <!--新建--> |
| | | <span v-if="tabs.length > 0"> |
| | | <span> |
| | | <add :kbobj="kbobj" @changeFetchData="changeFetchData"/> |
| | | </span> |
| | | </a-col> |
| | |
| | | const size = ref<SizeProps>('medium'); |
| | | let visible = ref(false) |
| | | let keywords = ref('') |
| | | let activeKey = ref('1') |
| | | let detailsShow = ref(false) |
| | | let selectedTab = ref(0) |
| | | let testForm = ref(null) |
| | |
| | | let parser_ids = reactive({}) |
| | | let seeObj = reactive({}) |
| | | let kbtenantInfo = reactive({ |
| | | "asr_id": "paraformer-realtime-8k-v1", |
| | | "embd_id": "BAAI/bge-large-zh-v1.5", |
| | | "img2txt_id": "qwen-vl-max", |
| | | "llm_id": "qwen-plus", |
| | | "name": "wanghao‘s Kingdom", |
| | | "parser_ids": "naive:General,qa:Q&A,resume:Resume,manual:Manual,table:Table,paper:Paper,book:Book,laws:Laws,presentation:Presentation,picture:Picture,one:One", |
| | | "rerank_id": "BAAI/bge-reranker-v2-m3", |
| | | "role": "owner", |
| | | "tenant_id": "948fc6fa41ab11ef8fb80242ac120004", |
| | | asr_id: "paraformer-realtime-8k-v1", |
| | | embd_id: "BAAI/bge-large-zh-v1.5", |
| | | img2txt_id: "qwen-vl-max", |
| | | llm_id: "qwen-plus", |
| | | name: "wanghao‘s Kingdom", |
| | | parser_ids: "naive:General,qa:Q&A,resume:Resume,manual:Manual,table:Table,paper:Paper,book:Book,laws:Laws,presentation:Presentation,picture:Picture,one:One", |
| | | rerank_id: "BAAI/bge-reranker-v2-m3", |
| | | role: "owner", |
| | | tenant_id: "948fc6fa41ab11ef8fb80242ac120004", |
| | | parser_idObj:{} |
| | | }) |
| | | let tabs = ref([]) |
| | |
| | | // console.log(item.id); |
| | | kbobj= item; |
| | | kbId = kbobj.id; |
| | | testForm.value.changekbid(kbId); |
| | | configForm.value.changekbObj(kbobj); |
| | | fetchData({ |
| | | kb_id: kbobj.id, |
| | | page: 1, |
| | | page_size: 20 |
| | | }) |
| | | getKbdetail(kbobj.id) |
| | | } |
| | | |
| | | const basePagination: Pagination = { |
| | |
| | | const data = await queryKbDocumentList(params); |
| | | console.log(data, 'data'); |
| | | if(data.code=='0'){ |
| | | // 详情 |
| | | // const kbtenantInfo = await queryKbtenantInfo(); |
| | | parser_ids = kbtenantInfo.parser_ids.split(',').reduce((acc, pair) => { |
| | | const [key, value] = pair.split(':'); |
| | | acc[key] = value; |
| | |
| | | |
| | | pagination.current = params.page; |
| | | pagination.total = data.data.total; |
| | | // 查询知识库详情 |
| | | // kbdetail = await queryKbdetail({ |
| | | // kb_id:params.kb_id, |
| | | // }); |
| | | |
| | | } |
| | | } catch (err) { |
| | |
| | | if(tabs.value.length>0 && tabs.value[0]){ |
| | | kbobj = tabs.value[0] |
| | | kbId = kbobj.id; |
| | | testForm.value.changekbid(kbId); |
| | | configForm.value.changekbObj(kbobj); |
| | | activeKey.value = '1'; |
| | | fetchData({ |
| | | kb_id: kbobj.id, |
| | | page: 1, |
| | | page_size: 20 |
| | | }) |
| | | getKbdetail(kbobj.id) |
| | | }else{ |
| | | |
| | | } |
| | | // renderData.value = data.list; |
| | | // console.log(renderData, 'renderData'); |
| | |
| | | setLoading(false); |
| | | } |
| | | }; |
| | | |
| | | |
| | | const getKbdetail = async (kb_id) => { |
| | | // 查询知识库详情 |
| | | const data = await queryKbdetail({ |
| | | kb_id:kb_id, |
| | | }); |
| | | kbdetail = data.data; |
| | | testForm.value.changekbid(kbdetail.id); |
| | | configForm.value.changekbObj(kbdetail); |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | const getknowledge = async (id) => { |
| | | setLoading(true); |
| | | try { |
| | | const { data } = await queryKbList({ page: 1, page_size: 20 }); |
| | | console.log(data, '查询知识库列表'); |
| | | tabs.value = data; |
| | | if(tabs.value.length>0){ |
| | | // 定位到新增的知识库单元 |
| | | selectedTab.value = tabs.value.findIndex(item=>item.id==id); |
| | | getKbdetail(id) // 获取详情 |
| | | activeKey.value = '3'; |
| | | // 详情 |
| | | // const kbtenantInfo = await queryKbtenantInfo(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } catch (err) { |
| | | // you can report use errorHandler or other |
| | | } finally { |
| | | setLoading(false); |
| | | } |
| | | }; |
| | | |
| | | const deleteKnowledge = async (id) => { |
| | | let data = await deleteKnow({ |
| | |
| | | const reset = () => { |
| | | formModel.value = generateFormModel(); |
| | | }; |
| | | |
| | | function handleTabChange(key: string) { |
| | | // 处理标签改变事件 |
| | | console.log('Changed to tab:', key); |
| | | activeKey.value=key; |
| | | } |
| | | const handleSelectDensity = ( |
| | | val: string | number | Record<string, any> | undefined, |
| | | e: Event |
| | |
| | | </a-select> |
| | | </a-space> |
| | | </a-form-item> |
| | | <a-form-item field="slider" label="Top-K" :rules="[{type:'number', min:5,message:'slider is min than 5'}]"> |
| | | <a-form-item field="slider" label="Top-K" v-if="form.rerank_id === 'Jina' || form.rerank_id === 'BAAI'"> |
| | | <a-slider v-model="form.top_k" :min="1" :max="2048" /> |
| | | </a-form-item> |
| | | <a-form-item > |
| | |
| | | <a-textarea v-model="form.question" style="height: 10rem;border: 1px solid var(--color-fill-3);border-radius: 4px" placeholder="" allow-clear/> |
| | | </div> |
| | | <div class="main-container-form-item-extra-btn"> |
| | | <a-button type="primary" html-type="submit">测试</a-button> |
| | | <a-button :disabled="!form.question" type="primary" html-type="submit">测试</a-button> |
| | | </div> |
| | | </div> |
| | | </a-form-item> |
| | |
| | | similarity_threshold: 0.2, |
| | | size: 10, |
| | | top_k: 1024, |
| | | vector_similarity_weight: 0.3, |
| | | vector_similarity_weight: 0.7, |
| | | }); |
| | | |
| | | |
| | |
| | | let formObj = { |
| | | ...form, |
| | | kb_id:kbid.value, |
| | | vector_similarity_weight:(1 - form.vector_similarity_weight).toFixed(2), |
| | | } |
| | | const data = await kbretrievalTest(formObj); |
| | | if(!formObj.rerank_id){ |
| | | delete formObj.top_k; |
| | | delete formObj.rerank_id; |
| | | } |
| | | const data = await kbretrievalTest(formObj); |
| | | } |
| | | |
| | | const handleClick = () => { |
| | |
| | | } |
| | | |
| | | const changekbid = (value) => { |
| | | console.log(value, 'kbid的value'); |
| | | kbid.value = value; |
| | | } |
| | | |
| | | const queryModel = async (params) => { |
| | | try { |
| | | const data = await queryModelList(params); |
| | | console.log(data.data, '大模型列表'); |
| | | // console.log(data.data, '大模型列表'); |
| | | modelList.value = { |
| | | BAAI: [data.data.BAAI[1]], |
| | | Jina: data.data.Jina, |
| | |
| | | avatar="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp" |
| | | > |
| | | <template #content> |
| | | <div :class="{ light: theme === 'light' }">{{ |
| | | <div>{{ |
| | | sessionDetail.content |
| | | }} |
| | | </div> |
| | |
| | | auto-size |
| | | v-model="displayedText" |
| | | class="chat-item-answer" |
| | | style="background-color: rgba(63, 64, 79, 1)" |
| | | style="background-color:rgba(192,172,172,0.88)" |
| | | > |
| | | </a-textarea> |
| | | </template> |