Buckets:
| import{s as xl,n as Vl,o as El}from"../chunks/scheduler.3a17fb72.js";import{S as Rl,i as _l,e as r,s as n,c as i,q as Nl,h as Ql,a as d,d as t,b as a,f as ml,g as p,j as y,r as Al,k as Ml,l as dl,m as s,n as o,t as m,o as M,p as c}from"../chunks/index.093f8863.js";import{C as Sl,H as h,E as Yl}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.5e7ea2bd.js";import{C as T}from"../chunks/CodeBlock.09235327.js";function Xl(yl){let u,ye,re,he,w,ue,g,Te,U,hl=`Lighteval allows you to evaluate custom model implementations by creating a custom model class that inherits from <code>LightevalModel</code>. | |
| This is useful when you want to evaluate models that aren’t directly supported by the standard backends and providers (Transformers, VLLM, etc.), or | |
| if you want to add your own pre/post-processing logic.`,Je,f,we,j,ge,b,ul="Create a Python file containing your custom model implementation. The model must inherit from <code>LightevalModel</code> and implement all required methods.",Ue,C,Tl="Here’s a basic example:",fe,I,je,$,be,G,Jl="The custom model file should contain exactly one class that inherits from <code>LightevalModel</code>. This class will be automatically detected and instantiated when loading the model.",Ce,J,wl="<p>You can find a complete example of a custom model implementation in <code>examples/custom_models/google_translate_model.py</code>.</p>",Ie,Z,$e,B,gl="You can evaluate your custom model using either the command-line interface or the Python API.",Ge,v,Ze,W,Be,k,Ul="The command takes three required arguments:",ve,x,fl="<li><strong>Model name</strong>: Used for tracking in results/logs</li> <li><strong>Model implementation file path</strong>: Path to your Python file containing the custom model</li> <li><strong>Tasks</strong>: Tasks to evaluate on (same format as other backends)</li>",We,V,ke,E,xe,R,Ve,_,jl="Your custom model must implement these core methods:",Ee,N,Re,Q,bl="For generating text until a stop sequence or max tokens is reached. This is used for generative evaluations.",_e,A,Ne,S,Qe,Y,Cl="For computing log probabilities of specific continuations. This is used for multiple choice logprob evaluations.",Ae,X,Se,z,Ye,F,Il="For computing rolling log probabilities of sequences. This is used for perplexity metrics.",Xe,L,ze,H,$l="See the <code>LightevalModel</code> base class documentation for detailed method signatures and requirements.",Fe,q,Le,P,Gl=`Lighteval includes a caching system that can significantly speed up evaluations by storing and reusing model predictions. | |
| To enable caching in your custom model:`,He,D,qe,K,Pe,O,De,ee,Ke,le,ce,cl,te,Oe,se,Zl='For detailed information about the caching system, see the <a href="caching">Caching Documentation</a>.',el,ne,ll,ae,tl,ie,Bl="<li><strong>Import Errors</strong>: Ensure all required dependencies are installed</li> <li><strong>Method Signature Errors</strong>: Verify your methods match the expected signatures</li> <li><strong>Caching Issues</strong>: Check that cache decorators are applied correctly</li> <li><strong>Performance Issues</strong>: Consider implementing batching and caching</li>",sl,pe,nl,oe,vl="<li>Use the <code>--max-samples</code> flag to test with a small dataset</li> <li>Enable detailed logging to see what’s happening</li> <li>Test individual methods in isolation</li> <li>Check the example implementations for reference</li>",al,me,Wl='For more detailed information about custom model implementation, see the <a href="package_reference/models">Model Reference</a>.',il,Me,pl,de,ol;return w=new Sl({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),g=new h({props:{title:"Evaluating Custom Models",local:"evaluating-custom-models",headingTag:"h1"}}),f=new h({props:{title:"Creating a Custom Model",local:"creating-a-custom-model",headingTag:"h2"}}),j=new h({props:{title:"Step 1: Create Your Model Implementation",local:"step-1-create-your-model-implementation",headingTag:"h3"}}),I=new T({props:{code:"ZnJvbSUyMGxpZ2h0ZXZhbC5tb2RlbHMuYWJzdHJhY3RfbW9kZWwlMjBpbXBvcnQlMjBMaWdodGV2YWxNb2RlbCUwQWZyb20lMjBsaWdodGV2YWwubW9kZWxzLm1vZGVsX291dHB1dCUyMGltcG9ydCUyME1vZGVsUmVzcG9uc2UlMEFmcm9tJTIwbGlnaHRldmFsLnRhc2tzLnJlcXVlc3RzJTIwaW1wb3J0JTIwRG9jJTJDJTIwU2FtcGxpbmdNZXRob2QlMEFmcm9tJTIwbGlnaHRldmFsLnV0aWxzLmNhY2hlX21hbmFnZW1lbnQlMjBpbXBvcnQlMjBTYW1wbGVDYWNoZSUyQyUyMGNhY2hlZCUwQSUwQWNsYXNzJTIwTXlDdXN0b21Nb2RlbChMaWdodGV2YWxNb2RlbCklM0ElMEElMjAlMjAlMjAlMjBkZWYlMjBfX2luaXRfXyhzZWxmJTJDJTIwY29uZmlnKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN1cGVyKCkuX19pbml0X18oY29uZmlnKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMEluaXRpYWxpemUlMjB5b3VyJTIwbW9kZWwlMjBoZXJlLi4uJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwRW5hYmxlJTIwY2FjaGluZyUyMChyZWNvbW1lbmRlZCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLl9jYWNoZSUyMCUzRCUyMFNhbXBsZUNhY2hlKGNvbmZpZyklMEElMEElMjAlMjAlMjAlMjAlNDBjYWNoZWQoU2FtcGxpbmdNZXRob2QuR0VORVJBVElWRSklMEElMjAlMjAlMjAlMjBkZWYlMjBncmVlZHlfdW50aWwoc2VsZiUyQyUyMGRvY3MlM0ElMjBMaXN0JTVCRG9jJTVEKSUyMC0lM0UlMjBMaXN0JTVCTW9kZWxSZXNwb25zZSU1RCUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMEltcGxlbWVudCUyMGdlbmVyYXRpb24lMjBsb2dpYyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhc3MlMEElMEElMjAlMjAlMjAlMjAlNDBjYWNoZWQoU2FtcGxpbmdNZXRob2QuTE9HUFJPQlMpJTBBJTIwJTIwJTIwJTIwZGVmJTIwbG9nbGlrZWxpaG9vZChzZWxmJTJDJTIwZG9jcyUzQSUyMExpc3QlNUJEb2MlNUQpJTIwLSUzRSUyMExpc3QlNUJNb2RlbFJlc3BvbnNlJTVEJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwSW1wbGVtZW50JTIwbG9nbGlrZWxpaG9vZCUyMGNvbXB1dGF0aW9uJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcGFzcyUwQSUwQSUyMCUyMCUyMCUyMCU0MGNhY2hlZChTYW1wbGluZ01ldGhvZC5QRVJQTEVYSVRZKSUwQSUyMCUyMCUyMCUyMGRlZiUyMGxvZ2xpa2VsaWhvb2Rfcm9sbGluZyhzZWxmJTJDJTIwZG9jcyUzQSUyMExpc3QlNUJEb2MlNUQpJTIwLSUzRSUyMExpc3QlNUJNb2RlbFJlc3BvbnNlJTVEJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwSW1wbGVtZW50JTIwcm9sbGluZyUyMGxvZ2xpa2VsaWhvb2QlMjBjb21wdXRhdGlvbiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhc3M=",highlighted:`<span class="hljs-keyword">from</span> lighteval.models.abstract_model <span class="hljs-keyword">import</span> LightevalModel | |
| <span class="hljs-keyword">from</span> lighteval.models.model_output <span class="hljs-keyword">import</span> ModelResponse | |
| <span class="hljs-keyword">from</span> lighteval.tasks.requests <span class="hljs-keyword">import</span> Doc, SamplingMethod | |
| <span class="hljs-keyword">from</span> lighteval.utils.cache_management <span class="hljs-keyword">import</span> SampleCache, cached | |
| <span class="hljs-keyword">class</span> <span class="hljs-title class_">MyCustomModel</span>(<span class="hljs-title class_ inherited__">LightevalModel</span>): | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self, config</span>): | |
| <span class="hljs-built_in">super</span>().__init__(config) | |
| <span class="hljs-comment"># Initialize your model here...</span> | |
| <span class="hljs-comment"># Enable caching (recommended)</span> | |
| self._cache = SampleCache(config) | |
| <span class="hljs-meta"> @cached(<span class="hljs-params">SamplingMethod.GENERATIVE</span>)</span> | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">greedy_until</span>(<span class="hljs-params">self, docs: <span class="hljs-type">List</span>[Doc]</span>) -> <span class="hljs-type">List</span>[ModelResponse]: | |
| <span class="hljs-comment"># Implement generation logic</span> | |
| <span class="hljs-keyword">pass</span> | |
| <span class="hljs-meta"> @cached(<span class="hljs-params">SamplingMethod.LOGPROBS</span>)</span> | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">loglikelihood</span>(<span class="hljs-params">self, docs: <span class="hljs-type">List</span>[Doc]</span>) -> <span class="hljs-type">List</span>[ModelResponse]: | |
| <span class="hljs-comment"># Implement loglikelihood computation</span> | |
| <span class="hljs-keyword">pass</span> | |
| <span class="hljs-meta"> @cached(<span class="hljs-params">SamplingMethod.PERPLEXITY</span>)</span> | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">loglikelihood_rolling</span>(<span class="hljs-params">self, docs: <span class="hljs-type">List</span>[Doc]</span>) -> <span class="hljs-type">List</span>[ModelResponse]: | |
| <span class="hljs-comment"># Implement rolling loglikelihood computation</span> | |
| <span class="hljs-keyword">pass</span>`,wrap:!1}}),$=new h({props:{title:"Step 2: Model File Requirements",local:"step-2-model-file-requirements",headingTag:"h3"}}),Z=new h({props:{title:"Running the Evaluation",local:"running-the-evaluation",headingTag:"h2"}}),v=new h({props:{title:"Using the Command Line",local:"using-the-command-line",headingTag:"h3"}}),W=new T({props:{code:"bGlnaHRldmFsJTIwY3VzdG9tJTIwJTVDJTBBJTIwJTIwJTIwJTIwJTIyZ29vZ2xlLXRyYW5zbGF0ZSUyMiUyMCU1QyUwQSUyMCUyMCUyMCUyMCUyMmV4YW1wbGVzJTJGY3VzdG9tX21vZGVscyUyRmdvb2dsZV90cmFuc2xhdGVfbW9kZWwucHklMjIlMjAlNUMlMEElMjAlMjAlMjAlMjAlMjJ3bXQyMCUzQWZyLWRlJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS1tYXgtc2FtcGxlcyUyMDEw",highlighted:`lighteval custom \\ | |
| <span class="hljs-string">"google-translate"</span> \\ | |
| <span class="hljs-string">"examples/custom_models/google_translate_model.py"</span> \\ | |
| <span class="hljs-string">"wmt20:fr-de \\ | |
| --max-samples 10</span>`,wrap:!1}}),V=new h({props:{title:"Using the Python API",local:"using-the-python-api",headingTag:"h3"}}),E=new T({props:{code:"ZnJvbSUyMGxpZ2h0ZXZhbC5sb2dnaW5nLmV2YWx1YXRpb25fdHJhY2tlciUyMGltcG9ydCUyMEV2YWx1YXRpb25UcmFja2VyJTBBZnJvbSUyMGxpZ2h0ZXZhbC5tb2RlbHMuY3VzdG9tLmN1c3RvbV9tb2RlbCUyMGltcG9ydCUyMEN1c3RvbU1vZGVsQ29uZmlnJTBBZnJvbSUyMGxpZ2h0ZXZhbC5waXBlbGluZSUyMGltcG9ydCUyMFBpcGVsaW5lJTJDJTIwUGlwZWxpbmVQYXJhbWV0ZXJzJTJDJTIwUGFyYWxsZWxpc21NYW5hZ2VyJTBBJTBBJTIzJTIwU2V0JTIwdXAlMjBldmFsdWF0aW9uJTIwdHJhY2tpbmclMEFldmFsdWF0aW9uX3RyYWNrZXIlMjAlM0QlMjBFdmFsdWF0aW9uVHJhY2tlciglMEElMjAlMjAlMjAlMjBvdXRwdXRfZGlyJTNEJTIycmVzdWx0cyUyMiUyQyUwQSUyMCUyMCUyMCUyMHNhdmVfZGV0YWlscyUzRFRydWUlMEEpJTBBJTBBJTIzJTIwQ29uZmlndXJlJTIwdGhlJTIwcGlwZWxpbmUlMEFwaXBlbGluZV9wYXJhbXMlMjAlM0QlMjBQaXBlbGluZVBhcmFtZXRlcnMoJTBBJTIwJTIwJTIwJTIwbGF1bmNoZXJfdHlwZSUzRFBhcmFsbGVsaXNtTWFuYWdlci5DVVNUT00lMkMlMEEpJTBBJTBBJTIzJTIwQ29uZmlndXJlJTIweW91ciUyMGN1c3RvbSUyMG1vZGVsJTBBbW9kZWxfY29uZmlnJTIwJTNEJTIwQ3VzdG9tTW9kZWxDb25maWcoJTBBJTIwJTIwJTIwJTIwbW9kZWxfbmFtZSUzRCUyMm15LWN1c3RvbS1tb2RlbCUyMiUyQyUwQSUyMCUyMCUyMCUyMG1vZGVsX2RlZmluaXRpb25fZmlsZV9wYXRoJTNEJTIycGF0aCUyRnRvJTJGbXlfbW9kZWwucHklMjIlMEEpJTBBJTBBJTIzJTIwQ3JlYXRlJTIwYW5kJTIwcnVuJTIwdGhlJTIwcGlwZWxpbmUlMEFwaXBlbGluZSUyMCUzRCUyMFBpcGVsaW5lKCUwQSUyMCUyMCUyMCUyMHRhc2tzJTNEdHJ1dGhmdWxxYSUzQW1jJTJDJTBBJTIwJTIwJTIwJTIwcGlwZWxpbmVfcGFyYW1ldGVycyUzRHBpcGVsaW5lX3BhcmFtcyUyQyUwQSUyMCUyMCUyMCUyMGV2YWx1YXRpb25fdHJhY2tlciUzRGV2YWx1YXRpb25fdHJhY2tlciUyQyUwQSUyMCUyMCUyMCUyMG1vZGVsX2NvbmZpZyUzRG1vZGVsX2NvbmZpZyUwQSklMEElMEFwaXBlbGluZS5ldmFsdWF0ZSgpJTBBcGlwZWxpbmUuc2F2ZV9hbmRfcHVzaF9yZXN1bHRzKCk=",highlighted:`<span class="hljs-keyword">from</span> lighteval.logging.evaluation_tracker <span class="hljs-keyword">import</span> EvaluationTracker | |
| <span class="hljs-keyword">from</span> lighteval.models.custom.custom_model <span class="hljs-keyword">import</span> CustomModelConfig | |
| <span class="hljs-keyword">from</span> lighteval.pipeline <span class="hljs-keyword">import</span> Pipeline, PipelineParameters, ParallelismManager | |
| <span class="hljs-comment"># Set up evaluation tracking</span> | |
| evaluation_tracker = EvaluationTracker( | |
| output_dir=<span class="hljs-string">"results"</span>, | |
| save_details=<span class="hljs-literal">True</span> | |
| ) | |
| <span class="hljs-comment"># Configure the pipeline</span> | |
| pipeline_params = PipelineParameters( | |
| launcher_type=ParallelismManager.CUSTOM, | |
| ) | |
| <span class="hljs-comment"># Configure your custom model</span> | |
| model_config = CustomModelConfig( | |
| model_name=<span class="hljs-string">"my-custom-model"</span>, | |
| model_definition_file_path=<span class="hljs-string">"path/to/my_model.py"</span> | |
| ) | |
| <span class="hljs-comment"># Create and run the pipeline</span> | |
| pipeline = Pipeline( | |
| tasks=truthfulqa:mc, | |
| pipeline_parameters=pipeline_params, | |
| evaluation_tracker=evaluation_tracker, | |
| model_config=model_config | |
| ) | |
| pipeline.evaluate() | |
| pipeline.save_and_push_results()`,wrap:!1}}),R=new h({props:{title:"Required Methods",local:"required-methods",headingTag:"h2"}}),N=new h({props:{title:"greedy_until",local:"greedyuntil",headingTag:"h3"}}),A=new T({props:{code:"ZGVmJTIwZ3JlZWR5X3VudGlsKHNlbGYlMkMlMjBkb2NzJTNBJTIwbGlzdCU1QkRvYyU1RCklMjAtJTNFJTIwbGlzdCU1Qk1vZGVsUmVzcG9uc2UlNUQlM0ElMEElMjAlMjAlMjAlMjAlMjIlMjIlMjIlMEElMjAlMjAlMjAlMjBHZW5lcmF0ZSUyMHRleHQlMjB1bnRpbCUyMHN0b3AlMjBzZXF1ZW5jZSUyMG9yJTIwbWF4JTIwdG9rZW5zLiUwQSUwQSUyMCUyMCUyMCUyMEFyZ3MlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBkb2NzJTNBJTIwbGlzdCUyMG9mJTIwZG9jdW1lbnRzJTIwY29udGFpbmluZyUyMHByb21wdHMlMjBhbmQlMjBnZW5lcmF0aW9uJTIwcGFyYW1ldGVycyUwQSUwQSUyMCUyMCUyMCUyMFJldHVybnMlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsaXN0JTIwb2YlMjBtb2RlbCUyMHJlc3BvbnNlcyUyMHdpdGglMjBnZW5lcmF0ZWQlMjB0ZXh0JTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyJTBBJTIwJTIwJTIwJTIwcGFzcw==",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">greedy_until</span>(<span class="hljs-params">self, docs: <span class="hljs-built_in">list</span>[Doc]</span>) -> <span class="hljs-built_in">list</span>[ModelResponse]: | |
| <span class="hljs-string">""" | |
| Generate text until stop sequence or max tokens. | |
| Args: | |
| docs: list of documents containing prompts and generation parameters | |
| Returns: | |
| list of model responses with generated text | |
| """</span> | |
| <span class="hljs-keyword">pass</span>`,wrap:!1}}),S=new h({props:{title:"loglikelihood",local:"loglikelihood",headingTag:"h3"}}),X=new T({props:{code:"ZGVmJTIwbG9nbGlrZWxpaG9vZChzZWxmJTJDJTIwZG9jcyUzQSUyMGxpc3QlNUJEb2MlNUQpJTIwLSUzRSUyMGxpc3QlNUJNb2RlbFJlc3BvbnNlJTVEJTNBJTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyJTBBJTIwJTIwJTIwJTIwQ29tcHV0ZSUyMGxvZyUyMHByb2JhYmlsaXRpZXMlMjBvZiUyMGNvbnRpbnVhdGlvbnMuJTBBJTBBJTIwJTIwJTIwJTIwQXJncyUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGRvY3MlM0ElMjBsaXN0JTIwb2YlMjBkb2N1bWVudHMlMjBjb250YWluaW5nJTIwY29udGV4dCUyMGFuZCUyMGNvbnRpbnVhdGlvbiUyMHBhaXJzJTBBJTBBJTIwJTIwJTIwJTIwUmV0dXJucyUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxpc3QlMjBvZiUyMG1vZGVsJTIwcmVzcG9uc2VzJTIwd2l0aCUyMGxvZyUyMHByb2JhYmlsaXRpZXMlMEElMjAlMjAlMjAlMjAlMjIlMjIlMjIlMEElMjAlMjAlMjAlMjBwYXNz",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">loglikelihood</span>(<span class="hljs-params">self, docs: <span class="hljs-built_in">list</span>[Doc]</span>) -> <span class="hljs-built_in">list</span>[ModelResponse]: | |
| <span class="hljs-string">""" | |
| Compute log probabilities of continuations. | |
| Args: | |
| docs: list of documents containing context and continuation pairs | |
| Returns: | |
| list of model responses with log probabilities | |
| """</span> | |
| <span class="hljs-keyword">pass</span>`,wrap:!1}}),z=new h({props:{title:"loglikelihood_rolling",local:"loglikelihoodrolling",headingTag:"h3"}}),L=new T({props:{code:"ZGVmJTIwbG9nbGlrZWxpaG9vZF9yb2xsaW5nKHNlbGYlMkMlMjBkb2NzJTNBJTIwbGlzdCU1QkRvYyU1RCklMjAtJTNFJTIwbGlzdCU1Qk1vZGVsUmVzcG9uc2UlNUQlM0ElMEElMjAlMjAlMjAlMjAlMjIlMjIlMjIlMEElMjAlMjAlMjAlMjBDb21wdXRlJTIwcm9sbGluZyUyMGxvZyUyMHByb2JhYmlsaXRpZXMlMjBvZiUyMHNlcXVlbmNlcy4lMEElMEElMjAlMjAlMjAlMjBBcmdzJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZG9jcyUzQSUyMGxpc3QlMjBvZiUyMGRvY3VtZW50cyUyMGNvbnRhaW5pbmclMjB0ZXh0JTIwc2VxdWVuY2VzJTBBJTBBJTIwJTIwJTIwJTIwUmV0dXJucyUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxpc3QlMjBvZiUyMG1vZGVsJTIwcmVzcG9uc2VzJTIwd2l0aCUyMHJvbGxpbmclMjBsb2clMjBwcm9iYWJpbGl0aWVzJTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyJTBBJTIwJTIwJTIwJTIwcGFzcw==",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">loglikelihood_rolling</span>(<span class="hljs-params">self, docs: <span class="hljs-built_in">list</span>[Doc]</span>) -> <span class="hljs-built_in">list</span>[ModelResponse]: | |
| <span class="hljs-string">""" | |
| Compute rolling log probabilities of sequences. | |
| Args: | |
| docs: list of documents containing text sequences | |
| Returns: | |
| list of model responses with rolling log probabilities | |
| """</span> | |
| <span class="hljs-keyword">pass</span>`,wrap:!1}}),q=new h({props:{title:"Enabling Caching (Recommended)",local:"enabling-caching-recommended",headingTag:"h2"}}),D=new h({props:{title:"Step 1: Import Caching Components",local:"step-1-import-caching-components",headingTag:"h3"}}),K=new T({props:{code:"ZnJvbSUyMGxpZ2h0ZXZhbC51dGlscy5jYWNoZV9tYW5hZ2VtZW50JTIwaW1wb3J0JTIwU2FtcGxlQ2FjaGUlMkMlMjBjYWNoZWQ=",highlighted:'<span class="hljs-keyword">from</span> lighteval.utils.cache_management <span class="hljs-keyword">import</span> SampleCache, cached',wrap:!1}}),O=new h({props:{title:"Step 2: Initialize Cache in Constructor",local:"step-2-initialize-cache-in-constructor",headingTag:"h3"}}),ee=new T({props:{code:"ZGVmJTIwX19pbml0X18oc2VsZiUyQyUyMGNvbmZpZyklM0ElMEElMjAlMjAlMjAlMjBzdXBlcigpLl9faW5pdF9fKGNvbmZpZyklMEElMjAlMjAlMjAlMjAlMjMlMjBZb3VyJTIwaW5pdGlhbGl6YXRpb24lMjBjb2RlLi4uJTBBJTIwJTIwJTIwJTIwc2VsZi5fY2FjaGUlMjAlM0QlMjBTYW1wbGVDYWNoZShjb25maWcp",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self, config</span>): | |
| <span class="hljs-built_in">super</span>().__init__(config) | |
| <span class="hljs-comment"># Your initialization code...</span> | |
| self._cache = SampleCache(config)`,wrap:!1}}),te=new T({props:{code:"JTQwY2FjaGVkKFNhbXBsaW5nTWV0aG9kLkdFTkVSQVRJVkUpJTBBZGVmJTIwZ3JlZWR5X3VudGlsKHNlbGYlMkMlMjBkb2NzJTNBJTIwTGlzdCU1QkRvYyU1RCklMjAtJTNFJTIwTGlzdCU1Qk1vZGVsUmVzcG9uc2UlNUQlM0ElMEElMjAlMjAlMjAlMjAlMjMlMjBZb3VyJTIwaW1wbGVtZW50YXRpb24uLi4=",highlighted:`<span class="hljs-meta">@cached(<span class="hljs-params">SamplingMethod.GENERATIVE</span>)</span> | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">greedy_until</span>(<span class="hljs-params">self, docs: <span class="hljs-type">List</span>[Doc]</span>) -> <span class="hljs-type">List</span>[ModelResponse]: | |
| <span class="hljs-comment"># Your implementation...</span>`,wrap:!1}}),ne=new h({props:{title:"Troubleshooting",local:"troubleshooting",headingTag:"h2"}}),ae=new h({props:{title:"Common Issues",local:"common-issues",headingTag:"h3"}}),pe=new h({props:{title:"Debugging Tips",local:"debugging-tips",headingTag:"h3"}}),Me=new Yl({props:{source:"https://github.com/huggingface/lighteval/blob/main/docs/source/evaluating-a-custom-model.mdx"}}),{c(){u=r("meta"),ye=n(),re=r("p"),he=n(),i(w.$$.fragment),ue=n(),i(g.$$.fragment),Te=n(),U=r("p"),U.innerHTML=hl,Je=n(),i(f.$$.fragment),we=n(),i(j.$$.fragment),ge=n(),b=r("p"),b.innerHTML=ul,Ue=n(),C=r("p"),C.textContent=Tl,fe=n(),i(I.$$.fragment),je=n(),i($.$$.fragment),be=n(),G=r("p"),G.innerHTML=Jl,Ce=n(),J=r("blockquote"),J.innerHTML=wl,Ie=n(),i(Z.$$.fragment),$e=n(),B=r("p"),B.textContent=gl,Ge=n(),i(v.$$.fragment),Ze=n(),i(W.$$.fragment),Be=n(),k=r("p"),k.textContent=Ul,ve=n(),x=r("ul"),x.innerHTML=fl,We=n(),i(V.$$.fragment),ke=n(),i(E.$$.fragment),xe=n(),i(R.$$.fragment),Ve=n(),_=r("p"),_.textContent=jl,Ee=n(),i(N.$$.fragment),Re=n(),Q=r("p"),Q.textContent=bl,_e=n(),i(A.$$.fragment),Ne=n(),i(S.$$.fragment),Qe=n(),Y=r("p"),Y.textContent=Cl,Ae=n(),i(X.$$.fragment),Se=n(),i(z.$$.fragment),Ye=n(),F=r("p"),F.textContent=Il,Xe=n(),i(L.$$.fragment),ze=n(),H=r("p"),H.innerHTML=$l,Fe=n(),i(q.$$.fragment),Le=n(),P=r("p"),P.textContent=Gl,He=n(),i(D.$$.fragment),qe=n(),i(K.$$.fragment),Pe=n(),i(O.$$.fragment),De=n(),i(ee.$$.fragment),Ke=n(),le=r("ol"),ce=r("li"),cl=Nl(`Add cache decorators to your prediction methods: | |
| `),i(te.$$.fragment),Oe=n(),se=r("p"),se.innerHTML=Zl,el=n(),i(ne.$$.fragment),ll=n(),i(ae.$$.fragment),tl=n(),ie=r("ol"),ie.innerHTML=Bl,sl=n(),i(pe.$$.fragment),nl=n(),oe=r("ul"),oe.innerHTML=vl,al=n(),me=r("p"),me.innerHTML=Wl,il=n(),i(Me.$$.fragment),pl=n(),de=r("p"),this.h()},l(e){const l=Ql("svelte-u9bgzb",document.head);u=d(l,"META",{name:!0,content:!0}),l.forEach(t),ye=a(e),re=d(e,"P",{}),ml(re).forEach(t),he=a(e),p(w.$$.fragment,e),ue=a(e),p(g.$$.fragment,e),Te=a(e),U=d(e,"P",{"data-svelte-h":!0}),y(U)!=="svelte-15yahec"&&(U.innerHTML=hl),Je=a(e),p(f.$$.fragment,e),we=a(e),p(j.$$.fragment,e),ge=a(e),b=d(e,"P",{"data-svelte-h":!0}),y(b)!=="svelte-64btiy"&&(b.innerHTML=ul),Ue=a(e),C=d(e,"P",{"data-svelte-h":!0}),y(C)!=="svelte-1frc3d"&&(C.textContent=Tl),fe=a(e),p(I.$$.fragment,e),je=a(e),p($.$$.fragment,e),be=a(e),G=d(e,"P",{"data-svelte-h":!0}),y(G)!=="svelte-4gi028"&&(G.innerHTML=Jl),Ce=a(e),J=d(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),y(J)!=="svelte-1m7vrvf"&&(J.innerHTML=wl),Ie=a(e),p(Z.$$.fragment,e),$e=a(e),B=d(e,"P",{"data-svelte-h":!0}),y(B)!=="svelte-md1ogy"&&(B.textContent=gl),Ge=a(e),p(v.$$.fragment,e),Ze=a(e),p(W.$$.fragment,e),Be=a(e),k=d(e,"P",{"data-svelte-h":!0}),y(k)!=="svelte-9ha93v"&&(k.textContent=Ul),ve=a(e),x=d(e,"UL",{"data-svelte-h":!0}),y(x)!=="svelte-7oyst4"&&(x.innerHTML=fl),We=a(e),p(V.$$.fragment,e),ke=a(e),p(E.$$.fragment,e),xe=a(e),p(R.$$.fragment,e),Ve=a(e),_=d(e,"P",{"data-svelte-h":!0}),y(_)!=="svelte-abp4ax"&&(_.textContent=jl),Ee=a(e),p(N.$$.fragment,e),Re=a(e),Q=d(e,"P",{"data-svelte-h":!0}),y(Q)!=="svelte-1nk29lo"&&(Q.textContent=bl),_e=a(e),p(A.$$.fragment,e),Ne=a(e),p(S.$$.fragment,e),Qe=a(e),Y=d(e,"P",{"data-svelte-h":!0}),y(Y)!=="svelte-1bufz8k"&&(Y.textContent=Cl),Ae=a(e),p(X.$$.fragment,e),Se=a(e),p(z.$$.fragment,e),Ye=a(e),F=d(e,"P",{"data-svelte-h":!0}),y(F)!=="svelte-dqj7yp"&&(F.textContent=Il),Xe=a(e),p(L.$$.fragment,e),ze=a(e),H=d(e,"P",{"data-svelte-h":!0}),y(H)!=="svelte-845vib"&&(H.innerHTML=$l),Fe=a(e),p(q.$$.fragment,e),Le=a(e),P=d(e,"P",{"data-svelte-h":!0}),y(P)!=="svelte-1eshig5"&&(P.textContent=Gl),He=a(e),p(D.$$.fragment,e),qe=a(e),p(K.$$.fragment,e),Pe=a(e),p(O.$$.fragment,e),De=a(e),p(ee.$$.fragment,e),Ke=a(e),le=d(e,"OL",{start:!0});var kl=ml(le);ce=d(kl,"LI",{});var rl=ml(ce);cl=Al(rl,`Add cache decorators to your prediction methods: | |
| `),p(te.$$.fragment,rl),rl.forEach(t),kl.forEach(t),Oe=a(e),se=d(e,"P",{"data-svelte-h":!0}),y(se)!=="svelte-eqax9m"&&(se.innerHTML=Zl),el=a(e),p(ne.$$.fragment,e),ll=a(e),p(ae.$$.fragment,e),tl=a(e),ie=d(e,"OL",{"data-svelte-h":!0}),y(ie)!=="svelte-hifd4u"&&(ie.innerHTML=Bl),sl=a(e),p(pe.$$.fragment,e),nl=a(e),oe=d(e,"UL",{"data-svelte-h":!0}),y(oe)!=="svelte-1g8hpki"&&(oe.innerHTML=vl),al=a(e),me=d(e,"P",{"data-svelte-h":!0}),y(me)!=="svelte-15nhhnt"&&(me.innerHTML=Wl),il=a(e),p(Me.$$.fragment,e),pl=a(e),de=d(e,"P",{}),ml(de).forEach(t),this.h()},h(){Ml(u,"name","hf:doc:metadata"),Ml(u,"content",zl),Ml(J,"class","tip"),Ml(le,"start","3")},m(e,l){dl(document.head,u),s(e,ye,l),s(e,re,l),s(e,he,l),o(w,e,l),s(e,ue,l),o(g,e,l),s(e,Te,l),s(e,U,l),s(e,Je,l),o(f,e,l),s(e,we,l),o(j,e,l),s(e,ge,l),s(e,b,l),s(e,Ue,l),s(e,C,l),s(e,fe,l),o(I,e,l),s(e,je,l),o($,e,l),s(e,be,l),s(e,G,l),s(e,Ce,l),s(e,J,l),s(e,Ie,l),o(Z,e,l),s(e,$e,l),s(e,B,l),s(e,Ge,l),o(v,e,l),s(e,Ze,l),o(W,e,l),s(e,Be,l),s(e,k,l),s(e,ve,l),s(e,x,l),s(e,We,l),o(V,e,l),s(e,ke,l),o(E,e,l),s(e,xe,l),o(R,e,l),s(e,Ve,l),s(e,_,l),s(e,Ee,l),o(N,e,l),s(e,Re,l),s(e,Q,l),s(e,_e,l),o(A,e,l),s(e,Ne,l),o(S,e,l),s(e,Qe,l),s(e,Y,l),s(e,Ae,l),o(X,e,l),s(e,Se,l),o(z,e,l),s(e,Ye,l),s(e,F,l),s(e,Xe,l),o(L,e,l),s(e,ze,l),s(e,H,l),s(e,Fe,l),o(q,e,l),s(e,Le,l),s(e,P,l),s(e,He,l),o(D,e,l),s(e,qe,l),o(K,e,l),s(e,Pe,l),o(O,e,l),s(e,De,l),o(ee,e,l),s(e,Ke,l),s(e,le,l),dl(le,ce),dl(ce,cl),o(te,ce,null),s(e,Oe,l),s(e,se,l),s(e,el,l),o(ne,e,l),s(e,ll,l),o(ae,e,l),s(e,tl,l),s(e,ie,l),s(e,sl,l),o(pe,e,l),s(e,nl,l),s(e,oe,l),s(e,al,l),s(e,me,l),s(e,il,l),o(Me,e,l),s(e,pl,l),s(e,de,l),ol=!0},p:Vl,i(e){ol||(m(w.$$.fragment,e),m(g.$$.fragment,e),m(f.$$.fragment,e),m(j.$$.fragment,e),m(I.$$.fragment,e),m($.$$.fragment,e),m(Z.$$.fragment,e),m(v.$$.fragment,e),m(W.$$.fragment,e),m(V.$$.fragment,e),m(E.$$.fragment,e),m(R.$$.fragment,e),m(N.$$.fragment,e),m(A.$$.fragment,e),m(S.$$.fragment,e),m(X.$$.fragment,e),m(z.$$.fragment,e),m(L.$$.fragment,e),m(q.$$.fragment,e),m(D.$$.fragment,e),m(K.$$.fragment,e),m(O.$$.fragment,e),m(ee.$$.fragment,e),m(te.$$.fragment,e),m(ne.$$.fragment,e),m(ae.$$.fragment,e),m(pe.$$.fragment,e),m(Me.$$.fragment,e),ol=!0)},o(e){M(w.$$.fragment,e),M(g.$$.fragment,e),M(f.$$.fragment,e),M(j.$$.fragment,e),M(I.$$.fragment,e),M($.$$.fragment,e),M(Z.$$.fragment,e),M(v.$$.fragment,e),M(W.$$.fragment,e),M(V.$$.fragment,e),M(E.$$.fragment,e),M(R.$$.fragment,e),M(N.$$.fragment,e),M(A.$$.fragment,e),M(S.$$.fragment,e),M(X.$$.fragment,e),M(z.$$.fragment,e),M(L.$$.fragment,e),M(q.$$.fragment,e),M(D.$$.fragment,e),M(K.$$.fragment,e),M(O.$$.fragment,e),M(ee.$$.fragment,e),M(te.$$.fragment,e),M(ne.$$.fragment,e),M(ae.$$.fragment,e),M(pe.$$.fragment,e),M(Me.$$.fragment,e),ol=!1},d(e){e&&(t(ye),t(re),t(he),t(ue),t(Te),t(U),t(Je),t(we),t(ge),t(b),t(Ue),t(C),t(fe),t(je),t(be),t(G),t(Ce),t(J),t(Ie),t($e),t(B),t(Ge),t(Ze),t(Be),t(k),t(ve),t(x),t(We),t(ke),t(xe),t(Ve),t(_),t(Ee),t(Re),t(Q),t(_e),t(Ne),t(Qe),t(Y),t(Ae),t(Se),t(Ye),t(F),t(Xe),t(ze),t(H),t(Fe),t(Le),t(P),t(He),t(qe),t(Pe),t(De),t(Ke),t(le),t(Oe),t(se),t(el),t(ll),t(tl),t(ie),t(sl),t(nl),t(oe),t(al),t(me),t(il),t(pl),t(de)),t(u),c(w,e),c(g,e),c(f,e),c(j,e),c(I,e),c($,e),c(Z,e),c(v,e),c(W,e),c(V,e),c(E,e),c(R,e),c(N,e),c(A,e),c(S,e),c(X,e),c(z,e),c(L,e),c(q,e),c(D,e),c(K,e),c(O,e),c(ee,e),c(te),c(ne,e),c(ae,e),c(pe,e),c(Me,e)}}}const zl='{"title":"Evaluating Custom Models","local":"evaluating-custom-models","sections":[{"title":"Creating a Custom Model","local":"creating-a-custom-model","sections":[{"title":"Step 1: Create Your Model Implementation","local":"step-1-create-your-model-implementation","sections":[],"depth":3},{"title":"Step 2: Model File Requirements","local":"step-2-model-file-requirements","sections":[],"depth":3}],"depth":2},{"title":"Running the Evaluation","local":"running-the-evaluation","sections":[{"title":"Using the Command Line","local":"using-the-command-line","sections":[],"depth":3},{"title":"Using the Python API","local":"using-the-python-api","sections":[],"depth":3}],"depth":2},{"title":"Required Methods","local":"required-methods","sections":[{"title":"greedy_until","local":"greedyuntil","sections":[],"depth":3},{"title":"loglikelihood","local":"loglikelihood","sections":[],"depth":3},{"title":"loglikelihood_rolling","local":"loglikelihoodrolling","sections":[],"depth":3}],"depth":2},{"title":"Enabling Caching (Recommended)","local":"enabling-caching-recommended","sections":[{"title":"Step 1: Import Caching Components","local":"step-1-import-caching-components","sections":[],"depth":3},{"title":"Step 2: Initialize Cache in Constructor","local":"step-2-initialize-cache-in-constructor","sections":[],"depth":3}],"depth":2},{"title":"Troubleshooting","local":"troubleshooting","sections":[{"title":"Common Issues","local":"common-issues","sections":[],"depth":3},{"title":"Debugging Tips","local":"debugging-tips","sections":[],"depth":3}],"depth":2}],"depth":1}';function Fl(yl){return El(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Dl extends Rl{constructor(u){super(),_l(this,u,Fl,Xl,xl,{})}}export{Dl as component}; | |
Xet Storage Details
- Size:
- 27.4 kB
- Xet hash:
- 4d5d53bef0d62aa5e996dd6822b43e30d95a2d0257f7e40f12eddd928b9c1b0a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.