news 2026/4/18 4:24:47

直接用一个公式,就逼近几千神经元的效果,吊打传统aI,你们赶紧拿去当知识蒸馏和混合生成,让传统AI的实力进一步提高

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
直接用一个公式,就逼近几千神经元的效果,吊打传统aI,你们赶紧拿去当知识蒸馏和混合生成,让传统AI的实力进一步提高

<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width,initial-scale=1.0">

<title>意义密度多问题混合问答</title>

<style>body{font-family:Arial,sans-serif;max-width:800px;margin:20px auto;padding:0 20px;}.g{margin:15px 0;}label{display:block;margin-bottom:5px;font-weight:bold;}input,textarea{width:100%;padding:8px;box-sizing:border-box;border:1px solid #ccc;border-radius:4px;}textarea{height:80px;resize:vertical;}button{padding:10px 15px;margin:5px;border:none;border-radius:4px;background:#007bff;color:#fff;cursor:pointer;}button:hover{background:#0056b3;}#r,#kb,#tk{margin-top:20px;padding:10px;border:1px solid #ccc;border-radius:4px;word-break:break-all;}</style>

</head>

<body>

<h1>意义密度多问题混合问答</h1>

<div class="g"><label for="q">问题</label><input type="text" id="q" placeholder="输入问题..."></div>

<div class="g"><label for="ans">回答(英文逗号分隔)</label><textarea id="ans" placeholder="多个回答用英文逗号分隔..."></textarea></div>

<div class="g"><label for="nq">新问题查询(可多个,英文逗号分隔)</label><input type="text" id="nq" placeholder="输入多个查询问题,英文逗号分隔..."></div>

<div class="g"><label for="spd">生成速度(ms/字)</label><input type="number" id="spd" value="100" min="10" max="1000"></div>

<button onclick="updKB()">添加到知识库</button>

<button onclick="qry()">查询答案</button>

<button onclick="rst()">重置所有</button>

<div id="r">等待查询...</div>

<div id="tk">思考过程:</div>

<div id="kb"><strong>知识库:</strong> 暂无数据</div>

<script>

const A=0.5,B=2.0,N=100,DIFF_THRESHOLD=0.1;let kb=[],t="",h=[],c=0,tkSteps=[];

function t2h(t){let h=0,p=31;for(let i=0;i<t.length;i++)h=(h*p+t.charCodeAt(i))&0xFFFFFFFF;return h;}

function tn(s){return s.split('').reduce((a,b)=>a+(parseInt(b)||0),0);}

function sim(t1,t2){

if(!t1||!t2)return 0;

const h1=t2h(t1),h2=t2h(t2);

const hs=1-Math.abs(tn(h1.toString())-tn(h2.toString()))/(Math.max(tn(h1.toString()),tn(h2.toString()))||1);

const m1=t1.split('').reduce((s,c)=>s+c.charCodeAt(0),0)/t1.length;

const m2=t2.split('').reduce((s,c)=>s+c.charCodeAt(0),0)/t2.length;

const cs=1-Math.abs(m1-m2)/(Math.max(m1,m2)||1);

return 0.6*hs+0.4*cs;

}

function sss(aL){let s=0;aL.forEach(a=>s+=(1-sim(aL[0],a))*(a.length/10||1));return s||1;}

function tcr(d,tm,ss,s){return A*(tm/(ss||1))+d*(1+d/B)-s;}

function rndKB(){

const kbe=document.getElementById('kb');

if(!kb.length){kbe.innerHTML="<strong>知识库:</strong> 暂无数据";return;}

let h="<strong>知识库:</strong><br>";

kb.forEach((i,idx)=>h+=`${idx+1}. 问题: ${i.q}<br>&nbsp;&nbsp;回答: [${i.a.join(', ')}]<br>&nbsp;&nbsp;意义密度: ${i.md.toFixed(4)}<br><br>`);

kbe.innerHTML=h;

}

function updKB(){

const q=document.getElementById('q').value.trim(),aL=document.getElementById('ans').value.trim().split(',').map(a=>a.trim()).filter(a=>a);

if(!q||!aL.length){document.getElementById('r').textContent="请输入完整内容!";return;}

kb.push({q,a:aL,md:sim(q,q)});rndKB();

document.getElementById('r').textContent="添加成功!";

document.getElementById('q').value=document.getElementById('ans').value="";

}

function gw(){let ws="";kb.forEach(i=>ws+=i.q+i.a.join(''));return [...new Set(ws.split('').filter(w=>w.trim()))];}

function getMostFrequent(arr){

return arr.reduce((a,b)=>arr.filter(v=>v===a).length>=arr.filter(v=>v===b).length?a:b);

}

function calcAvgStr(arr){

if(!arr.length)return "";

const len=Math.floor(arr.map(s=>s.length).reduce((a,b)=>a+b)/arr.length);

const allChars=arr.join('').split('');

const freq=allChars.reduce((m,c)=>(m[c]=(m[c]||0)+1,m),{});

return Object.entries(freq).sort((x,y)=>y[1]-x[1]).slice(0,len).map(e=>e[0]).join('');

}

function getMultiMatchBest(qList){

let matchList=[];

qList.forEach(q=>{

kb.forEach(i=>{

const s=sim(q,i.q);

i.a.forEach(a=>{

const tm=s*i.md,ss=i.a.length,sSum=sss(i.a);

const d=sim(q,a),rt=tcr(d,tm,ss,sSum);

matchList.push({q:i.q,a:a,score:rt,sim:s,md:i.md});

});

i.md=Math.min((i.md+s)/2,1);

});

});

matchList.sort((x,y)=>y.score-x.score);

return matchList;

}

function getDensityDiff(arr){

if(arr.length<2)return 1;

const maxMd=Math.max(...arr.map(i=>i.md));

const minMd=Math.min(...arr.map(i=>i.md));

return maxMd-minMd;

}

function filterMatchByDiff(matchList){

const diff=getDensityDiff(matchList);

if(diff<DIFF_THRESHOLD) return matchList;

const avgMd=matchList.reduce((sum,i)=>sum+i.md,0)/matchList.length;

return matchList.filter(i=>Math.abs(i.md-avgMd)<DIFF_THRESHOLD);

}

function gn(ws,matchList,mr,isMix){

const sp=parseInt(document.getElementById('spd').value)||100;

const totalLen=isMix?Math.floor(matchList.reduce((sum,item)=>sum+item.a.length,0)/matchList.length)*1.2:matchList[0].a.length;

if(c>=totalLen||!ws.length||t.length>totalLen){

const res=t||matchList[0].a;

document.getElementById('r').innerHTML=`

<strong>总匹配度:</strong> ${mr.toFixed(4)}<br><strong>生成回答:</strong> ${res}

`;

const mostFreq=getMostFrequent(tkSteps);

const avgStr=calcAvgStr(tkSteps);

const tkText=isMix?`基于${tkSteps.length}次迭代,融合${matchList.length}个匹配结果,高频生成串为${mostFreq},平均特征串为${avgStr}`:`基于${tkSteps.length}次迭代,选取最优匹配结果生成,高频生成串为${mostFreq},平均特征串为${avgStr}`;

document.getElementById('tk').textContent=`思考过程: ${tkText}`;

t="";h=[];c=0;tkSteps=[];return;

}

const currentMatch=isMix?matchList[c%matchList.length]:matchList[0];

const newQ=currentMatch.q+t;

const sc={};

ws.forEach(w=>{

const d=(sim(w,newQ[c%newQ.length])+sim(w,currentMatch.a[c%currentMatch.a.length]))/2;

const tm=Math.min(d*N,1000000);

const ss=Math.max(ws.length,1);

const s=sss([currentMatch.q,currentMatch.a,newQ]);

sc[w]=tcr(d,tm,ss,s);

});

const maxW=Object.entries(sc).sort((x,y)=>y[1]-x[1])[0][0];

if(h.filter(x=>x===maxW).length<2){t+=maxW;h.push(maxW);}

tkSteps.push(t);

c++;

setTimeout(()=>gn(ws,matchList,mr,isMix),sp);

}

function qry(){

const nqVal=document.getElementById('nq').value.trim();

const qList=nqVal.split(',').map(q=>q.trim()).filter(q=>q);

const r=document.getElementById('r');

if(qList.length===0||!kb.length){r.textContent="请输入查询问题并确保知识库有数据!";return;}

const matchList=getMultiMatchBest(qList);

if(matchList.length===0){r.textContent="无匹配结果!";return;}

const densityDiff=getDensityDiff(matchList);

const filteredMatch=densityDiff<DIFF_THRESHOLD?matchList:filterMatchByDiff(matchList);

const isMix=filteredMatch.length>1&&densityDiff<DIFF_THRESHOLD;

const mr=matchList[0].score;

r.innerHTML=`匹配到 ${matchList.length} 个相关结果<br>生成中...`;

gn(gw(),filteredMatch,mr,isMix);

rndKB();

}

function rst(){

kb=[];t="";h=[];c=0;tkSteps=[];

document.getElementById('q').value=document.getElementById('ans').value=document.getElementById('nq').value=document.getElementById('spd').value=100;

document.getElementById('r').textContent="等待查询...";document.getElementById('tk').textContent="思考过程:";rndKB();

}

</script>

</body>

</html>

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 21:59:39

知网AIGC检测率太高?这5款降AI工具亲测有效

知网AIGC检测率太高&#xff1f;这5款降AI工具亲测有效 TL;DR&#xff1a;知网AIGC检测系统2025年12月升级后&#xff0c;检测逻辑从文本重合度转向语义连贯性分析&#xff0c;传统同义词替换彻底失效。亲测5款降AI工具后&#xff0c;推荐嘎嘎降AI&#xff08;达标率99.26%&…

作者头像 李华
网站建设 2026/4/18 3:52:10

【多式联运】基于AFO算法、GA和PSO算法求解不确定多式联运路径优化问题,同时和MATLAB自带的全局优化搜索器进行对比附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/4/17 22:53:07

芒格的多学科知识在投资决策中的作用

芒格的多学科知识在投资决策中的作用 关键词:芒格、多学科知识、投资决策、跨学科思维、投资策略 摘要:本文深入探讨了芒格所倡导的多学科知识在投资决策中的重要作用。从背景介绍出发,阐述了研究目的、预期读者、文档结构及相关术语。详细剖析了多学科知识的核心概念,展示…

作者头像 李华
网站建设 2026/4/12 22:19:09

揭秘提示工程架构师在智能作曲的实用应用技巧

提示工程架构师的智能作曲手册&#xff1a;用文字“编写”音乐的10个实用技巧 关键词 提示工程、智能作曲、大语言模型&#xff08;LLM&#xff09;、音乐生成、Prompt设计、上下文锚点、风格迁移 摘要 凌晨三点&#xff0c;短视频导演小王盯着电脑里的素材——老人摸着旧书店的…

作者头像 李华