zhangxiao
2024-08-07 b0825070ef2c080dc51e5e86c6f2b57ed169da5e
Merge branch 'master' of http://192.168.5.5:10010/r/web/flow_web
6个文件已修改
145 ■■■■■ 已修改文件
src/views/dmx/IntelligentAgent/components/agentConfig.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dmx/knowledgeLib/addKnow.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dmx/knowledgeLib/config.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dmx/knowledgeLib/index.vue 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dmx/knowledgeLib/test.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/session/sessionRecordsManager/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dmx/IntelligentAgent/components/agentConfig.vue
@@ -344,7 +344,7 @@
  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 = [
src/views/dmx/knowledgeLib/addKnow.vue
@@ -26,12 +26,8 @@
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);
@@ -45,7 +41,7 @@
}
const emit =  defineEmits(['knowledgeData'])
const emit =  defineEmits(['getknowledge','getKbdetail'])
const handleSubmit = async({values, errors}) => {
  if(errors) return;
@@ -55,7 +51,8 @@
    if(data.code == 0){
      visible.value = false;
      Message.success('创建成功');
      emit("knowledgeData");
      // emit('getKbdetail',data.data.kb_id);
      emit("getknowledge",data.data.kb_id);
    }
}
@@ -80,9 +77,6 @@
const handleOpened =(el) => {
  Object.assign(form,{
    name: '',// 用户名
    nameJoin: '',// 昵称
    post: '',// 岗位
    txt: '',// 备注
  });
  formRef.value.resetFields();
}
@@ -94,13 +88,4 @@
})
</script>
<script lang="ts">
export default {
  name: 'add',
  methods: {
  }
};
</script>
src/views/dmx/knowledgeLib/config.vue
@@ -68,9 +68,9 @@
<!--              <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"
@@ -83,8 +83,8 @@
              </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>
@@ -196,9 +196,8 @@
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 {
@@ -305,7 +304,7 @@
    const data = await kbUpdate(parms);
    if(data.code == '0'){
      Message.success("配置成功");
      window.location.reload();
      // window.location.reload();
    }
    // visible.value = false;
    // emit('upTabdateItem')
src/views/dmx/knowledgeLib/index.vue
@@ -8,7 +8,7 @@
            :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;">
@@ -32,8 +32,8 @@
          </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">
@@ -54,7 +54,7 @@
                            @change="search"
                          />
                          <!--新建-->
                          <span v-if="tabs.length > 0">
                          <span>
                            <add :kbobj="kbobj" @changeFetchData="changeFetchData"/>
                          </span>
                        </a-col>
@@ -359,6 +359,7 @@
  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)
@@ -371,15 +372,15 @@
  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([])
@@ -389,13 +390,12 @@
    // 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 = {
@@ -502,8 +502,6 @@
      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;
@@ -523,10 +521,6 @@
        pagination.current = params.page;
        pagination.total = data.data.total;
        //   查询知识库详情
        // kbdetail  = await queryKbdetail({
        //   kb_id:params.kb_id,
        // });
      }
    } catch (err) {
@@ -565,13 +559,15 @@
      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');
@@ -583,6 +579,47 @@
      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({
@@ -596,7 +633,11 @@
  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
src/views/dmx/knowledgeLib/test.vue
@@ -29,7 +29,7 @@
                </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 >
@@ -39,7 +39,7 @@
                  <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>
@@ -87,7 +87,7 @@
  similarity_threshold: 0.2,
  size: 10,
  top_k: 1024,
  vector_similarity_weight: 0.3,
  vector_similarity_weight: 0.7,
});
@@ -103,8 +103,13 @@
  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 = () => {
@@ -122,13 +127,14 @@
}
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,
src/views/session/sessionRecordsManager/index.vue
@@ -142,7 +142,7 @@
                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>
@@ -174,7 +174,7 @@
                    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>