diff --git a/404.html b/404.html index 2f170ff..d5ca50c 100644 --- a/404.html +++ b/404.html @@ -13,8 +13,8 @@ - - + +
diff --git a/about/index.html b/about/index.html index a409384..ded1db7 100644 --- a/about/index.html +++ b/about/index.html @@ -13,8 +13,8 @@ - - + + diff --git a/assets/js/1df93b7f.987b4800.js b/assets/js/1df93b7f.987b4800.js deleted file mode 100644 index fc435c8..0000000 --- a/assets/js/1df93b7f.987b4800.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[237],{1102:(e,r,a)=>{a.r(r),a.d(r,{Header:()=>S,default:()=>A});var s=a(7294);const t={features:"features_W7HZ",featureIcon:"featureIcon_gQli",featureContainer:"featureContainer_Wcy2",right:"right_YwHL",reportWrapper:"reportWrapper_eCmj",left:"left_FszU",featureWrapper:"featureWrapper_dAPo",centerText:"centerText_t2Um",featureArrow:"featureArrow_wgdb"};var i=a(5893);let n={width:"300px",objectFit:"contain",border:"1px solid var(--gray)",borderRadius:"4px",margin:"5px",padding:"10px",background:"white"};function o(){return(0,i.jsxs)("div",{className:t.reportWrapper,children:[(0,i.jsxs)("div",{className:t.left,children:[(0,i.jsx)(S,{title:"Chart",summary:"Chart Building",description:"Create beautiful, interactive visualizations to compare model performnce across slices and models"}),(0,i.jsx)("p",{children:"Use Zeno's drag-and-drop interface to create interactive charts. Create a radar chart comparing multiple models on different slices of your data, or a beeswarm plot to compare hundreds of models."})]}),(0,i.jsxs)("div",{className:t.right,children:[(0,i.jsx)("img",{style:n,src:a(9049).Z,alt:"Screenshot of radar chart"}),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,i.jsx)("img",{style:{...n,width:"300px"},src:a(1310).Z,alt:"Screenshot of bar chart"}),(0,i.jsx)("img",{style:{...n,width:"300px"},src:a(725).Z,alt:"Screenshot of beeswarm chart"})]})]})]})}const c={inactiveSelection:"inactiveSelection_NgIz",activeSelection:"activeSelection_w56X",extra:"extra_Nxf1",imageContainer:"imageContainer_G9mi",selectContainer:"selectContainer_y8mD",container:"container_p8me",sideBar:"sideBar_jq7U"};function d(e){let{select:r}=e;return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)("span",{children:r})})}function l(e){const[r,a]=(0,s.useState)(e.default);let t=(0,i.jsx)("div",{children:e.list.map(((e,s)=>(0,i.jsx)("div",{className:r==e.select?c.activeSelection:c.inactiveSelection,onClick:()=>a(e.select),children:(0,i.jsx)(d,{...e},s)},e.select)))});return(0,i.jsxs)("div",{className:c.container,children:[(0,i.jsxs)("div",{className:c.sideBar,children:[(0,i.jsx)(S,{title:"Explore",summary:"Data Exploration",description:"Visualize any type of data with Zeno, from images to text, audio, sensor data, and more."}),t]}),(0,i.jsx)("div",{id:c.imageContainer,children:e.list.find((e=>e.select==r)).images.map((e=>(0,i.jsx)("img",{style:{maxHeight:"130px",maxWidth:"180px",objectFit:"cover",padding:"10px",background:"white",borderRadius:"4px",border:"1px solid var(--gray)",boxShadow:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"},src:e,alt:"Example image from Imagenette"},e)))})]})}const p=[{select:"Image Classification",images:[a(2500).Z,a(3598).Z,a(4422).Z,a(3360).Z]},{select:"Audio Transcription",images:[a(9868).Z,a(5414).Z,a(1291).Z]},{select:"Activity Recognition",images:[a(7765).Z,a(5744).Z,a(7806).Z]}];function m(){return(0,i.jsx)("div",{children:(0,i.jsx)(l,{default:"Image Classification",list:p})})}var h=a(9960);const u={demo:"demo_AlZc"};function x(){return(0,i.jsx)("div",{style:{paddingBottom:"30px",paddingTop:"20px",textAlign:"center"},children:(0,i.jsx)("video",{controls:!0,autoPlay:!0,loop:!0,className:u.demo,muted:!0,children:(0,i.jsx)("source",{src:a(1158).Z,type:"video/mp4"})})})}const f={buttons:"buttons_k5hz",headerContainer:"headerContainer_WVwZ",gradientAnimation:"gradientAnimation_naSo",header:"header_Mi5r","video-div":"video-div_VH_T",video:"video_OYur",subheader:"subheader_SmHf"};function g(){return(0,i.jsxs)("div",{className:f.headerContainer,children:[(0,i.jsxs)("div",{className:f.header,children:[(0,i.jsx)("h1",{style:{fontSize:"72px",textAlign:"center",fontFamily:"'Hammersmith One'"},children:"AI Evaluation Made Easy"}),(0,i.jsxs)("h4",{className:f.subheader,children:["Discover how your AI performs with ",(0,i.jsx)("b",{children:"Zeno"}),".",(0,i.jsx)("br",{})," Explore your data, uncover failures, and create beautiful, interactive charts."]}),(0,i.jsx)("div",{className:f.buttons,style:{justifyContent:"space-between",alignItems:"center"},children:(0,i.jsxs)("div",{className:f.buttons,children:[(0,i.jsx)(h.Z,{className:"button button--lg heroButtonSecondary",to:"/docs/intro",children:"Get Started"}),(0,i.jsx)(h.Z,{className:"button button--lg heroButtonSecondary",to:"https://hub.zenoml.com/",children:"Explore Projects"})]})})]}),(0,i.jsx)(x,{})]})}const j={features:"features_N6IB",featureIcon:"featureIcon_rmdW",featureContainer:"featureContainer_SLkJ",left:"left_O3yX",reportWrapper:"reportWrapper_ebr_",right:"right_polk",featureWrapper:"featureWrapper_cfuJ",centerText:"centerText_Y6dT",featureArrow:"featureArrow_z2Zn",imageWrapper:"imageWrapper_Oeyn"};function b(){return(0,i.jsxs)("div",{className:j.reportWrapper,children:[(0,i.jsx)("div",{className:j.left,style:{},children:(0,i.jsx)("div",{className:j.imageWrapper})}),(0,i.jsxs)("div",{className:j.right,children:[(0,i.jsx)(S,{title:"Report",summary:"Report Authoring",description:"Create reports with interactive visualizations and markdown"}),(0,i.jsx)("p",{children:"Visualizations can be combined with rich markdown text to share insights and tell stories about your data and model performance."}),(0,i.jsx)("p",{children:"Reports can be authored collaboratively and published broadly."})]})]})}const v={group:"group_TloA",logo:"logo_C80N",intro:"intro_LOa1",sponsorsWrap:"sponsorsWrap_FSlr"};function _(e){return(0,i.jsxs)("div",{className:v.sponsorsWrap,children:[(0,i.jsx)("p",{className:v.intro,children:"Sponsors and Organizations"}),(0,i.jsxs)("div",{className:v.group,children:[(0,i.jsx)("img",{src:"/img/mozilla-text.png",height:"35px",className:v.logo,alt:"Mozilla logo"}),(0,i.jsx)("img",{src:"/img/nsf-logo.png",height:"80px",className:v.logo,alt:"NSF logo"}),(0,i.jsx)("img",{src:"/img/cmu.png",height:"80px",className:v.logo,alt:"CMU logo"})]})]})}const y={container:"container_nvTN",iframe:"iframe_IiAB"};function Z(e){return(0,i.jsxs)("div",{className:y.container,children:[(0,i.jsx)(S,{title:"Trending",summary:"Trending Projects and Reports",description:"Explore popular public projects and reports on Zeno Hub"}),(0,i.jsx)("br",{}),(0,i.jsx)("div",{className:y.iframe,children:(0,i.jsx)("iframe",{height:"250",width:"100%",src:"https://hub.zenoml.com/embed/entry/featured/4"})})]})}var N=a(6040);const w={features:"features_pb7u",featureIcon:"featureIcon_lhpU",featureContainer:"featureContainer_jIO2",left:"left_Maf5",reportWrapper:"reportWrapper_sYdM",right:"right_DfxE",featureWrapper:"featureWrapper_LUM4",centerText:"centerText_qhct",featureArrow:"featureArrow_uwrn"};let C={padding:"50px",width:"500px"};function W(){return(0,i.jsxs)("div",{className:w.reportWrapper,children:[(0,i.jsx)("div",{className:w.left,children:(0,i.jsx)("img",{style:C,src:a(1714).Z,alt:"Screenshot of radar chart"})}),(0,i.jsxs)("div",{className:w.right,children:[(0,i.jsx)(S,{title:"Error Discovery",summary:"Error Discovery",description:"Discover where your models fail with automated error analysis."}),(0,i.jsxs)("p",{children:["Zeno includes advanced error discovery techniques such as"," ",(0,i.jsx)("a",{href:"https://research.google/pubs/slice-finder-automated-data-slicing-for-model-validation/",children:"slice finder"})," ","to automatically surface your models' systematic failures."]})]})]})}function S(e){let{title:r,summary:a,description:s}=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)("h2",{style:{fontSize:"40px"},children:a}),(0,i.jsx)("h3",{className:"headerDescription",children:s})]})}function A(){return(0,i.jsx)(N.Z,{title:"Zeno",description:"AI Evaluation Platform",children:(0,i.jsxs)("div",{id:"homepage",children:[(0,i.jsx)(g,{}),(0,i.jsxs)("div",{id:"pageWrapper",children:[(0,i.jsx)("br",{}),(0,i.jsx)(Z,{})]}),(0,i.jsx)("hr",{}),(0,i.jsxs)("div",{id:"pageWrapper",children:[(0,i.jsx)(m,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(W,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(o,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(b,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(_,{})]})]})})}},7765:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-d46c0a4b263080d82666ee3eeaa19b7c.png"},5744:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-4616bdb492dc95a08f131845ebe3b42d.png"},7806:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-e3638c0d9ea86c47bb449c701d65cc20.png"},9868:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-980212b0fdf275543928dc78ff74cf3f.png"},5414:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-5919ac3c1c94333e95ff088275099880.png"},1291:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-79d496b312a35008c192942ed701c6da.png"},1310:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/bar-chart-a3f2dfb3ada32a34f91e82b8d9c74f54.png"},725:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/beeswarm-chart-263082bc98026ad71f718e81d40101ab.png"},2500:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-065acf00e9b9d42f12857ff063a97a18.png"},3598:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-a443ac7f0bb30af8720bf05fb7e14e5d.png"},4422:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-4abab33c28266a58ee3f41f986d74890.png"},3360:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/4-64d4ce0039f32a40e55d54c7c3029139.png"},9049:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/radar-chart-a28b107c66e92fa882b57212a0045147.png"},1714:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/slice-finder-50ac298b7bd9551ba88fc0f5a934951e.png"},1158:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/medias/teaser-36c94c9d09a717c3bdd280cb0c1f2d27.mp4"}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.b3b95058.js b/assets/js/1df93b7f.b3b95058.js new file mode 100644 index 0000000..8c8a572 --- /dev/null +++ b/assets/js/1df93b7f.b3b95058.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[237],{1102:(e,r,a)=>{a.r(r),a.d(r,{Header:()=>S,default:()=>A});var s=a(7294);const t={features:"features_W7HZ",featureIcon:"featureIcon_gQli",featureContainer:"featureContainer_Wcy2",right:"right_YwHL",reportWrapper:"reportWrapper_eCmj",left:"left_FszU",featureWrapper:"featureWrapper_dAPo",centerText:"centerText_t2Um",featureArrow:"featureArrow_wgdb"};var i=a(5893);let n={width:"300px",objectFit:"contain",border:"1px solid var(--gray)",borderRadius:"4px",margin:"5px",padding:"10px",background:"white"};function o(){return(0,i.jsxs)("div",{className:t.reportWrapper,children:[(0,i.jsxs)("div",{className:t.left,children:[(0,i.jsx)(S,{title:"Chart",summary:"Chart Building",description:"Create beautiful, interactive visualizations to compare model performance across slices and models"}),(0,i.jsx)("p",{children:"Use Zeno's drag-and-drop interface to create interactive charts. Create a radar chart comparing multiple models on different slices of your data, or a beeswarm plot to compare hundreds of models."})]}),(0,i.jsxs)("div",{className:t.right,children:[(0,i.jsx)("img",{style:n,src:a(9049).Z,alt:"Screenshot of radar chart"}),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,i.jsx)("img",{style:{...n,width:"300px"},src:a(1310).Z,alt:"Screenshot of bar chart"}),(0,i.jsx)("img",{style:{...n,width:"300px"},src:a(725).Z,alt:"Screenshot of beeswarm chart"})]})]})]})}const c={inactiveSelection:"inactiveSelection_NgIz",activeSelection:"activeSelection_w56X",extra:"extra_Nxf1",imageContainer:"imageContainer_G9mi",selectContainer:"selectContainer_y8mD",container:"container_p8me",sideBar:"sideBar_jq7U"};function d(e){let{select:r}=e;return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)("span",{children:r})})}function l(e){const[r,a]=(0,s.useState)(e.default);let t=(0,i.jsx)("div",{children:e.list.map(((e,s)=>(0,i.jsx)("div",{className:r==e.select?c.activeSelection:c.inactiveSelection,onClick:()=>a(e.select),children:(0,i.jsx)(d,{...e},s)},e.select)))});return(0,i.jsxs)("div",{className:c.container,children:[(0,i.jsxs)("div",{className:c.sideBar,children:[(0,i.jsx)(S,{title:"Explore",summary:"Data Exploration",description:"Visualize any type of data with Zeno, from images to text, audio, sensor data, and more."}),t]}),(0,i.jsx)("div",{id:c.imageContainer,children:e.list.find((e=>e.select==r)).images.map((e=>(0,i.jsx)("img",{style:{maxHeight:"130px",maxWidth:"180px",objectFit:"cover",padding:"10px",background:"white",borderRadius:"4px",border:"1px solid var(--gray)",boxShadow:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"},src:e,alt:"Example image from Imagenette"},e)))})]})}const p=[{select:"Image Classification",images:[a(2500).Z,a(3598).Z,a(4422).Z,a(3360).Z]},{select:"Audio Transcription",images:[a(9868).Z,a(5414).Z,a(1291).Z]},{select:"Activity Recognition",images:[a(7765).Z,a(5744).Z,a(7806).Z]}];function m(){return(0,i.jsx)("div",{children:(0,i.jsx)(l,{default:"Image Classification",list:p})})}var h=a(9960);const u={demo:"demo_AlZc"};function x(){return(0,i.jsx)("div",{style:{paddingBottom:"30px",paddingTop:"20px",textAlign:"center"},children:(0,i.jsx)("video",{controls:!0,autoPlay:!0,loop:!0,className:u.demo,muted:!0,children:(0,i.jsx)("source",{src:a(1158).Z,type:"video/mp4"})})})}const f={buttons:"buttons_k5hz",headerContainer:"headerContainer_WVwZ",gradientAnimation:"gradientAnimation_naSo",header:"header_Mi5r","video-div":"video-div_VH_T",video:"video_OYur",subheader:"subheader_SmHf"};function g(){return(0,i.jsxs)("div",{className:f.headerContainer,children:[(0,i.jsxs)("div",{className:f.header,children:[(0,i.jsx)("h1",{style:{fontSize:"72px",textAlign:"center",fontFamily:"'Hammersmith One'"},children:"AI Evaluation Made Easy"}),(0,i.jsxs)("h4",{className:f.subheader,children:["Discover how your AI performs with ",(0,i.jsx)("b",{children:"Zeno"}),".",(0,i.jsx)("br",{})," Explore your data, uncover failures, and create beautiful, interactive charts."]}),(0,i.jsx)("div",{className:f.buttons,style:{justifyContent:"space-between",alignItems:"center"},children:(0,i.jsxs)("div",{className:f.buttons,children:[(0,i.jsx)(h.Z,{className:"button button--lg heroButtonSecondary",to:"/docs/intro",children:"Get Started"}),(0,i.jsx)(h.Z,{className:"button button--lg heroButtonSecondary",to:"https://hub.zenoml.com/",children:"Explore Projects"})]})})]}),(0,i.jsx)(x,{})]})}const j={features:"features_N6IB",featureIcon:"featureIcon_rmdW",featureContainer:"featureContainer_SLkJ",left:"left_O3yX",reportWrapper:"reportWrapper_ebr_",right:"right_polk",featureWrapper:"featureWrapper_cfuJ",centerText:"centerText_Y6dT",featureArrow:"featureArrow_z2Zn",imageWrapper:"imageWrapper_Oeyn"};function b(){return(0,i.jsxs)("div",{className:j.reportWrapper,children:[(0,i.jsx)("div",{className:j.left,style:{},children:(0,i.jsx)("div",{className:j.imageWrapper})}),(0,i.jsxs)("div",{className:j.right,children:[(0,i.jsx)(S,{title:"Report",summary:"Report Authoring",description:"Create reports with interactive visualizations and markdown"}),(0,i.jsx)("p",{children:"Visualizations can be combined with rich markdown text to share insights and tell stories about your data and model performance."}),(0,i.jsx)("p",{children:"Reports can be authored collaboratively and published broadly."})]})]})}const v={group:"group_TloA",logo:"logo_C80N",intro:"intro_LOa1",sponsorsWrap:"sponsorsWrap_FSlr"};function _(e){return(0,i.jsxs)("div",{className:v.sponsorsWrap,children:[(0,i.jsx)("p",{className:v.intro,children:"Sponsors and Organizations"}),(0,i.jsxs)("div",{className:v.group,children:[(0,i.jsx)("img",{src:"/img/mozilla-text.png",height:"35px",className:v.logo,alt:"Mozilla logo"}),(0,i.jsx)("img",{src:"/img/nsf-logo.png",height:"80px",className:v.logo,alt:"NSF logo"}),(0,i.jsx)("img",{src:"/img/cmu.png",height:"80px",className:v.logo,alt:"CMU logo"})]})]})}const y={container:"container_nvTN",iframe:"iframe_IiAB"};function Z(e){return(0,i.jsxs)("div",{className:y.container,children:[(0,i.jsx)(S,{title:"Trending",summary:"Trending Projects and Reports",description:"Explore popular public projects and reports on Zeno Hub"}),(0,i.jsx)("br",{}),(0,i.jsx)("div",{className:y.iframe,children:(0,i.jsx)("iframe",{height:"250",width:"100%",src:"https://hub.zenoml.com/embed/entry/featured/4"})})]})}var N=a(6040);const w={features:"features_pb7u",featureIcon:"featureIcon_lhpU",featureContainer:"featureContainer_jIO2",left:"left_Maf5",reportWrapper:"reportWrapper_sYdM",right:"right_DfxE",featureWrapper:"featureWrapper_LUM4",centerText:"centerText_qhct",featureArrow:"featureArrow_uwrn"};let C={padding:"50px",width:"500px"};function W(){return(0,i.jsxs)("div",{className:w.reportWrapper,children:[(0,i.jsx)("div",{className:w.left,children:(0,i.jsx)("img",{style:C,src:a(1714).Z,alt:"Screenshot of radar chart"})}),(0,i.jsxs)("div",{className:w.right,children:[(0,i.jsx)(S,{title:"Error Discovery",summary:"Error Discovery",description:"Discover where your models fail with automated error analysis."}),(0,i.jsxs)("p",{children:["Zeno includes advanced error discovery techniques such as"," ",(0,i.jsx)("a",{href:"https://research.google/pubs/slice-finder-automated-data-slicing-for-model-validation/",children:"slice finder"})," ","to automatically surface your models' systematic failures."]})]})]})}function S(e){let{title:r,summary:a,description:s}=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)("h2",{style:{fontSize:"40px"},children:a}),(0,i.jsx)("h3",{className:"headerDescription",children:s})]})}function A(){return(0,i.jsx)(N.Z,{title:"Zeno",description:"AI Evaluation Platform",children:(0,i.jsxs)("div",{id:"homepage",children:[(0,i.jsx)(g,{}),(0,i.jsxs)("div",{id:"pageWrapper",children:[(0,i.jsx)("br",{}),(0,i.jsx)(Z,{})]}),(0,i.jsx)("hr",{}),(0,i.jsxs)("div",{id:"pageWrapper",children:[(0,i.jsx)(m,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(W,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(o,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(b,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(_,{})]})]})})}},7765:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-d46c0a4b263080d82666ee3eeaa19b7c.png"},5744:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-4616bdb492dc95a08f131845ebe3b42d.png"},7806:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-e3638c0d9ea86c47bb449c701d65cc20.png"},9868:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-980212b0fdf275543928dc78ff74cf3f.png"},5414:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-5919ac3c1c94333e95ff088275099880.png"},1291:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-79d496b312a35008c192942ed701c6da.png"},1310:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/bar-chart-a3f2dfb3ada32a34f91e82b8d9c74f54.png"},725:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/beeswarm-chart-263082bc98026ad71f718e81d40101ab.png"},2500:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-065acf00e9b9d42f12857ff063a97a18.png"},3598:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-a443ac7f0bb30af8720bf05fb7e14e5d.png"},4422:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-4abab33c28266a58ee3f41f986d74890.png"},3360:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/4-64d4ce0039f32a40e55d54c7c3029139.png"},9049:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/radar-chart-a28b107c66e92fa882b57212a0045147.png"},1714:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/slice-finder-50ac298b7bd9551ba88fc0f5a934951e.png"},1158:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/medias/teaser-36c94c9d09a717c3bdd280cb0c1f2d27.mp4"}}]); \ No newline at end of file diff --git a/assets/js/6df9c4f6.d3337738.js b/assets/js/6df9c4f6.d3337738.js new file mode 100644 index 0000000..8d9c1a5 --- /dev/null +++ b/assets/js/6df9c4f6.d3337738.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[617],{528:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>d});var i=n(5893),r=n(1151);const s={sidebar_position:3},a="Integrations",o={id:"integrations/integrations",title:"Integrations",description:"Zeno can be used in combination with other libraries, such as benchmarking suites and model chaining frameworks.",source:"@site/docs/integrations/integrations.mdx",sourceDirName:"integrations",slug:"/integrations/",permalink:"/docs/integrations/",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Audio Transcription",permalink:"/docs/examples/transcription"},next:{title:"EleutherAI",permalink:"/docs/integrations/eleuther"}},c={},d=[];function l(e){const t={a:"a",h1:"h1",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"integrations",children:"Integrations"}),"\n",(0,i.jsx)(t.p,{children:"Zeno can be used in combination with other libraries, such as benchmarking suites and model chaining frameworks."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Example"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"./eleuther",children:"EleutherAI LM Evaluation Harness"})}),(0,i.jsxs)(t.td,{children:["The ",(0,i.jsx)(t.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness",children:"LM Evaluation Harness"})," by EleutherAI is a popular benchmarking framework for LLMs. Zeno can be used to visualize the benchmark outputs!"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"./ragas",children:"Ragas"})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.a,{href:"https://docs.ragas.io/en/latest/index.html",children:"Ragas"})," is a powerful library for evaluating RAG applications. Dive deeper into the metrics and evaluate your RAG applications with Zeno."]})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>a});var i=n(7294);const r={},s=i.createContext(r);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7009d80f.34d5d5df.js b/assets/js/7009d80f.34d5d5df.js new file mode 100644 index 0000000..b226add --- /dev/null +++ b/assets/js/7009d80f.34d5d5df.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[157],{5644:(M,i,N)=>{N.r(i),N.d(i,{assets:()=>t,contentTitle:()=>s,default:()=>D,frontMatter:()=>e,metadata:()=>j,toc:()=>T});var I=N(5893),a=N(1151);const e={},s="Ragas",j={id:"integrations/ragas",title:"Ragas",description:"Open with Zeno",source:"@site/docs/integrations/ragas.mdx",sourceDirName:"integrations",slug:"/integrations/ragas",permalink:"/docs/integrations/ragas",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"EleutherAI",permalink:"/docs/integrations/eleuther"},next:{title:"Tutorials",permalink:"/docs/tutorials/"}},t={},T=[];function g(M){const i={a:"a",h1:"h1",img:"img",p:"p",...(0,a.a)(),...M.components};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(i.h1,{id:"ragas",children:"Ragas"}),"\n",(0,I.jsx)(i.p,{children:(0,I.jsx)(i.a,{href:"https://hub.zenoml.com/project/b35c83b8-0b22-4b9c-aedb-80964011d7a7/Ragas%20FICA%20eval",children:(0,I.jsx)(i.img,{src:"https://img.shields.io/badge/%20-Open_with_Zeno-612593.svg?labelColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMyAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyIDE1Ljc4NDJMMTYuNDg2MiAxNS43ODQyTDE2LjQ4NjIgMC4yNzA0MDFMMjQuMzAyIDguMDg2MTdMMzIgMTUuNzg0MloiIGZpbGw9IiM2MTI1OTMiLz4KPHBhdGggZD0iTTE1Ljc5MTcgMTUuODMxMUw4LjAzNDc5IDguMDc0MjJMMTUuNzkxNyAwLjMxNzMyOEwxNS43OTE3IDE1LjgzMTFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTQuODY1NSAxNS44MzExTDcuNTk0ODUgMTUuODMxMUw3LjU5NDg1IDguNTYwNDJMMTQuODY1NSAxNS44MzExWiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjYiLz4KPHBhdGggZD0iTTYuMTEyOSAxNS44MzExTDMuMjQxNyAxNS44MzExTDMuMjQxNyAxMi44NjcyTDYuMTEyOSAxNS44MzExWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTIuNzMyMjggMTUuODMxTDEuNTE1NSAxNC42MTQzTDIuNzQyNzEgMTMuMzg3TDIuNzMyMjggMTUuODMxWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjMiLz4KPHBhdGggZD0iTTIuMDM3NiAxNS43ODQyTDEuMTU3NzEgMTUuNzg0MkwxLjE1NzcxIDE0Ljk1MDZMMi4wMzc2IDE1Ljc4NDJaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMC44MzM1NjggMTUuNzg0MUwwLjUwOTM5OSAxNS40NkwwLjgzMzU2NyAxNS4xMzU4TDAuODMzNTY4IDE1Ljc4NDFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNMC4xMDYxODcgMTUuNzk0NEwwLjMwMTAyNSAxNS41OTk2TDAuNDk1ODYzIDE1Ljc5NDRIMC4xMDYxODdaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNNi45NTIxMyAxNS44MjQ4TDMuNjQwOTkgMTIuNTEzN0w2Ljk2OTYzIDkuMTg1MDNMNi45NTIxMyAxNS44MjQ4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTAuMjk0MjM1IDE2LjQ3OTVMMTUuODA4IDE2LjQ3OTVMMTUuODA4IDMxLjk5MzNMNy45OTIyMyAyNC4xNzc1TDAuMjk0MjM1IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIi8+CjxwYXRoIGQ9Ik0xNi40OTU2IDE3LjI0MzZMMjMuODUwNyAyNC41ODVMMTYuNDk1NiAzMS45NEwxNi40OTU2IDE3LjI0MzZaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTYuNTMyNiAxNi40Nzk1TDI0LjQ1MTUgMTYuNDc5NUwyNC40NTE1IDI0LjAyOEwxNi41MzI2IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8cGF0aCBkPSJNMjYuMTgxMyAxNi40MzI2TDI5LjA1MjUgMTYuNDMyNkwyOS4wNTI1IDE5LjM5NjRMMjYuMTgxMyAxNi40MzI2WiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTI5LjU2MTkgMTYuNDMyNkwzMC43Nzg3IDE3LjY0OTRMMjkuNTUxNSAxOC44NzY2TDI5LjU2MTkgMTYuNDMyNloiIGZpbGw9IiM2QTFCOUEiIGZpbGwtb3BhY2l0eT0iMC4zIi8+CjxwYXRoIGQ9Ik0zMC4yNTY2IDE2LjQ3OTVMMzEuMTM2NSAxNi40Nzk1TDMxLjEzNjUgMTcuMzEzMUwzMC4yNTY2IDE2LjQ3OTVaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMzEuNDYwNiAxNi40Nzk1TDMxLjc4NDggMTYuODAzN0wzMS40NjA2IDE3LjEyNzlMMzEuNDYwNiAxNi40Nzk1WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTMyLjE4OCAxNi40NjkyTDMxLjk5MzIgMTYuNjY0MUwzMS43OTgzIDE2LjQ2OTJIMzIuMTg4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTI1LjM0MjEgMTYuNDM4OUwyOC42NTMyIDE5Ljc1TDI1LjMyNDYgMjMuMDc4NkwyNS4zNDIxIDE2LjQzODlaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K",alt:"Open with Zeno"})})}),"\n",(0,I.jsx)(i.p,{children:"Zeno can be used to easily visualize and explore the results of Ragas evaluations.\nYou can see how Ragas results can be visualized in the Zeno project linked at the top of this page."}),"\n",(0,I.jsxs)(i.p,{children:["To learn more about how to use Zeno in combination with Ragas, head over to the ",(0,I.jsx)(i.a,{href:"https://docs.ragas.io/en/latest/howtos/integrations/zeno.html",children:"documentation in the Ragas repository"}),"."]})]})}function D(M={}){const{wrapper:i}={...(0,a.a)(),...M.components};return i?(0,I.jsx)(i,{...M,children:(0,I.jsx)(g,{...M})}):g(M)}},1151:(M,i,N)=>{N.d(i,{Z:()=>j,a:()=>s});var I=N(7294);const a={},e=I.createContext(a);function s(M){const i=I.useContext(e);return I.useMemo((function(){return"function"==typeof M?M(i):{...i,...M}}),[i,M])}function j(M){let i;return i=M.disableParentContext?"function"==typeof M.components?M.components(a):M.components||a:s(M.components),I.createElement(e.Provider,{value:i},M.children)}}}]); \ No newline at end of file diff --git a/assets/js/86c78be4.57836170.js b/assets/js/86c78be4.57836170.js new file mode 100644 index 0000000..dc550c7 --- /dev/null +++ b/assets/js/86c78be4.57836170.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[3],{5705:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var a=t(5893),i=t(1151);const o={},s="Audio Transcription",r={id:"examples/transcription",title:"Audio Transcription",description:"Open with Zeno",source:"@site/docs/examples/transcription.mdx",sourceDirName:"examples",slug:"/examples/transcription",permalink:"/docs/examples/transcription",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Example Use Cases",permalink:"/docs/examples/"},next:{title:"Integrations",permalink:"/docs/integrations/"}},l={},d=[{value:"Dependencies",id:"dependencies",level:2},{value:"Imports",id:"imports",level:2},{value:"Loading Metadata",id:"loading-metadata",level:3},{value:"Adding New Features",id:"adding-new-features",level:3},{value:"Create a Zeno Project",id:"create-a-zeno-project",level:3},{value:"Running Inference and Uploading Results",id:"running-inference-and-uploading-results",level:3},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"audio-transcription",children:"Audio Transcription"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/project/62ec4e74-7358-4801-b80c-d19e51ff2a4f/Audio%20Transcription%20Accents",children:(0,a.jsx)(n.img,{src:"https://img.shields.io/badge/%20-Open_with_Zeno-612593.svg?labelColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMyAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyIDE1Ljc4NDJMMTYuNDg2MiAxNS43ODQyTDE2LjQ4NjIgMC4yNzA0MDFMMjQuMzAyIDguMDg2MTdMMzIgMTUuNzg0MloiIGZpbGw9IiM2MTI1OTMiLz4KPHBhdGggZD0iTTE1Ljc5MTcgMTUuODMxMUw4LjAzNDc5IDguMDc0MjJMMTUuNzkxNyAwLjMxNzMyOEwxNS43OTE3IDE1LjgzMTFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTQuODY1NSAxNS44MzExTDcuNTk0ODUgMTUuODMxMUw3LjU5NDg1IDguNTYwNDJMMTQuODY1NSAxNS44MzExWiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjYiLz4KPHBhdGggZD0iTTYuMTEyOSAxNS44MzExTDMuMjQxNyAxNS44MzExTDMuMjQxNyAxMi44NjcyTDYuMTEyOSAxNS44MzExWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTIuNzMyMjggMTUuODMxTDEuNTE1NSAxNC42MTQzTDIuNzQyNzEgMTMuMzg3TDIuNzMyMjggMTUuODMxWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjMiLz4KPHBhdGggZD0iTTIuMDM3NiAxNS43ODQyTDEuMTU3NzEgMTUuNzg0MkwxLjE1NzcxIDE0Ljk1MDZMMi4wMzc2IDE1Ljc4NDJaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMC44MzM1NjggMTUuNzg0MUwwLjUwOTM5OSAxNS40NkwwLjgzMzU2NyAxNS4xMzU4TDAuODMzNTY4IDE1Ljc4NDFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNMC4xMDYxODcgMTUuNzk0NEwwLjMwMTAyNSAxNS41OTk2TDAuNDk1ODYzIDE1Ljc5NDRIMC4xMDYxODdaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNNi45NTIxMyAxNS44MjQ4TDMuNjQwOTkgMTIuNTEzN0w2Ljk2OTYzIDkuMTg1MDNMNi45NTIxMyAxNS44MjQ4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTAuMjk0MjM1IDE2LjQ3OTVMMTUuODA4IDE2LjQ3OTVMMTUuODA4IDMxLjk5MzNMNy45OTIyMyAyNC4xNzc1TDAuMjk0MjM1IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIi8+CjxwYXRoIGQ9Ik0xNi40OTU2IDE3LjI0MzZMMjMuODUwNyAyNC41ODVMMTYuNDk1NiAzMS45NEwxNi40OTU2IDE3LjI0MzZaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTYuNTMyNiAxNi40Nzk1TDI0LjQ1MTUgMTYuNDc5NUwyNC40NTE1IDI0LjAyOEwxNi41MzI2IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8cGF0aCBkPSJNMjYuMTgxMyAxNi40MzI2TDI5LjA1MjUgMTYuNDMyNkwyOS4wNTI1IDE5LjM5NjRMMjYuMTgxMyAxNi40MzI2WiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTI5LjU2MTkgMTYuNDMyNkwzMC43Nzg3IDE3LjY0OTRMMjkuNTUxNSAxOC44NzY2TDI5LjU2MTkgMTYuNDMyNloiIGZpbGw9IiM2QTFCOUEiIGZpbGwtb3BhY2l0eT0iMC4zIi8+CjxwYXRoIGQ9Ik0zMC4yNTY2IDE2LjQ3OTVMMzEuMTM2NSAxNi40Nzk1TDMxLjEzNjUgMTcuMzEzMUwzMC4yNTY2IDE2LjQ3OTVaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMzEuNDYwNiAxNi40Nzk1TDMxLjc4NDggMTYuODAzN0wzMS40NjA2IDE3LjEyNzlMMzEuNDYwNiAxNi40Nzk1WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTMyLjE4OCAxNi40NjkyTDMxLjk5MzIgMTYuNjY0MUwzMS43OTgzIDE2LjQ2OTJIMzIuMTg4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTI1LjM0MjEgMTYuNDM4OUwyOC42NTMyIDE5Ljc1TDI1LjMyNDYgMjMuMDc4NkwyNS4zNDIxIDE2LjQzODlaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K",alt:"Open with Zeno"})}),"\n",(0,a.jsx)(n.a,{href:"https://github.com/zeno-ml/zeno-build/blob/main/transcription/transcription.ipynb",children:(0,a.jsx)(n.img,{src:"https://img.shields.io/badge/%20-Open_Notebook-F37726.svg?labelColor=white&logo=Jupyter",alt:"Open Notebook"})})]}),"\n",(0,a.jsxs)(n.p,{children:["Audio transcription is an essential task for applications such as voice assistants,\npodcast search, and video captioning. There are numerous open-source and commercial\ntools for audio transcription, and it can be difficult to know which one to use.\n",(0,a.jsx)(n.a,{href:"https://github.com/openai/whisper",children:"OpenAI's Whisper"})," API is often people's\ngo-to choice, but there are nine different models to choose from with different\nsizes, speeds, and cost."]}),"\n",(0,a.jsxs)(n.p,{children:["In this example, we'll use Zeno to compare the performance of the different\nmodels on the ",(0,a.jsx)(n.a,{href:"https://accent.gmu.edu/",children:"Speech Accent Archive"})," dataset.\nThe dataset has over 2,000 people from around the world reading the same\nparagraph in English. We'll use the dataset to evaluate the performance of\nthe different models on different accents and English fluency levels."]}),"\n",(0,a.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,a.jsx)(n.p,{children:"Let's start by installing the required dependencies for this project:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"pip install jiwer pandas openai-whisper zeno-client torch transformers tqdm\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Additionally, we'll need ffmpeg to run this example.\nYou can test if it is installed by running ",(0,a.jsx)(n.code,{children:"ffmpeg --help"}),".\nIf it is not found, you should install it through your package manager.\nFor example, if you are using conda, you can just run the following (and other managers such as brew and apt also work)."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"conda install ffmpeg\n"})}),"\n",(0,a.jsx)(n.h2,{id:"imports",children:"Imports"}),"\n",(0,a.jsx)(n.p,{children:"After this is all set up, we can now start running our analysis code and uploading data to Zeno.\nWe'll first import relevant libraries which we're going to use:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'from jiwer import wer\nimport os\nimport pandas as pd\nimport whisper\nimport zeno_client\nimport torch\nfrom transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline\nimport pandas as pd\nimport requests\nfrom io import BytesIO\nimport wave\nimport struct\nfrom tqdm import tqdm\n\ntqdm.pandas()\ndevice = "cuda:0" if torch.cuda.is_available() else "cpu"\ntorch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32\n'})}),"\n",(0,a.jsx)(n.h3,{id:"loading-metadata",children:"Loading Metadata"}),"\n",(0,a.jsxs)(n.p,{children:["We'll be evaluating our model on raw audio, but will use a metadata file with additional information about each audio file ",(0,a.jsx)(n.a,{href:"https://github.com/zeno-ml/zeno-build/blob/main/transcription/speech_accent_archive.csv",children:"here"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'df = pd.read_csv("speech_accent_archive.csv")\ndf["data"] = "https://zenoml.s3.amazonaws.com/accents/" + df["id"]\n'})}),"\n",(0,a.jsx)(n.h3,{id:"adding-new-features",children:"Adding New Features"}),"\n",(0,a.jsxs)(n.p,{children:["In Zeno, we'll often want to enrich our metadata with some extra fields that might be useful for our analysis.\nIn this case, we are going to add the ",(0,a.jsx)(n.em,{children:"amplitude"})," and ",(0,a.jsx)(n.em,{children:"length"})," of the audio snippet as additional metadata fields:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:"# Define the function to get amplitude and length\ndef get_amplitude_and_length_from_url(url):\n # Download the WAV file content from the URL\n try:\n response = requests.get(url)\n response.raise_for_status()\n\n # Use the BytesIO object as input for the wave module\n with wave.open(BytesIO(response.content), 'rb') as wav_file:\n frame_rate = wav_file.getframerate()\n n_frames = wav_file.getnframes()\n n_channels = wav_file.getnchannels()\n sample_width = wav_file.getsampwidth()\n duration = n_frames / frame_rate\n\n frames = wav_file.readframes(n_frames)\n if sample_width == 1: # 8-bit audio\n fmt = '{}B'.format(n_frames * n_channels)\n elif sample_width == 2: # 16-bit audio\n fmt = '{}h'.format(n_frames * n_channels)\n else:\n raise ValueError(\"Only supports up to 16-bit audio.\")\n\n frame_amplitudes = struct.unpack(fmt, frames)\n max_amplitude = max(frame_amplitudes)\n max_amplitude_normalized = max_amplitude / float(int((2 ** (8 * sample_width)) / 2))\n\n return max_amplitude_normalized, duration\n except requests.RequestException as e:\n print(f\"Request failed: {e}\")\n return None, None\n\ndef apply_get_amplitude_and_length(row):\n url = row['data'] # Assuming the URL is in the 'data' column\n amplitude, length = get_amplitude_and_length_from_url(url)\n return pd.Series({'amplitude': amplitude, 'length': length})\n\ndf[['amplitude', 'length']] = df.progress_apply(apply_get_amplitude_and_length, axis=1)\n"})}),"\n",(0,a.jsx)(n.h3,{id:"create-a-zeno-project",children:"Create a Zeno Project"}),"\n",(0,a.jsxs)(n.p,{children:["We can now upload our data to a Zeno project.\nYou will need your ",(0,a.jsx)(n.code,{children:"ZENO_API_KEY"})," here, which you can generate by clicking on your profile at the top right to navigate to your ",(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/account",children:"account page"}),"."]}),"\n",(0,a.jsx)(n.p,{children:"Once you have your API key, you can authenticate with the Zeno client and create a project as follows:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'client = zeno_client.ZenoClient(YOUR_API_KEY)\n\nproject = client.create_project(\n name="Audio Transcription Accents Evaluation",\n view="audio-transcription",\n description="Comparison of multiple audio transcription models",\n metrics=[\n zeno_client.ZenoMetric(name="avg wer", type="mean", columns=["wer"])\n ]\n)\n'})}),"\n",(0,a.jsx)(n.p,{children:"We've already added a metric to our project that will help us track the average word error rate of different systems."}),"\n",(0,a.jsx)(n.p,{children:"You can click on the link provided in the output to start exploring your data!"}),"\n",(0,a.jsx)(n.h3,{id:"running-inference-and-uploading-results",children:"Running Inference and Uploading Results"}),"\n",(0,a.jsx)(n.p,{children:"We can already look at our data in Zeno, but would like to start evaluating the output transcriptions of models.\nLet's run inference for some of the popular OpenAI Whisper models."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'# Define what models to run inference on\nmodels = ["medium.en", "large-v1", "large-v2", "large-v3", "distil-medium.en", "distil-large-v2"]\nos.makedirs("cache", exist_ok=True)\n\n# Load inference data from cache or run inference for each model and add the data to a dataframe.\ndf_systems = []\nfor model_name in models:\n try:\n df_system = pd.read_parquet(f"cache/{model_name}.parquet")\n except:\n df_system = df[["id", "data", "label"]].copy()\n\n if "distil" in model_name:\n model_id = "distil-whisper/" + model_name\n model = AutoModelForSpeechSeq2Seq.from_pretrained(\n model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True\n )\n model.to(device)\n\n processor = AutoProcessor.from_pretrained(model_id)\n pipe = pipeline(\n "automatic-speech-recognition",\n model=model,\n tokenizer=processor.tokenizer,\n feature_extractor=processor.feature_extractor,\n max_new_tokens=128,\n chunk_length_s=15,\n batch_size=16,\n torch_dtype=torch_dtype,\n device=device,\n )\n df_system["output"] = df_system["data"].progress_apply(lambda x: pipe(x)[\'text\'])\n pass\n else:\n whisper_model = whisper.load_model(model_name)\n df_system["output"] = df_system["data"].progress_apply(\n lambda x: whisper_model.transcribe(x)["text"]\n )\n\n df_system["wer"] = df_system.progress_apply(lambda x: wer(x["label"], x["output"]), axis=1)\n df_system.to_parquet(f"cache/{model_name}.parquet", index=False)\n df_systems.append(df_system)\n'})}),"\n",(0,a.jsx)(n.p,{children:"You can see that we also calculate the word error rate (WER) for each model, a common metric for evaluating transcription models."}),"\n",(0,a.jsx)(n.p,{children:"We can now upload these results to our project:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'for i, df_system in enumerate(df_systems):\n project.upload_system(\n df_system[["id", "output", "wer"]], name=models[i], id_column="id", output_column="output"\n )\n'})}),"\n",(0,a.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,a.jsxs)(n.p,{children:["If you've followed this example you should have a Zeno project similar to the one linked at the top of this page.\nLooking at ",(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/project/62ec4e74-7358-4801-b80c-d19e51ff2a4f/Audio%20Transcription%20Accents/explore?params=eyJtb2RlbCI6IndoaXNwZXItYmFzZSIsIm1ldHJpYyI6eyJpZCI6NzYwLCJuYW1lIjoiYXZnX3dlciIsInR5cGUiOiJtZWFuIiwiY29sdW1ucyI6WyJ3ZXIiXX0sImNvbXBhcmlzb25Nb2RlbCI6InNpbGVyb19zc3QiLCJjb21wYXJpc29uQ29sdW1uIjp7ImlkIjoiNDhhYWM0ODgtNmU2Yi00YmNmLTkwYWYtMDUyMzM4OWI3YmNkIiwibmFtZSI6Im91dHB1dCIsImNvbHVtblR5cGUiOiJPVVRQVVQiLCJkYXRhVHlwZSI6Ik5PTUlOQUwiLCJtb2RlbCI6IndoaXNwZXItYmFzZSJ9LCJjb21wYXJlU29ydCI6W251bGwsdHJ1ZV0sIm1ldHJpY1JhbmdlIjpbMCwxLjYyMzE4ODQwNTc5NzEwMTZdLCJzZWxlY3Rpb25zIjp7InNsaWNlcyI6WzU2Ml0sIm1ldGFkYXRhIjp7fSwidGFncyI6W119fQ==",children:"high wer samples"})," by filtering for them using the histograms on the left is a great starting point to start finding the limitations of these state of the art models!"]})]})}function u(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>s});var a=t(7294);const i={},o=a.createContext(i);function s(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/86c78be4.948c648d.js b/assets/js/86c78be4.948c648d.js deleted file mode 100644 index e6baac9..0000000 --- a/assets/js/86c78be4.948c648d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[3],{5705:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var a=t(5893),i=t(1151);const o={},s="Audio Transcription",r={id:"examples/transcription",title:"Audio Transcription",description:"Open with Zeno",source:"@site/docs/examples/transcription.mdx",sourceDirName:"examples",slug:"/examples/transcription",permalink:"/docs/examples/transcription",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Example Use Cases",permalink:"/docs/examples/"},next:{title:"Tutorials",permalink:"/docs/tutorials/"}},l={},d=[{value:"Dependencies",id:"dependencies",level:2},{value:"Imports",id:"imports",level:2},{value:"Loading Metadata",id:"loading-metadata",level:3},{value:"Adding New Features",id:"adding-new-features",level:3},{value:"Create a Zeno Project",id:"create-a-zeno-project",level:3},{value:"Running Inference and Uploading Results",id:"running-inference-and-uploading-results",level:3},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"audio-transcription",children:"Audio Transcription"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/project/62ec4e74-7358-4801-b80c-d19e51ff2a4f/Audio%20Transcription%20Accents",children:(0,a.jsx)(n.img,{src:"https://img.shields.io/badge/%20-Open_with_Zeno-612593.svg?labelColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMyAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyIDE1Ljc4NDJMMTYuNDg2MiAxNS43ODQyTDE2LjQ4NjIgMC4yNzA0MDFMMjQuMzAyIDguMDg2MTdMMzIgMTUuNzg0MloiIGZpbGw9IiM2MTI1OTMiLz4KPHBhdGggZD0iTTE1Ljc5MTcgMTUuODMxMUw4LjAzNDc5IDguMDc0MjJMMTUuNzkxNyAwLjMxNzMyOEwxNS43OTE3IDE1LjgzMTFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTQuODY1NSAxNS44MzExTDcuNTk0ODUgMTUuODMxMUw3LjU5NDg1IDguNTYwNDJMMTQuODY1NSAxNS44MzExWiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjYiLz4KPHBhdGggZD0iTTYuMTEyOSAxNS44MzExTDMuMjQxNyAxNS44MzExTDMuMjQxNyAxMi44NjcyTDYuMTEyOSAxNS44MzExWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTIuNzMyMjggMTUuODMxTDEuNTE1NSAxNC42MTQzTDIuNzQyNzEgMTMuMzg3TDIuNzMyMjggMTUuODMxWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjMiLz4KPHBhdGggZD0iTTIuMDM3NiAxNS43ODQyTDEuMTU3NzEgMTUuNzg0MkwxLjE1NzcxIDE0Ljk1MDZMMi4wMzc2IDE1Ljc4NDJaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMC44MzM1NjggMTUuNzg0MUwwLjUwOTM5OSAxNS40NkwwLjgzMzU2NyAxNS4xMzU4TDAuODMzNTY4IDE1Ljc4NDFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNMC4xMDYxODcgMTUuNzk0NEwwLjMwMTAyNSAxNS41OTk2TDAuNDk1ODYzIDE1Ljc5NDRIMC4xMDYxODdaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNNi45NTIxMyAxNS44MjQ4TDMuNjQwOTkgMTIuNTEzN0w2Ljk2OTYzIDkuMTg1MDNMNi45NTIxMyAxNS44MjQ4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTAuMjk0MjM1IDE2LjQ3OTVMMTUuODA4IDE2LjQ3OTVMMTUuODA4IDMxLjk5MzNMNy45OTIyMyAyNC4xNzc1TDAuMjk0MjM1IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIi8+CjxwYXRoIGQ9Ik0xNi40OTU2IDE3LjI0MzZMMjMuODUwNyAyNC41ODVMMTYuNDk1NiAzMS45NEwxNi40OTU2IDE3LjI0MzZaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTYuNTMyNiAxNi40Nzk1TDI0LjQ1MTUgMTYuNDc5NUwyNC40NTE1IDI0LjAyOEwxNi41MzI2IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8cGF0aCBkPSJNMjYuMTgxMyAxNi40MzI2TDI5LjA1MjUgMTYuNDMyNkwyOS4wNTI1IDE5LjM5NjRMMjYuMTgxMyAxNi40MzI2WiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTI5LjU2MTkgMTYuNDMyNkwzMC43Nzg3IDE3LjY0OTRMMjkuNTUxNSAxOC44NzY2TDI5LjU2MTkgMTYuNDMyNloiIGZpbGw9IiM2QTFCOUEiIGZpbGwtb3BhY2l0eT0iMC4zIi8+CjxwYXRoIGQ9Ik0zMC4yNTY2IDE2LjQ3OTVMMzEuMTM2NSAxNi40Nzk1TDMxLjEzNjUgMTcuMzEzMUwzMC4yNTY2IDE2LjQ3OTVaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMzEuNDYwNiAxNi40Nzk1TDMxLjc4NDggMTYuODAzN0wzMS40NjA2IDE3LjEyNzlMMzEuNDYwNiAxNi40Nzk1WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTMyLjE4OCAxNi40NjkyTDMxLjk5MzIgMTYuNjY0MUwzMS43OTgzIDE2LjQ2OTJIMzIuMTg4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTI1LjM0MjEgMTYuNDM4OUwyOC42NTMyIDE5Ljc1TDI1LjMyNDYgMjMuMDc4NkwyNS4zNDIxIDE2LjQzODlaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K",alt:"Open with Zeno"})}),"\n",(0,a.jsx)(n.a,{href:"https://github.com/zeno-ml/zeno-build/blob/main/transcription/transcription.ipynb",children:(0,a.jsx)(n.img,{src:"https://img.shields.io/badge/%20-Open_Notebook-F37726.svg?labelColor=white&logo=Jupyter",alt:"Open Notebook"})})]}),"\n",(0,a.jsxs)(n.p,{children:["Audio transcription is an essential task for applications such as voice assistants,\npodcast search, and video captioning. There are numerous open-source and commercial\ntools for audio transcription, and it can be difficult to know which one to use.\n",(0,a.jsx)(n.a,{href:"https://github.com/openai/whisper",children:"OpenAI's Whisper"})," API is often people's\ngo-to choice, but there are nine different models to choose from with different\nsizes, speeds, and cost."]}),"\n",(0,a.jsxs)(n.p,{children:["In this example, we'll use Zeno to compare the performance of the different\nmodels on the ",(0,a.jsx)(n.a,{href:"https://accent.gmu.edu/",children:"Speech Accent Archive"})," dataset.\nThe dataset has over 2,000 people from around the world reading the same\nparagraph in English. We'll use the dataset to evaluate the performance of\nthe different models on different accents and English fluency levels."]}),"\n",(0,a.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,a.jsx)(n.p,{children:"Let's start by installing the required dependencies for this project:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"pip install jiwer pandas openai-whisper zeno-client torch transformers tqdm\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Additionally, we'll need ffmpeg to run this example.\nYou can test if it is installed by running ",(0,a.jsx)(n.code,{children:"ffmpeg --help"}),".\nIf it is not found, you should install it through your package manager.\nFor example, if you are using conda, you can just run the following (and other managers such as brew and apt also work)."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"conda install ffmpeg\n"})}),"\n",(0,a.jsx)(n.h2,{id:"imports",children:"Imports"}),"\n",(0,a.jsx)(n.p,{children:"After this is all set up, we can now start running our analysis code and uploading data to Zeno.\nWe'll first import relevant libraries which we're going to use:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'from jiwer import wer\nimport os\nimport pandas as pd\nimport whisper\nimport zeno_client\nimport torch\nfrom transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline\nimport pandas as pd\nimport requests\nfrom io import BytesIO\nimport wave\nimport struct\nfrom tqdm import tqdm\n\ntqdm.pandas()\ndevice = "cuda:0" if torch.cuda.is_available() else "cpu"\ntorch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32\n'})}),"\n",(0,a.jsx)(n.h3,{id:"loading-metadata",children:"Loading Metadata"}),"\n",(0,a.jsxs)(n.p,{children:["We'll be evaluating our model on raw audio, but will use a metadata file with additional information about each audio file ",(0,a.jsx)(n.a,{href:"https://github.com/zeno-ml/zeno-build/blob/main/transcription/speech_accent_archive.csv",children:"here"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'df = pd.read_csv("speech_accent_archive.csv")\ndf["data"] = "https://zenoml.s3.amazonaws.com/accents/" + df["id"]\n'})}),"\n",(0,a.jsx)(n.h3,{id:"adding-new-features",children:"Adding New Features"}),"\n",(0,a.jsxs)(n.p,{children:["In Zeno, we'll often want to enrich our metadata with some extra fields that might be useful for our analysis.\nIn this case, we are going to add the ",(0,a.jsx)(n.em,{children:"amplitude"})," and ",(0,a.jsx)(n.em,{children:"length"})," of the audio snippet as additional metadata fields:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:"# Define the function to get amplitude and length\ndef get_amplitude_and_length_from_url(url):\n # Download the WAV file content from the URL\n try:\n response = requests.get(url)\n response.raise_for_status()\n\n # Use the BytesIO object as input for the wave module\n with wave.open(BytesIO(response.content), 'rb') as wav_file:\n frame_rate = wav_file.getframerate()\n n_frames = wav_file.getnframes()\n n_channels = wav_file.getnchannels()\n sample_width = wav_file.getsampwidth()\n duration = n_frames / frame_rate\n\n frames = wav_file.readframes(n_frames)\n if sample_width == 1: # 8-bit audio\n fmt = '{}B'.format(n_frames * n_channels)\n elif sample_width == 2: # 16-bit audio\n fmt = '{}h'.format(n_frames * n_channels)\n else:\n raise ValueError(\"Only supports up to 16-bit audio.\")\n\n frame_amplitudes = struct.unpack(fmt, frames)\n max_amplitude = max(frame_amplitudes)\n max_amplitude_normalized = max_amplitude / float(int((2 ** (8 * sample_width)) / 2))\n\n return max_amplitude_normalized, duration\n except requests.RequestException as e:\n print(f\"Request failed: {e}\")\n return None, None\n\ndef apply_get_amplitude_and_length(row):\n url = row['data'] # Assuming the URL is in the 'data' column\n amplitude, length = get_amplitude_and_length_from_url(url)\n return pd.Series({'amplitude': amplitude, 'length': length})\n\ndf[['amplitude', 'length']] = df.progress_apply(apply_get_amplitude_and_length, axis=1)\n"})}),"\n",(0,a.jsx)(n.h3,{id:"create-a-zeno-project",children:"Create a Zeno Project"}),"\n",(0,a.jsxs)(n.p,{children:["We can now upload our data to a Zeno project.\nYou will need your ",(0,a.jsx)(n.code,{children:"ZENO_API_KEY"})," here, which you can generate by clicking on your profile at the top right to navigate to your ",(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/account",children:"account page"}),"."]}),"\n",(0,a.jsx)(n.p,{children:"Once you have your API key, you can authenticate with the Zeno client and create a project as follows:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'client = zeno_client.ZenoClient(YOUR_API_KEY)\n\nproject = client.create_project(\n name="Audio Transcription Accents Evaluation",\n view="audio-transcription",\n description="Comparison of multiple audio transcription models",\n metrics=[\n zeno_client.ZenoMetric(name="avg wer", type="mean", columns=["wer"])\n ]\n)\n'})}),"\n",(0,a.jsx)(n.p,{children:"We've already added a metric to our project that will help us track the average word error rate of different systems."}),"\n",(0,a.jsx)(n.p,{children:"You can click on the link provided in the output to start exploring your data!"}),"\n",(0,a.jsx)(n.h3,{id:"running-inference-and-uploading-results",children:"Running Inference and Uploading Results"}),"\n",(0,a.jsx)(n.p,{children:"We can already look at our data in Zeno, but would like to start evaluating the output transcriptions of models.\nLet's run inference for some of the popular OpenAI Whisper models."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'# Define what models to run inference on\nmodels = ["medium.en", "large-v1", "large-v2", "large-v3", "distil-medium.en", "distil-large-v2"]\nos.makedirs("cache", exist_ok=True)\n\n# Load inference data from cache or run inference for each model and add the data to a dataframe.\ndf_systems = []\nfor model_name in models:\n try:\n df_system = pd.read_parquet(f"cache/{model_name}.parquet")\n except:\n df_system = df[["id", "data", "label"]].copy()\n\n if "distil" in model_name:\n model_id = "distil-whisper/" + model_name\n model = AutoModelForSpeechSeq2Seq.from_pretrained(\n model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True\n )\n model.to(device)\n\n processor = AutoProcessor.from_pretrained(model_id)\n pipe = pipeline(\n "automatic-speech-recognition",\n model=model,\n tokenizer=processor.tokenizer,\n feature_extractor=processor.feature_extractor,\n max_new_tokens=128,\n chunk_length_s=15,\n batch_size=16,\n torch_dtype=torch_dtype,\n device=device,\n )\n df_system["output"] = df_system["data"].progress_apply(lambda x: pipe(x)[\'text\'])\n pass\n else:\n whisper_model = whisper.load_model(model_name)\n df_system["output"] = df_system["data"].progress_apply(\n lambda x: whisper_model.transcribe(x)["text"]\n )\n\n df_system["wer"] = df_system.progress_apply(lambda x: wer(x["label"], x["output"]), axis=1)\n df_system.to_parquet(f"cache/{model_name}.parquet", index=False)\n df_systems.append(df_system)\n'})}),"\n",(0,a.jsx)(n.p,{children:"You can see that we also calculate the word error rate (WER) for each model, a common metric for evaluating transcription models."}),"\n",(0,a.jsx)(n.p,{children:"We can now upload these results to our project:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'for i, df_system in enumerate(df_systems):\n project.upload_system(\n df_system[["id", "output", "wer"]], name=models[i], id_column="id", output_column="output"\n )\n'})}),"\n",(0,a.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,a.jsxs)(n.p,{children:["If you've followed this example you should have a Zeno project similar to the one linked at the top of this page.\nLooking at ",(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/project/62ec4e74-7358-4801-b80c-d19e51ff2a4f/Audio%20Transcription%20Accents/explore?params=eyJtb2RlbCI6IndoaXNwZXItYmFzZSIsIm1ldHJpYyI6eyJpZCI6NzYwLCJuYW1lIjoiYXZnX3dlciIsInR5cGUiOiJtZWFuIiwiY29sdW1ucyI6WyJ3ZXIiXX0sImNvbXBhcmlzb25Nb2RlbCI6InNpbGVyb19zc3QiLCJjb21wYXJpc29uQ29sdW1uIjp7ImlkIjoiNDhhYWM0ODgtNmU2Yi00YmNmLTkwYWYtMDUyMzM4OWI3YmNkIiwibmFtZSI6Im91dHB1dCIsImNvbHVtblR5cGUiOiJPVVRQVVQiLCJkYXRhVHlwZSI6Ik5PTUlOQUwiLCJtb2RlbCI6IndoaXNwZXItYmFzZSJ9LCJjb21wYXJlU29ydCI6W251bGwsdHJ1ZV0sIm1ldHJpY1JhbmdlIjpbMCwxLjYyMzE4ODQwNTc5NzEwMTZdLCJzZWxlY3Rpb25zIjp7InNsaWNlcyI6WzU2Ml0sIm1ldGFkYXRhIjp7fSwidGFncyI6W119fQ==",children:"high wer samples"})," by filtering for them using the histograms on the left is a great starting point to start finding the limitations of these state of the art models!"]})]})}function u(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>s});var a=t(7294);const i={},o=a.createContext(i);function s(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.513795d4.js b/assets/js/935f2afb.513795d4.js deleted file mode 100644 index 362bc95..0000000 --- a/assets/js/935f2afb.513795d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Example Use Cases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Audio Transcription","href":"/docs/examples/transcription","docId":"examples/transcription","unlisted":false}],"href":"/docs/examples/"},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Visualize Open LLM Leaderboard Outputs","href":"/docs/tutorials/leaderboard","docId":"tutorials/leaderboard","unlisted":false}],"href":"/docs/tutorials/"},{"type":"link","label":"Python Client API","href":"/docs/python-client","docId":"python-client","unlisted":false},{"type":"category","label":"Instance Views","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Standard Views","href":"/docs/views/existing","docId":"views/existing","unlisted":false},{"type":"category","label":"View Specification","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"View Elements","href":"/docs/views/spec/other","docId":"views/spec/other","unlisted":false}],"href":"/docs/views/spec/"}],"href":"/docs/views/"}]},"docs":{"examples/examples":{"id":"examples/examples","title":"Example Use Cases","description":"Explore evaluation setups for a range of AI applications.","sidebar":"tutorialSidebar"},"examples/transcription":{"id":"examples/transcription","title":"Audio Transcription","description":"Open with Zeno","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Getting Started","description":"Zeno is an interactive AI evaluation platform for exploring, debugging, and sharing how your AI systems perform.","sidebar":"tutorialSidebar"},"python-client":{"id":"python-client","title":"Python Client API","description":"The Python client is used to create projects and upload data.","sidebar":"tutorialSidebar"},"tutorials/leaderboard":{"id":"tutorials/leaderboard","title":"Visualize Open LLM Leaderboard Outputs","description":"The Open LLM Leaderboard is the go-to place for comparing large language models on different benchmark tasks.","sidebar":"tutorialSidebar"},"tutorials/tutorials":{"id":"tutorials/tutorials","title":"Tutorials","description":"Learn about state-of-the-art AI evaluation approaches.","sidebar":"tutorialSidebar"},"views/existing":{"id":"views/existing","title":"Standard Views","description":"Zeno has a number of preconfigured views that can be referenced by name.","sidebar":"tutorialSidebar"},"views/spec/other":{"id":"views/spec/other","title":"View Elements","description":"A View Element defines how to interpret and display data in your Zeno Project.","sidebar":"tutorialSidebar"},"views/spec/spec":{"id":"views/spec/spec","title":"View Specification","description":"With the View Specifications, you can create a custom Instance View for your specific data.","sidebar":"tutorialSidebar"},"views/views":{"id":"views/views","title":"Instance Views","description":"Instance Views let you specify how Zeno should render your data.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.85966eee.js b/assets/js/935f2afb.85966eee.js new file mode 100644 index 0000000..006c0e5 --- /dev/null +++ b/assets/js/935f2afb.85966eee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Example Use Cases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Audio Transcription","href":"/docs/examples/transcription","docId":"examples/transcription","unlisted":false}],"href":"/docs/examples/"},{"type":"category","label":"Integrations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"EleutherAI","href":"/docs/integrations/eleuther","docId":"integrations/eleuther","unlisted":false},{"type":"link","label":"Ragas","href":"/docs/integrations/ragas","docId":"integrations/ragas","unlisted":false}],"href":"/docs/integrations/"},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Visualize Open LLM Leaderboard Outputs","href":"/docs/tutorials/leaderboard","docId":"tutorials/leaderboard","unlisted":false}],"href":"/docs/tutorials/"},{"type":"link","label":"Python Client API","href":"/docs/python-client","docId":"python-client","unlisted":false},{"type":"category","label":"Instance Views","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Standard Views","href":"/docs/views/existing","docId":"views/existing","unlisted":false},{"type":"category","label":"View Specification","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"View Elements","href":"/docs/views/spec/other","docId":"views/spec/other","unlisted":false}],"href":"/docs/views/spec/"}],"href":"/docs/views/"}]},"docs":{"examples/examples":{"id":"examples/examples","title":"Example Use Cases","description":"Explore evaluation setups for a range of AI applications.","sidebar":"tutorialSidebar"},"examples/transcription":{"id":"examples/transcription","title":"Audio Transcription","description":"Open with Zeno","sidebar":"tutorialSidebar"},"integrations/eleuther":{"id":"integrations/eleuther","title":"EleutherAI","description":"Open with Zeno","sidebar":"tutorialSidebar"},"integrations/integrations":{"id":"integrations/integrations","title":"Integrations","description":"Zeno can be used in combination with other libraries, such as benchmarking suites and model chaining frameworks.","sidebar":"tutorialSidebar"},"integrations/ragas":{"id":"integrations/ragas","title":"Ragas","description":"Open with Zeno","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Getting Started","description":"Zeno is an interactive AI evaluation platform for exploring, debugging, and sharing how your AI systems perform.","sidebar":"tutorialSidebar"},"python-client":{"id":"python-client","title":"Python Client API","description":"The Python client is used to create projects and upload data.","sidebar":"tutorialSidebar"},"tutorials/leaderboard":{"id":"tutorials/leaderboard","title":"Visualize Open LLM Leaderboard Outputs","description":"The Open LLM Leaderboard is the go-to place for comparing large language models on different benchmark tasks.","sidebar":"tutorialSidebar"},"tutorials/tutorials":{"id":"tutorials/tutorials","title":"Tutorials","description":"Learn about state-of-the-art AI evaluation approaches.","sidebar":"tutorialSidebar"},"views/existing":{"id":"views/existing","title":"Standard Views","description":"Zeno has a number of preconfigured views that can be referenced by name.","sidebar":"tutorialSidebar"},"views/spec/other":{"id":"views/spec/other","title":"View Elements","description":"A View Element defines how to interpret and display data in your Zeno Project.","sidebar":"tutorialSidebar"},"views/spec/spec":{"id":"views/spec/spec","title":"View Specification","description":"With the View Specifications, you can create a custom Instance View for your specific data.","sidebar":"tutorialSidebar"},"views/views":{"id":"views/views","title":"Instance Views","description":"Instance Views let you specify how Zeno should render your data.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/94c0c3db.942c2dae.js b/assets/js/94c0c3db.942c2dae.js deleted file mode 100644 index 7667985..0000000 --- a/assets/js/94c0c3db.942c2dae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[906],{7213:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var n=r(5893),o=r(1151);const a={sidebar_position:4},s="Tutorials",i={id:"tutorials/tutorials",title:"Tutorials",description:"Learn about state-of-the-art AI evaluation approaches.",source:"@site/docs/tutorials/tutorials.mdx",sourceDirName:"tutorials",slug:"/tutorials/",permalink:"/docs/tutorials/",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Audio Transcription",permalink:"/docs/examples/transcription"},next:{title:"Visualize Open LLM Leaderboard Outputs",permalink:"/docs/tutorials/leaderboard"}},l={},c=[];function d(e){const t={a:"a",h1:"h1",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"tutorials",children:"Tutorials"}),"\n",(0,n.jsx)(t.p,{children:"Learn about state-of-the-art AI evaluation approaches.\nWhile most of these tutorials have a Zeno connection, they can be informative even if you are not using Zeno!"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Example"}),(0,n.jsx)(t.th,{children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"./leaderboard",children:"Visualize Open LLM Leaderboard Outputs"})}),(0,n.jsxs)(t.td,{children:["Learn how to visualize, explore, and compare model results from the ",(0,n.jsx)(t.a,{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",children:"Open LLM Leaderboard"}),"."]})]})})]})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>i,a:()=>s});var n=r(7294);const o={},a=n.createContext(o);function s(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/94c0c3db.b5998c47.js b/assets/js/94c0c3db.b5998c47.js new file mode 100644 index 0000000..fdc9483 --- /dev/null +++ b/assets/js/94c0c3db.b5998c47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[906],{7213:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var n=r(5893),a=r(1151);const o={sidebar_position:4},s="Tutorials",i={id:"tutorials/tutorials",title:"Tutorials",description:"Learn about state-of-the-art AI evaluation approaches.",source:"@site/docs/tutorials/tutorials.mdx",sourceDirName:"tutorials",slug:"/tutorials/",permalink:"/docs/tutorials/",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Ragas",permalink:"/docs/integrations/ragas"},next:{title:"Visualize Open LLM Leaderboard Outputs",permalink:"/docs/tutorials/leaderboard"}},l={},d=[];function c(e){const t={a:"a",h1:"h1",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"tutorials",children:"Tutorials"}),"\n",(0,n.jsx)(t.p,{children:"Learn about state-of-the-art AI evaluation approaches.\nWhile most of these tutorials have a Zeno connection, they can be informative even if you are not using Zeno!"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Example"}),(0,n.jsx)(t.th,{children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"./leaderboard",children:"Visualize Open LLM Leaderboard Outputs"})}),(0,n.jsxs)(t.td,{children:["Learn how to visualize, explore, and compare model results from the ",(0,n.jsx)(t.a,{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",children:"Open LLM Leaderboard"}),"."]})]})})]})]})}function u(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>i,a:()=>s});var n=r(7294);const a={},o=n.createContext(a);function s(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f73eeb10.c01bf599.js b/assets/js/f73eeb10.c01bf599.js new file mode 100644 index 0000000..b52cc17 --- /dev/null +++ b/assets/js/f73eeb10.c01bf599.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[154],{7445:(M,e,i)=>{i.r(e),i.d(e,{assets:()=>j,contentTitle:()=>a,default:()=>u,frontMatter:()=>I,metadata:()=>s,toc:()=>n});var N=i(5893),t=i(1151);const I={},a="EleutherAI",s={id:"integrations/eleuther",title:"EleutherAI",description:"Open with Zeno",source:"@site/docs/integrations/eleuther.mdx",sourceDirName:"integrations",slug:"/integrations/eleuther",permalink:"/docs/integrations/eleuther",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Integrations",permalink:"/docs/integrations/"},next:{title:"Ragas",permalink:"/docs/integrations/ragas"}},j={},n=[];function o(M){const e={a:"a",h1:"h1",img:"img",p:"p",...(0,t.a)(),...M.components};return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(e.h1,{id:"eleutherai",children:"EleutherAI"}),"\n",(0,N.jsxs)(e.p,{children:[(0,N.jsx)(e.a,{href:"https://hub.zenoml.com/project/ba44d31c-9e02-4330-bdbe-0760dfe85dc4/Mamba%20Eval_hellaswag",children:(0,N.jsx)(e.img,{src:"https://img.shields.io/badge/%20-Open_with_Zeno-612593.svg?labelColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMyAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyIDE1Ljc4NDJMMTYuNDg2MiAxNS43ODQyTDE2LjQ4NjIgMC4yNzA0MDFMMjQuMzAyIDguMDg2MTdMMzIgMTUuNzg0MloiIGZpbGw9IiM2MTI1OTMiLz4KPHBhdGggZD0iTTE1Ljc5MTcgMTUuODMxMUw4LjAzNDc5IDguMDc0MjJMMTUuNzkxNyAwLjMxNzMyOEwxNS43OTE3IDE1LjgzMTFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTQuODY1NSAxNS44MzExTDcuNTk0ODUgMTUuODMxMUw3LjU5NDg1IDguNTYwNDJMMTQuODY1NSAxNS44MzExWiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjYiLz4KPHBhdGggZD0iTTYuMTEyOSAxNS44MzExTDMuMjQxNyAxNS44MzExTDMuMjQxNyAxMi44NjcyTDYuMTEyOSAxNS44MzExWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTIuNzMyMjggMTUuODMxTDEuNTE1NSAxNC42MTQzTDIuNzQyNzEgMTMuMzg3TDIuNzMyMjggMTUuODMxWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjMiLz4KPHBhdGggZD0iTTIuMDM3NiAxNS43ODQyTDEuMTU3NzEgMTUuNzg0MkwxLjE1NzcxIDE0Ljk1MDZMMi4wMzc2IDE1Ljc4NDJaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMC44MzM1NjggMTUuNzg0MUwwLjUwOTM5OSAxNS40NkwwLjgzMzU2NyAxNS4xMzU4TDAuODMzNTY4IDE1Ljc4NDFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNMC4xMDYxODcgMTUuNzk0NEwwLjMwMTAyNSAxNS41OTk2TDAuNDk1ODYzIDE1Ljc5NDRIMC4xMDYxODdaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNNi45NTIxMyAxNS44MjQ4TDMuNjQwOTkgMTIuNTEzN0w2Ljk2OTYzIDkuMTg1MDNMNi45NTIxMyAxNS44MjQ4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTAuMjk0MjM1IDE2LjQ3OTVMMTUuODA4IDE2LjQ3OTVMMTUuODA4IDMxLjk5MzNMNy45OTIyMyAyNC4xNzc1TDAuMjk0MjM1IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIi8+CjxwYXRoIGQ9Ik0xNi40OTU2IDE3LjI0MzZMMjMuODUwNyAyNC41ODVMMTYuNDk1NiAzMS45NEwxNi40OTU2IDE3LjI0MzZaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTYuNTMyNiAxNi40Nzk1TDI0LjQ1MTUgMTYuNDc5NUwyNC40NTE1IDI0LjAyOEwxNi41MzI2IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8cGF0aCBkPSJNMjYuMTgxMyAxNi40MzI2TDI5LjA1MjUgMTYuNDMyNkwyOS4wNTI1IDE5LjM5NjRMMjYuMTgxMyAxNi40MzI2WiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTI5LjU2MTkgMTYuNDMyNkwzMC43Nzg3IDE3LjY0OTRMMjkuNTUxNSAxOC44NzY2TDI5LjU2MTkgMTYuNDMyNloiIGZpbGw9IiM2QTFCOUEiIGZpbGwtb3BhY2l0eT0iMC4zIi8+CjxwYXRoIGQ9Ik0zMC4yNTY2IDE2LjQ3OTVMMzEuMTM2NSAxNi40Nzk1TDMxLjEzNjUgMTcuMzEzMUwzMC4yNTY2IDE2LjQ3OTVaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMzEuNDYwNiAxNi40Nzk1TDMxLjc4NDggMTYuODAzN0wzMS40NjA2IDE3LjEyNzlMMzEuNDYwNiAxNi40Nzk1WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTMyLjE4OCAxNi40NjkyTDMxLjk5MzIgMTYuNjY0MUwzMS43OTgzIDE2LjQ2OTJIMzIuMTg4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTI1LjM0MjEgMTYuNDM4OUwyOC42NTMyIDE5Ljc1TDI1LjMyNDYgMjMuMDc4NkwyNS4zNDIxIDE2LjQzODlaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K",alt:"Open with Zeno"})}),"\n",(0,N.jsx)(e.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness/blob/main/examples/visualize-zeno.ipynb",children:(0,N.jsx)(e.img,{src:"https://img.shields.io/badge/%20-Open_Notebook-F37726.svg?labelColor=white&logo=Jupyter",alt:"Open Notebook"})})]}),"\n",(0,N.jsxs)(e.p,{children:["Zeno serves as a visualization frontend to ",(0,N.jsx)(e.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness",children:"EleutherAI evaluation harness"})," results.\nHead over to ",(0,N.jsx)(e.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness#visualizing-results",children:"Eleuther's README"})," to learn more about how to visualize results with Zeno.\nYou can explore an example project for this integration and a notebook that demonstrates how to get your EleutherAI evaluation data into Zeno linked at the top of this page."]})]})}function u(M={}){const{wrapper:e}={...(0,t.a)(),...M.components};return e?(0,N.jsx)(e,{...M,children:(0,N.jsx)(o,{...M})}):o(M)}},1151:(M,e,i)=>{i.d(e,{Z:()=>s,a:()=>a});var N=i(7294);const t={},I=N.createContext(t);function a(M){const e=N.useContext(I);return N.useMemo((function(){return"function"==typeof M?M(e):{...e,...M}}),[e,M])}function s(M){let e;return e=M.disableParentContext?"function"==typeof M.components?M.components(t):M.components||t:a(M.components),N.createElement(I.Provider,{value:e},M.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.2619106a.js b/assets/js/main.2619106a.js deleted file mode 100644 index a33634d..0000000 --- a/assets/js/main.2619106a.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.2619106a.js.LICENSE.txt */ -(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"01a85c17":[()=>Promise.all([n.e(532),n.e(13)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],17896441:[()=>Promise.all([n.e(532),n.e(286),n.e(914),n.e(918)]).then(n.bind(n,8945)),"@theme/DocItem",8945],"1df93b7f":[()=>Promise.all([n.e(532),n.e(237)]).then(n.bind(n,1102)),"@site/src/pages/index.tsx",1102],"1f4f09bf":[()=>n.e(106).then(n.bind(n,1215)),"@site/docs/tutorials/leaderboard.mdx",1215],"20417f73":[()=>n.e(743).then(n.t.bind(n,7456,19)),"~blog/default/blog-tags-introduction-60a.json",7456],"24c768db":[()=>n.e(489).then(n.bind(n,6686)),"@site/src/pages/faq.jsx",6686],"2831b18a":[()=>Promise.all([n.e(532),n.e(286),n.e(640)]).then(n.bind(n,9342)),"@site/docs/views/spec/other.mdx",9342],"28df1be2":[()=>n.e(934).then(n.t.bind(n,4469,19)),"/home/runner/work/zenoml.com/zenoml.com/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"4d0932fd":[()=>n.e(194).then(n.t.bind(n,5745,19)),"/home/runner/work/zenoml.com/zenoml.com/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"58b26e5f":[()=>n.e(425).then(n.bind(n,857)),"@site/docs/examples/examples.mdx",857],"5ad2500b":[()=>n.e(979).then(n.t.bind(n,3599,19)),"~blog/default/blog-tags-introduction-60a-list.json",3599],"5c1fb99f":[()=>n.e(539).then(n.bind(n,3393)),"@site/docs/python-client.mdx",3393],"5cd43755":[()=>n.e(517).then(n.bind(n,5728)),"@site/docs/views/views.mdx",5728],"5e95c892":[()=>n.e(661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6875c492":[()=>Promise.all([n.e(532),n.e(286),n.e(914),n.e(130),n.e(610)]).then(n.bind(n,1404)),"@theme/BlogTagsPostsPage",1404],"814f3328":[()=>n.e(535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"86c78be4":[()=>n.e(3).then(n.bind(n,5705)),"@site/docs/examples/transcription.mdx",5705],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9375f4e3":[()=>Promise.all([n.e(532),n.e(286),n.e(333)]).then(n.bind(n,3797)),"@site/docs/views/existing.mdx",3797],"94c0c3db":[()=>n.e(906).then(n.bind(n,7213)),"@site/docs/tutorials/tutorials.mdx",7213],"989c4899":[()=>Promise.all([n.e(532),n.e(286),n.e(346)]).then(n.bind(n,2028)),"@site/src/pages/about.jsx",2028],"9e4087bc":[()=>n.e(608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(286),n.e(914),n.e(130),n.e(89)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a7023ddc:[()=>n.e(713).then(n.t.bind(n,3457,19)),"~blog/default/blog-tags-tags-4c2.json",3457],a7bd4aaa:[()=>n.e(518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a94703ab:[()=>Promise.all([n.e(532),n.e(368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],ae6c4130:[()=>n.e(60).then(n.t.bind(n,3769,19)),"/home/runner/work/zenoml.com/zenoml.com/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],b245f42a:[()=>Promise.all([n.e(532),n.e(286),n.e(250)]).then(n.bind(n,1561)),"@site/docs/views/spec/spec.mdx",1561],b2b675dd:[()=>n.e(533).then(n.t.bind(n,8017,19)),"~blog/default/blog-c06.json",8017],b2f554cd:[()=>n.e(477).then(n.t.bind(n,10,19)),"~blog/default/blog-archive-80c.json",10],c339cc82:[()=>n.e(566).then(n.bind(n,3512)),"@site/blog/2022-08-26-welcome.md",3512],ccc49370:[()=>Promise.all([n.e(532),n.e(286),n.e(914),n.e(130),n.e(103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],f8409a7e:[()=>Promise.all([n.e(532),n.e(286),n.e(206)]).then(n.bind(n,9325)),"@site/docs/intro.mdx",9325],fda116a3:[()=>n.e(831).then(n.bind(n,2901)),"@site/blog/2022-08-26-welcome.md?truncated=true",2901]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(9670),c=n(226);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},f=[],p=[],g=(0,u.Z)(r);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),a().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const f=[{path:"/about",component:d("/about","b73"),exact:!0},{path:"/blog",component:d("/blog","4e1"),exact:!0},{path:"/blog/archive",component:d("/blog/archive","49c"),exact:!0},{path:"/blog/tags",component:d("/blog/tags","63c"),exact:!0},{path:"/blog/tags/introduction",component:d("/blog/tags/introduction","243"),exact:!0},{path:"/blog/welcome-post",component:d("/blog/welcome-post","7f9"),exact:!0},{path:"/faq",component:d("/faq","4c7"),exact:!0},{path:"/docs",component:d("/docs","de6"),routes:[{path:"/docs",component:d("/docs","31e"),routes:[{path:"/docs",component:d("/docs","a91"),routes:[{path:"/docs/examples/",component:d("/docs/examples/","ff9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/examples/transcription",component:d("/docs/examples/transcription","861"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/intro",component:d("/docs/intro","99a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/python-client",component:d("/docs/python-client","710"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorials/",component:d("/docs/tutorials/","7e1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorials/leaderboard",component:d("/docs/tutorials/leaderboard","397"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/",component:d("/docs/views/","48e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/existing",component:d("/docs/views/existing","c29"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/spec/",component:d("/docs/views/spec/","ea9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/spec/other",component:d("/docs/views/spec/other","d3f"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/",component:d("/","348"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(3727),i=n(405),l=n(412);const s=[n(6657),n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790),f=n(5893);function p(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var g=n(5742),h=n(2263),m=n(4996),y=n(6668),b=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),r=(0,v.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,f.jsxs)(g.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:r}=(0,c.TH)();return e+(0,x.applyTrailingSlash)((0,m.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,f.jsxs)(g.Z,{children:[(0,f.jsx)("meta",{property:"og:url",content:a}),(0,f.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(g.Z,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.h})]}),n&&(0,f.jsx)(b.d,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(E,{}),(0,f.jsx)(S.Z,{tag:k.HX,locale:e}),(0,f.jsx)(g.Z,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const T=new Map;function N(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var L=n(8934),j=n(8940),A=n(469);function P(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;rYour Docusaurus site did not load properly.
\nA very common reason is a wrong site baseUrl configuration.
\nCurrent configured baseUrl = ${e} ${"/"===e?" (default value)":""}
\nWe suggest trying baseUrl =
\nYour Docusaurus site did not load properly.
\nA very common reason is a wrong site baseUrl configuration.
\nCurrent configured baseUrl = ${e} ${"/"===e?" (default value)":""}
\nWe suggest trying baseUrl =
\n