Q & A Comparison Instructions
Ask a question and rank the answers across the models. Drag each answer to
rank it, in ascending order, from left-to-right. Optionally, select the
rank for each via the corresponding dropdown.
`,r=I(),o=M("div"),l=M("section"),a=M("div");for(let T=0;T{e.scrollIntoView({behavior:"smooth"})},0)}async function Li(e){console.log("run update",e);const n=await fetch("/chat/comparator/db/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:e})});if(n.ok)console.log("ok",n);else{const r=await n.text();alert(r)}}function wc(e,t,n){let r,o,l;ee(e,In,E=>n(7,l=E));let{numModels:a=1}=t,{models:s=[0]}=t,u="",f="",d=!1;mt(async()=>{if(await new Promise(E=>setTimeout(E,200)),m){const E=new L(m,{animation:150,onUpdate(T){E.toArray()}});E.toArray()}});const h=async E=>{E.preventDefault(),u=f,n(3,f=""),n(4,d=!0);let T={question:u};for(let x of s)T[x]="Loading...";Ye(In,l=[...l,T],l);const y=await fetch(`/chat/comparator/${u}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:u})});if(y.ok){const x=await y.json();n(1,s=Object.keys(x.answer)),n(0,a=s.length);for(let w of s)T[w]=x.answer[w];T.qid=x.qid,In.update(w=>(w[w.length-1]=T,w))}else{const x=await y.text();alert(x)}n(4,d=!1)};let g=0;setInterval(()=>{n(11,g=(g+1)%4)},200);let m,p;function b(E,T){const y=T,w=wt(E.currentTarget.parentNode).selectAll("div.answer").nodes().map(B=>B.id);w.forEach((B,J)=>{wt(`#${B}`).select(".answer-rank").property("value",J+1)});let A=[];for(let[B,J]of w.entries()){const re=parseInt(J.split("-")[1]),le=s[re],D={rank:B,model:le};A.push(D)}let j=l.filter(B=>B.qid===y),q=[];for(let B of A){const J={model:B.model,qid:parseInt(y),rank:parseInt(B.rank)+1,answer:j[0][B.model]};q.push(J)}Li(q)}function v(E,T,y){const x=T,w=parseInt(E.target.value),A=s[y],j={qid:x,rank:parseInt(w),model:A};let q=[],J=l.filter(le=>le.qid===j.qid)[0][j.model];const re={model:j.model,qid:parseInt(j.qid),rank:parseInt(j.rank),answer:J};q.push(re),Li(q)}const S=(E,T,y)=>v(y,E.qid,T),k=(E,T)=>b(T,E.qid);function z(E){Dn[E?"unshift":"push"](()=>{m=E,n(2,m)})}function C(){f=this.value,n(3,f)}return e.$set=E=>{"numModels"in E&&n(0,a=E.numModels),"models"in E&&n(1,s=E.models)},e.$.update=()=>{e.$.dirty&1&&n(6,r="1fr ".repeat(a).trim()),e.$.dirty&2048&&n(5,o=".".repeat(g).padEnd(3)),e.$.dirty&4100&&m&&(n(12,p=new L(m,{animation:150,dataIdAttr:"id",onUpdate(E){p.toArray()}})),p.toArray())},[a,s,m,f,d,o,r,l,h,b,v,g,p,S,k,z,C]}class kc extends ue{constructor(t){super(),se(this,t,wc,_c,ae,{numModels:0,models:1})}}const Qt=Le([{model:"llama",qid:1,rank:1,answer:"Llama's first unique answer."},{model:"gpt3.5",qid:1,rank:2,answer:"GPT-3.5's first unique answer."},{model:"gpt4",qid:1,rank:3,answer:"GPT-4's first unique answer."},{model:"claude",qid:1,rank:4,answer:"Claude's first unique answer."},{model:"llama",qid:2,rank:4,answer:"Llama's second unique answer."},{model:"gpt3.5",qid:2,rank:2,answer:"GPT-3.5's second unique answer."},{model:"gpt4",qid:2,rank:4,answer:"GPT-4's second unique answer."},{model:"claude",qid:2,rank:3,answer:"'s second unique answer."},{model:"llama",qid:3,rank:1,answer:"Llama's third unique answer."},{model:"gpt3.5",qid:3,rank:4,answer:"GPT-3.5's third unique answer."},{model:"gpt4",qid:3,rank:4,answer:"GPT-4's third unique answer."},{model:"claude",qid:3,rank:2,answer:"'s third unique answer."},{model:"llama",qid:4,rank:1,answer:"Llama's fourth unique answer."},{model:"gpt3.5",qid:4,rank:3,answer:"GPT-3.5's unique answer."},{model:"gpt4",qid:4,rank:2,answer:"GPT-4's unique answer."},{model:"claude",qid:4,rank:4,answer:"'s unique answer."},{model:"llama",qid:5,rank:1,answer:"Llama's unique answer."},{model:"gpt3.5",qid:5,rank:2,answer:"GPT-3.5's nique answer."},{model:"gpt4",qid:5,rank:3,answer:"GPT-4's fifth unique answer."},{model:"claude",qid:5,rank:4,answer:"'s fifthnswer."},{model:"llama",qid:6,rank:1,answer:"Llama's sixth unique answer."},{model:"gpt3.5",qid:6,rank:2,answer:"GPT-3.5's sixth unique answer."},{model:"gpt4",qid:6,rank:3,answer:"GPT-4's sixth unique answer."},{model:"claude",qid:6,rank:4,answer:"'s sixth uniq."}]),sd="";function Hi(e,t,n){const r=e.slice();return r[21]=t[n],r}function Gi(e,t,n){const r=e.slice();return r[21]=t[n],r[25]=n,r}function Wi(e,t,n){const r=e.slice();return r[26]=t[n],r}function Vi(e,t,n){const r=e.slice();return r[26]=t[n],r}function Xi(e){let t,n,r,o,l=`Q.${e[26]}`,a,s;return{c(){t=O("g"),n=O("line"),o=O("text"),a=R(l),c(n,"class","axis-tick svelte-1nna9rx"),c(n,"x1","0"),c(n,"x2","0"),c(n,"y1",0),c(n,"y2",r=-e[6]+e[12].bottom+e[12].top),c(n,"stroke","black"),c(n,"stroke-dasharray","4"),c(o,"class","axis-text svelte-1nna9rx"),c(o,"y","15"),c(o,"text-anchor","middle"),c(t,"transform",s=`translate(${e[3](e[26])+0} ${e[6]-e[12].bottom})`),c(t,"class","svelte-1nna9rx")},m(u,f){P(u,t,f),_(t,n),_(t,o),_(o,a)},p(u,f){f&64&&r!==(r=-u[6]+u[12].bottom+u[12].top)&&c(n,"y2",r),f&512&&l!==(l=`Q.${u[26]}`)&&X(a,l),f&584&&s!==(s=`translate(${u[3](u[26])+0} ${u[6]-u[12].bottom})`)&&c(t,"transform",s)},d(u){u&&N(t)}}}function Yi(e){let t=Number.isInteger(e[26]),n,r=t&&Xi(e);return{c(){r&&r.c(),n=we()},m(o,l){r&&r.m(o,l),P(o,n,l)},p(o,l){l&512&&(t=Number.isInteger(o[26])),t?r?r.p(o,l):(r=Xi(o),r.c(),r.m(n.parentNode,n)):r&&(r.d(1),r=null)},d(o){r&&r.d(o),o&&N(n)}}}function Qi(e){let t,n;return{c(){t=O("g"),c(t,"transform",n=`translate(${e[12].left} ${e[5](e[26])+0})`),c(t,"class","svelte-1nna9rx")},m(r,o){P(r,t,o)},p(r,o){o&32&&n!==(n=`translate(${r[12].left} ${r[5](r[26])+0})`)&&c(t,"transform",n)},d(r){r&&N(t)}}}function Ui(e,t){let n,r,o,l,a,s,u,f,d;function h(){return t[15](t[25])}function g(){return t[16](t[25])}return{key:e,first:null,c(){n=O("path"),l=O("path"),c(n,"class","model-path-outer svelte-1nna9rx"),c(n,"d",r=t[10](t[21])),c(n,"stroke","white"),c(n,"data-model",o=t[2][t[25]]),c(l,"class","model-path svelte-1nna9rx"),c(l,"d",a=t[10](t[21])),c(l,"role","img"),c(l,"stroke",s=t[11](t[2][t[25]])),c(l,"data-model",u=t[2][t[25]]),this.first=n},m(m,p){P(m,n,p),P(m,l,p),f||(d=[Q(l,"mouseover",h),Q(l,"focus",g),Q(l,"mouseout",Tn),Q(l,"blur",Tn)],f=!0)},p(m,p){t=m,p&1040&&r!==(r=t[10](t[21]))&&c(n,"d",r),p&20&&o!==(o=t[2][t[25]])&&c(n,"data-model",o),p&1040&&a!==(a=t[10](t[21]))&&c(l,"d",a),p&2068&&s!==(s=t[11](t[2][t[25]]))&&c(l,"stroke",s),p&20&&u!==(u=t[2][t[25]])&&c(l,"data-model",u)},d(m){m&&N(n),m&&N(l),f=!1,ve(d)}}}function Ji(e,t){let n,r,o,l,a,s,u=t[21].rank+"",f,d,h,g;return{key:e,first:null,c(){n=O("g"),r=O("circle"),s=O("text"),f=R(u),c(r,"r",o=t[21].answer.length/2*0+12),c(r,"fill",l=t[11](t[21].model)),c(r,"stroke","white"),c(r,"class","model-circle svelte-1nna9rx"),c(r,"role","img"),c(r,"data-model",a=t[21].model),c(s,"class","bump-text svelte-1nna9rx"),c(s,"text-anchor","middle"),c(s,"alignment-baseline","middle"),c(s,"color","white"),c(s,"fill","white"),c(n,"transform",d=`translate(${t[3](t[21].qid)}, ${t[5](t[21].rank)})`),c(n,"class","svelte-1nna9rx"),this.first=n},m(m,p){P(m,n,p),_(n,r),_(n,s),_(s,f),h||(g=[Q(r,"mouseover",t[17]),Q(r,"focus",t[18]),Q(r,"mouseout",Tn),Q(r,"blur",Tn)],h=!0)},p(m,p){t=m,p&256&&o!==(o=t[21].answer.length/2*0+12)&&c(r,"r",o),p&2304&&l!==(l=t[11](t[21].model))&&c(r,"fill",l),p&256&&a!==(a=t[21].model)&&c(r,"data-model",a),p&256&&u!==(u=t[21].rank+"")&&X(f,u),p&296&&d!==(d=`translate(${t[3](t[21].qid)}, ${t[5](t[21].rank)})`)&&c(n,"transform",d)},d(m){m&&N(n),h=!1,ve(g)}}}function xc(e){let t,n,r,o,l,a,s,u,f,d,h,g,m,p,b=[],v=new Map,S,k=[],z=new Map,C,E,T,y,x,w=e[9],A=[];for(let D=0;DD[25];for(let D=0;DD[21].model+D[21].qid;for(let D=0;De[19].call(t))},m(D,G){P(D,t,G),_(t,n),_(n,r);for(let F=0;F{e.style.opacity=1})}function Sc(e,t,n){let r,o,l,a,s,u,f,d,h,g,m;ee(e,Qt,y=>n(8,m=y));let p,b,v={top:35,bottom:15,left:10,right:0};function S(y){document.querySelectorAll(".model-path, .model-path-outer, .model-circle").forEach(x=>{x.style.opacity=.12}),document.querySelectorAll(`.model-path[data-model="${r[y]}"], .model-circle[data-model="${r[y]}"]`).forEach(x=>{x.style.opacity=1})}const k=y=>S(y),z=y=>S(y),C=()=>S(i),E=()=>S(i);function T(){b=this.offsetWidth,p=this.offsetHeight,n(1,b),n(0,p)}return e.$.update=()=>{e.$.dirty&256&&m.filter(y=>y.qid===3).map(y=>({model:y.model,rank:y.rank})),e.$.dirty&256&&console.log("firstData",m),e.$.dirty&256&&n(2,r=Array.from(new Set(m.map(y=>y.model)))),e.$.dirty&4&&console.log("models",r),e.$.dirty&2&&n(7,o=b-v.left-v.right),e.$.dirty&1&&n(6,l=p-v.top-v.bottom),e.$.dirty&384&&n(3,a=zo().domain(m.map(y=>y.qid)).padding(.3).range([v.left,o-v.right])),e.$.dirty&256&&n(14,s=m.map(y=>y.rank).sort((y,x)=>y-x)),e.$.dirty&16448&&n(5,u=zo().domain(s).padding(1).range([v.top,l-v.bottom])),e.$.dirty&256&&n(11,f=Qe().domain(m.map(y=>y.model)).range(["#FF5470","#1B2D45","#00EBC7","#FDE24F","red"])),e.$.dirty&40&&n(10,d=df().x(y=>a(y.qid)).y(y=>u(y.rank))),e.$.dirty&260&&n(4,h=r.map(y=>m.filter(x=>x.model===y))),e.$.dirty&16&&console.log("md",h),e.$.dirty&256&&console.log("ranks",m.map(y=>y.rank)),e.$.dirty&8&&n(9,g=a.domain().length>10?a.domain().filter((y,x)=>x%2===0):a.domain())},[p,b,r,a,h,u,l,o,m,g,d,f,v,S,s,k,z,C,E,T]}class zc extends ue{constructor(t){super(),se(this,t,Sc,xc,ae,{})}}const ud="";function Ki(e,t,n){const r=e.slice();return r[13]=t[n],r[15]=n,r}function Zi(e,t,n){const r=e.slice();return r[16]=t[n],r}function el(e,t,n){const r=e.slice();return r[16]=t[n],r}function tl(e){let t,n,r=e[16]+"",o,l;return{c(){t=O("g"),n=O("text"),o=R(r),c(n,"class","axis-text svelte-1y9gffu"),c(n,"x","-5"),c(n,"y","0"),c(n,"text-anchor","end"),c(t,"transform",l=`translate(${e[9].left} ${e[8](e[16])+e[8].bandwidth()/2})`)},m(a,s){P(a,t,s),_(t,n),_(n,o)},p(a,s){s&4&&r!==(r=a[16]+"")&&X(o,r),s&260&&l!==(l=`translate(${a[9].left} ${a[8](a[16])+a[8].bandwidth()/2})`)&&c(t,"transform",l)},d(a){a&&N(t)}}}function nl(e){let t,n,r=e[16]+"",o,l;return{c(){t=O("g"),n=O("text"),o=R(r),c(n,"class","axis-text svelte-1y9gffu"),c(n,"y","15"),c(n,"text-anchor","middle"),c(t,"transform",l=`translate(${e[7](e[16])}, ${e[4]-e[9].bottom})`)},m(a,s){P(a,t,s),_(t,n),_(n,o)},p(a,s){s&128&&r!==(r=a[16]+"")&&X(o,r),s&144&&l!==(l=`translate(${a[7](a[16])}, ${a[4]-a[9].bottom})`)&&c(t,"transform",l)},d(a){a&&N(t)}}}function rl(e){let t,n=e[16]%2==0&&nl(e);return{c(){n&&n.c(),t=we()},m(r,o){n&&n.m(r,o),P(r,t,o)},p(r,o){r[16]%2==0?n?n.p(r,o):(n=nl(r),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},d(r){n&&n.d(r),r&&N(t)}}}function ol(e){let t,n,r,o,l,a,s,u=e[13].avgRank.toFixed(2)+"",f,d,h;return{c(){t=O("rect"),s=O("text"),f=R(u),c(t,"y",n=e[8](e[13].model)),c(t,"x",e[9].left),c(t,"width",r=e[7](e[13].avgRank)-e[9].left),c(t,"height",o=e[8].bandwidth()),c(t,"fill",l=e[6](e[13].model)),c(t,"class","model-path"),c(t,"data-model",a=e[5][e[15]]),c(s,"class","label-text svelte-1y9gffu"),c(s,"y",d=e[8](e[13].model)+e[8].bandwidth()/2),c(s,"x",h=e[7](e[13].avgRank)+5),c(s,"text-anchor","start"),c(s,"dominant-baseline","middle")},m(g,m){P(g,t,m),P(g,s,m),_(s,f)},p(g,m){m&260&&n!==(n=g[8](g[13].model))&&c(t,"y",n),m&132&&r!==(r=g[7](g[13].avgRank)-g[9].left)&&c(t,"width",r),m&256&&o!==(o=g[8].bandwidth())&&c(t,"height",o),m&68&&l!==(l=g[6](g[13].model))&&c(t,"fill",l),m&32&&a!==(a=g[5][g[15]])&&c(t,"data-model",a),m&4&&u!==(u=g[13].avgRank.toFixed(2)+"")&&X(f,u),m&260&&d!==(d=g[8](g[13].model)+g[8].bandwidth()/2)&&c(s,"y",d),m&132&&h!==(h=g[7](g[13].avgRank)+5)&&c(s,"x",h)},d(g){g&&N(t),g&&N(s)}}}function Ec(e){let t,n,r,o,l,a,s,u,f,d,h,g,m=e[2].map(il),p=[];for(let z=0;ze[12].call(t))},m(z,C){P(z,t,C),_(t,n);for(let E=0;Ee.model;function Cc(e,t,n){let r,o,l,a,s,u,f,d,h;ee(e,Qt,v=>n(11,h=v));let g=300,m=500,p={top:50,bottom:0,left:100,right:0};function b(){m=this.offsetWidth,g=this.offsetHeight,n(1,m),n(0,g)}return e.$.update=()=>{e.$.dirty&2048&&n(10,r=h.reduce((v,S)=>(v[S.model]?(v[S.model].sum+=S.rank,v[S.model].count++):v[S.model]={sum:S.rank,count:1},v),{})),e.$.dirty&1024&&n(2,o=Object.keys(r).map(v=>({model:v,avgRank:r[v].sum/r[v].count}))),e.$.dirty&2&&n(3,l=m-p.left-p.right),e.$.dirty&1&&n(4,a=g-p.top-p.bottom),e.$.dirty&20&&n(8,s=at().rangeRound([p.top,a-p.bottom]).padding(.05).domain(o.map(v=>v.model))),e.$.dirty&12&&n(7,u=Ne().rangeRound([p.left,l-p.right]).domain([0,lt(o,v=>v.avgRank)])),e.$.dirty&4&&n(6,f=Qe().domain(o.map(v=>v.model)).range(["#FF5470","#1B2D45","#00EBC7","#FDE24F"])),e.$.dirty&2048&&n(5,d=Array.from(new Set(h.map(v=>v.model))))},[g,m,o,l,a,d,f,u,s,p,r,h,b]}class Tc extends ue{constructor(t){super(),se(this,t,Cc,Ec,ae,{})}}const fd="",cd="";function ll(e,t,n){const r=e.slice();return r[20]=t[n],r[22]=n,r}function al(e,t,n){const r=e.slice();return r[23]=t[n],r[25]=n,r}function sl(e,t,n){const r=e.slice();return r[23]=t[n],r}function ul(e){let t,n=e[23].key+"",r,o,l;function a(){return e[10](e[23])}return{c(){t=M("th"),r=R(n),c(t,"class","svelte-owgjbp")},m(s,u){P(s,t,u),_(t,r),o||(l=Q(t,"click",a),o=!0)},p(s,u){e=s,u&64&&n!==(n=e[23].key+"")&&X(r,n)},d(s){s&&N(t),o=!1,l()}}}function fl(e,t){let n,r=(t[20][t[23].key].length>dl&&t[4]!==`${t[22]}-${t[25]}`?`${t[20][t[23].key].substring(0,40)}...`:t[20][t[23].key])+"",o,l,a,s;function u(){return t[11](t[22],t[25])}return{key:e,first:null,c(){n=M("td"),o=R(r),c(n,"class",l="cell-type-"+t[23].type+" svelte-owgjbp"),de(n,"background",t[23].key==="change"?t[7](t[20][t[23].key]):"none"),jr(n,"active",t[4]===`${t[22]}-${t[25]}`),this.first=n},m(f,d){P(f,n,d),_(n,o),a||(s=Q(n,"click",u),a=!0)},p(f,d){t=f,d&112&&r!==(r=(t[20][t[23].key].length>dl&&t[4]!==`${t[22]}-${t[25]}`?`${t[20][t[23].key].substring(0,40)}...`:t[20][t[23].key])+"")&&X(o,r),d&64&&l!==(l="cell-type-"+t[23].type+" svelte-owgjbp")&&c(n,"class",l),d&96&&de(n,"background",t[23].key==="change"?t[7](t[20][t[23].key]):"none"),d&80&&jr(n,"active",t[4]===`${t[22]}-${t[25]}`)},d(f){f&&N(n),a=!1,s()}}}function cl(e){let t,n=[],r=new Map,o,l=e[6];const a=s=>s[23].key;for(let s=0;sn(9,a=C));let s={};const u=He(".2f");function f(C){let E=C.reduce((y,x)=>(y[x.model]||(y[x.model]=[]),y[x.model].push(x.rank),y),{});return Object.entries(E).map(([y,x])=>{let w=x.reduce((j,q)=>(j[q]=(j[q]||0)+1,j),{}),A=Object.entries(w).reduce((j,q)=>q[1]>j[1]?q:j)[0];return{model:y,overall_rank:Number(A),average_rank:u(fu(x)),standard_deviation_rank:u(Us(x))}})}s={...{columns:{},style:"normal",paged:25},...s};const h=Ne().domain([-1,0,1]).range(["#FF5470","#f8f8f8","#00ebc7"]);let{sortable:g,index:m,paged:p}=s,b,v=!0;if(g&&m)throw new Error("A table can either be ranked or sortable, but not both");m=1,g=1;let S=null;const k=C=>{g&&(b===C.key&&n(2,v=!v),n(1,b=C.key))},z=(C,E)=>{n(4,S=S===`${C}-${E}`?null:`${C}-${E}`)};return e.$.update=()=>{if(e.$.dirty&512,e.$.dirty&512&&n(8,r=f(a)),e.$.dirty&774){b&&n(8,r=r.slice().sort((E,T)=>{let y=E[b],x=T[b];if(y==x)return JSON.stringify(E).localeCompare(JSON.stringify(T));let w=y>x?1:y{const E=s.columns[C]||{};return{key:C,type:E.type||typeof r[0][C],options:E}}))},n(5,l=[]),[s,b,v,g,S,l,o,h,r,a,k,z]}class Dc extends ue{constructor(t){super(),se(this,t,jc,Ac,ae,{})}}const dd="";function hl(e,t,n){const r=e.slice();return r[19]=t[n],r}function pl(e,t,n){const r=e.slice();return r[22]=t[n],r}function gl(e,t,n){const r=e.slice();return r[25]=t[n],r[27]=n,r}function ml(e){let t,n=e[25]+"",r,o,l,a=e[25]+"",s,u;return{c(){t=O("text"),r=R(n),l=O("text"),s=R(a),c(t,"class","axis-text svelte-t6wv8i"),c(t,"x",o=e[7].left+e[5](e[25])+e[5].bandwidth()/2),c(t,"y",e[7].top-10),c(t,"text-anchor","middle"),c(l,"class","axis-text svelte-t6wv8i"),c(l,"x",e[7].left-10),c(l,"y",u=e[7].top+e[4](e[25])+e[4].bandwidth()/2),c(l,"text-anchor","end"),c(l,"dominant-baseline","middle")},m(f,d){P(f,t,d),_(t,r),P(f,l,d),_(l,s)},p(f,d){d&8&&n!==(n=f[25]+"")&&X(r,n),d&40&&o!==(o=f[7].left+f[5](f[25])+f[5].bandwidth()/2)&&c(t,"x",o),d&8&&a!==(a=f[25]+"")&&X(s,a),d&24&&u!==(u=f[7].top+f[4](f[25])+f[4].bandwidth()/2)&&c(l,"y",u)},d(f){f&&N(t),f&&N(l)}}}function vl(e){let t,n,r,o,l,a,s,u,f=e[6](e[2][e[19]][e[22]])+"",d,h,g,m;return{c(){t=O("rect"),u=O("text"),d=R(f),c(t,"x",n=e[7].left+e[5](e[22])),c(t,"y",r=e[7].top+e[4](e[19])),c(t,"width",o=e[5].bandwidth()),c(t,"height",l=e[4].bandwidth()),c(t,"fill",a=e[8](e[19],e[22])),c(t,"rx","4"),c(t,"ry","4"),c(t,"class","model-path"),c(t,"data-model",s=e[19]),c(u,"x",h=e[7].left+e[5](e[22])+e[5].bandwidth()/2),c(u,"y",g=e[7].top+e[4](e[19])+e[4].bandwidth()/2),c(u,"text-anchor","middle"),c(u,"dominant-baseline","middle"),c(u,"class","model-path"),c(u,"data-model",m=e[19])},m(p,b){P(p,t,b),P(p,u,b),_(u,d)},p(p,b){b&40&&n!==(n=p[7].left+p[5](p[22]))&&c(t,"x",n),b&24&&r!==(r=p[7].top+p[4](p[19]))&&c(t,"y",r),b&32&&o!==(o=p[5].bandwidth())&&c(t,"width",o),b&16&&l!==(l=p[4].bandwidth())&&c(t,"height",l),b&8&&a!==(a=p[8](p[19],p[22]))&&c(t,"fill",a),b&8&&s!==(s=p[19])&&c(t,"data-model",s),b&12&&f!==(f=p[6](p[2][p[19]][p[22]])+"")&&X(d,f),b&40&&h!==(h=p[7].left+p[5](p[22])+p[5].bandwidth()/2)&&c(u,"x",h),b&24&&g!==(g=p[7].top+p[4](p[19])+p[4].bandwidth()/2)&&c(u,"y",g),b&8&&m!==(m=p[19])&&c(u,"data-model",m)},d(p){p&&N(t),p&&N(u)}}}function bl(e){let t,n=e[3],r=[];for(let o=0;oe[16].call(t))},m(g,m){P(g,t,m),_(t,n);for(let p=0;pn(15,m=E));const p=He(".1f");function b(E){let T=E.reduce((w,A)=>(w[A.qid]||(w[A.qid]=[]),w[A.qid].push(A),w),{}),y=Array.from(new Set(E.map(w=>w.model))),x=y.reduce((w,A)=>(w[A]=y.reduce((j,q)=>(j[q]={sum:0,count:0},j),{}),w),{});for(let w in T){let A=T[w];for(let j of y)for(let q of y){let B=A.find(re=>re.model===j),J=A.find(re=>re.model===q);B&&J&&(x[j][q].sum+=J.rank-B.rank,x[j][q].count++)}}for(let w in x)for(let A in x[w])x[w][A].count>0?x[w][A]=x[w][A].sum/x[w][A].count:x[w][A]=0;return x}let v=500,S=500,k={top:50,bottom:0,left:65,right:25};function z(E,T){let y=r[E][T];return y===0?"white":y>=0?g(E):g(T)}function C(){S=this.offsetWidth,v=this.offsetHeight,n(1,S),n(0,v)}return e.$.update=()=>{e.$.dirty&32768&&n(2,r=b(m)),e.$.dirty&32768&&n(3,o=Array.from(new Set(m.map(E=>E.model)))),e.$.dirty&2&&n(14,l=S-k.left-k.right),e.$.dirty&1&&n(13,a=v-k.top-k.bottom),e.$.dirty&16392&&n(5,s=at().range([0,l]).domain(o).padding(.05)),e.$.dirty&8200&&n(4,u=at().range([0,a]).domain(o).padding(.05)),e.$.dirty&4&&n(12,f=Object.values(r).flatMap(E=>Object.values(E))),e.$.dirty&4096&&n(11,d=uu(f)),e.$.dirty&4096&&n(10,h=lt(f)),e.$.dirty&8&&n(9,g=Qe().domain(o).range(["#FF5470","#1B2D45","#00EBC7","#FDE24F"])),e.$.dirty&3592&&o.reduce((E,T)=>(E[T]=Ro().domain([d,h]).interpolator(Jn("white",g(T))),E),{})},[v,S,r,o,u,s,p,k,z,g,h,d,f,a,l,m,C]}class Nc extends ue{constructor(t){super(),se(this,t,qc,$c,ae,{})}}const hd="";function _l(e,t,n){const r=e.slice();return r[8]=t[n],r[10]=n,r}function Oc(e){let t;return{c(){t=M("div"),t.innerHTML="To view the comparison dashboard, you must first rank some comparisons!
",c(t,"class","holder svelte-1gze3r0")},m(n,r){P(n,t,r)},p:W,i:W,o:W,d(n){n&&N(t)}}}function Pc(e){let t,n,r,o,l,a,s,u,f,d,h,g,m,p,b,v,S,k,z,C,E,T=e[1],y=[];for(let x=0;x0?0:1}return o=f(e),l=u[o]=s[o](e),{c(){t=M("div"),n=M("div"),n.innerHTML=`Comparisons
This panes represents the training performance of your model.
`,r=I(),l.c(),c(n,"class","instructions svelte-1gze3r0"),c(t,"class","main-container svelte-1gze3r0")},m(d,h){P(d,t,h),_(t,n),_(t,r),u[o].m(t,null),a=!0},p(d,[h]){let g=o;o=f(d),o===g?u[o].p(d,h):(nt(),Z(u[g],1,1,()=>{u[g]=null}),rt(),l=u[o],l?l.p(d,h):(l=u[o]=s[o](d),l.c()),Y(l,1),l.m(t,null))},i(d){a||(Y(l),a=!0)},o(d){Z(l),a=!1},d(d){d&&N(t),u[o].d()}}}function wl(){document.querySelectorAll(".model-path, .model-path-outer, .model-circle").forEach(e=>{e.style.opacity=1})}function Ic(e,t,n){let r,o,l;ee(e,Qt,f=>n(0,l=f)),mt(()=>{});function a(f){document.querySelectorAll(".model-path, .model-path-outer, .model-circle").forEach(d=>{d.style.opacity=.12}),document.querySelectorAll(`.model-path[data-model="${r[f]}"], .model-circle[data-model="${r[f]}"]`).forEach(d=>{d.style.opacity=1})}const s=f=>a(f),u=f=>a(f);return e.$.update=()=>{e.$.dirty&1&&n(1,r=Array.from(new Set(l.map(f=>f.model)))),e.$.dirty&1&&n(2,o=Qe().domain(l.map(f=>f.model)).range(["#FF5470","#1B2D45","#00EBC7","#FDE24F","red"]))},[l,r,o,a,s,u]}class Rc extends ue{constructor(t){super(),se(this,t,Ic,Fc,ae,{})}}const pd="";function kl(e,t,n){const r=e.slice();return r[7]=t[n],r}function xl(e){let t,n=e[0],r=[];for(let o=0;o{pe(d,1)}),rt()}l?(t=Dr(l,a()),me(t.$.fragment),Y(t.$.fragment,1),he(t,n.parentNode,n)):t=null}else l&&t.$set(f)},i(s){r||(t&&Y(t.$.fragment,s),r=!0)},o(s){t&&Z(t.$.fragment,s),r=!1},d(s){s&&N(n),t&&pe(t,s)}}}function Bc(e){let t,n,r,o,l=e[0].length>1&&xl(e),a=e[1]&&zl(e);return r=new Rc({}),{c(){l&&l.c(),t=I(),a&&a.c(),n=I(),me(r.$.fragment)},m(s,u){l&&l.m(s,u),P(s,t,u),a&&a.m(s,u),P(s,n,u),he(r,s,u),o=!0},p(s,[u]){s[0].length>1?l?l.p(s,u):(l=xl(s),l.c(),l.m(t.parentNode,t)):l&&(l.d(1),l=null),s[1]?a?(a.p(s,u),u&2&&Y(a,1)):(a=zl(s),a.c(),Y(a,1),a.m(n.parentNode,n)):a&&(nt(),Z(a,1,1,()=>{a=null}),rt())},i(s){o||(Y(a),Y(r.$.fragment,s),o=!0)},o(s){Z(a),Z(r.$.fragment,s),o=!1},d(s){l&&l.d(s),s&&N(t),a&&a.d(s),s&&N(n),pe(r,s)}}}function Lc(e,t,n){let r,o;const l=Le([]);ee(e,l,d=>n(0,r=d));const a=Le(null);ee(e,a,d=>n(1,o=d));const s={Chatbot:Rs,Dropdown:Hs,Feedback:Vf,Compare:kc},u=d=>{a.set(d)};return fetch("/components").then(d=>{if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);return d.json()}).then(d=>{l.set(d),a.set(d[0])}).catch(d=>{console.log("Fetch request failed",d)}),[r,o,l,a,s,u,d=>u(d)]}class Hc extends ue{constructor(t){super(),se(this,t,Lc,Bc,ae,{})}}new Hc({target:document.getElementById("app")})})();