Buckets:

rtrm's picture
download
raw
21 kB
import{s as Ze,o as $e,n as Ne}from"../chunks/scheduler.7da89386.js";import{S as Re,i as Se,g as M,s as n,r as p,A as Ve,h as c,f as l,c as o,j as ve,u as y,x as m,k as ge,y as Ee,a as s,v as u,d,t as r,w as U}from"../chunks/index.20910acc.js";import{T as Ae}from"../chunks/Tip.53e22153.js";import{C as X}from"../chunks/CodeBlock.143bd81e.js";import{H as Ge,E as We}from"../chunks/getInferenceSnippets.fc2ce523.js";function Qe(z){let a,w='You can find examples of custom tasks in the <a href="https://github.com/huggingface/lighteval/tree/main/community_tasks">community_task</a> directory.';return{c(){a=M("p"),a.innerHTML=w},l(i){a=c(i,"P",{"data-svelte-h":!0}),m(a)!=="svelte-1t4f4pd"&&(a.innerHTML=w)},m(i,T){s(i,a,T)},p:Ne,d(i){i&&l(a)}}}function ze(z){let a,w=`To contribute your custom metric to the lighteval repo, you would first need
to install the required dev dependencies by running <code>pip install -e .[dev]</code>
and then run <code>pre-commit install</code> to install the pre-commit hooks.`;return{c(){a=M("p"),a.innerHTML=w},l(i){a=c(i,"P",{"data-svelte-h":!0}),m(a)!=="svelte-l65q4m"&&(a.innerHTML=w)},m(i,T){s(i,a,T)},p:Ne,d(i){i&&l(a)}}}function Xe(z){let a,w,i,T,f,Y,j,re=`To add a new task, first either open an issue, to determine whether it will be
integrated in the core evaluations of lighteval, in the extended tasks, or the
community tasks, and add its dataset on the hub.`,H,I,Ue=`<li>Core evaluations are evaluations that only require standard logic in their
metrics and processing, and that we will add to our test suite to ensure non
regression through time. They already see high usage in the community.</li> <li>Extended evaluations are evaluations that require custom logic in their
metrics (complex normalisation, an LLM as a judge, …), that we added to
facilitate the life of users. They already see high usage in the community.</li> <li>Community evaluations are submissions by the community of new tasks.</li>`,q,C,we="A popular community evaluation can move to become an extended or core evaluation over time.",F,J,L,b,P,h,D,_,Te="First, create a python file under the <code>community_tasks</code> directory.",K,B,Je=`You need to define a prompt function that will convert a line from your
dataset to a document to be used for evaluation.`,O,k,ee,v,he=`Then, you need to choose a metric: you can either use an existing one (defined
in <code>lighteval.metrics.metrics.Metrics</code>) or <a href="adding-a-new-metric">create a custom one</a>).`,te,g,le,A,fe=`Then, you need to define your task using <a href="/docs/lighteval/pr_722/en/package_reference/tasks#lighteval.tasks.lighteval_task.LightevalTaskConfig">LightevalTaskConfig</a>.
You can define a task with or without subsets.
To define a task with no subsets:`,se,G,ae,N,je=`If you want to create a task with multiple subset, add them to the
<code>SAMPLE_SUBSETS</code> list and create a task for each subset.`,ne,Z,oe,$,Ie="Here is a list of the parameters and their meaning:",ie,R,Ce=`<li><code>name</code> (str), your evaluation name</li> <li><code>suite</code> (list), the suite(s) to which your evaluation should belong. This
field allows us to compare different task implementations and is used as a
task selection to differentiate the versions to launch. At the moment, you’ll
find the keywords [“helm”, “bigbench”, “original”, “lighteval”, “community”,
“custom”]; for core evals, please choose <code>lighteval</code>.</li> <li><code>prompt_function</code> (Callable), the prompt function you defined in the step
above</li> <li><code>hf_repo</code> (str), the path to your evaluation dataset on the hub</li> <li><code>hf_subset</code> (str), the specific subset you want to use for your evaluation
(note: when the dataset has no subset, fill this field with <code>&quot;default&quot;</code>, not
with <code>None</code> or <code>&quot;&quot;</code>)</li> <li><code>hf_avail_splits</code> (list), all the splits available for your dataset (train,
valid or validation, test, other…)</li> <li><code>evaluation_splits</code> (list), the splits you want to use for evaluation</li> <li><code>few_shots_split</code> (str, can be <code>null</code>), the specific split from which you
want to select samples for your few-shot examples. It should be different
from the sets included in <code>evaluation_splits</code></li> <li><code>few_shots_select</code> (str, can be <code>null</code>), the method that you will use to
select items for your few-shot examples. Can be <code>null</code>, or one of:<ul><li><code>balanced</code> select examples from the <code>few_shots_split</code> with balanced
labels, to avoid skewing the few shot examples (hence the model
generations) toward one specific label</li> <li><code>random</code> selects examples at random from the <code>few_shots_split</code></li> <li><code>random_sampling</code> selects new examples at random from the
<code>few_shots_split</code> for every new item, but if a sampled item is equal to
the current one, it is removed from the available samples</li> <li><code>random_sampling_from_train</code> selects new examples at random from the
<code>few_shots_split</code> for every new item, but if a sampled item is equal to
the current one, it is kept! Only use this if you know what you are
doing.</li> <li><code>sequential</code> selects the first <code>n</code> examples of the <code>few_shots_split</code></li></ul></li> <li><code>generation_size</code> (int), the maximum number of tokens allowed for a
generative evaluation. If your evaluation is a log likelihood evaluation
(multi-choice), this value should be -1</li> <li><code>stop_sequence</code> (list), a list of strings acting as end of sentence tokens
for your generation</li> <li><code>metric</code> (list), the metrics you want to use for your evaluation (see next
section for a detailed explanation)</li> <li><code>trust_dataset</code> (bool), set to True if you trust the dataset.</li>`,Me,S,be="Then you need to add your task to the <code>TASKS_TABLE</code> list.",ce,V,me,E,_e="Once your file is created you can then run the evaluation with the following command:",pe,W,ye,Q,ue,x,de;return f=new Ge({props:{title:"Adding a Custom Task",local:"adding-a-custom-task",headingTag:"h1"}}),J=new Ae({props:{warning:!1,$$slots:{default:[Qe]},$$scope:{ctx:z}}}),b=new Ge({props:{title:"Step by step creation of a custom task",local:"step-by-step-creation-of-a-custom-task",headingTag:"h2"}}),h=new Ae({props:{warning:!0,$$slots:{default:[ze]},$$scope:{ctx:z}}}),k=new X({props:{code:"JTIzJTIwRGVmaW5lJTIwYXMlMjBtYW55JTIwYXMlMjB5b3UlMjBuZWVkJTIwZm9yJTIweW91ciUyMGRpZmZlcmVudCUyMHRhc2tzJTBBZGVmJTIwcHJvbXB0X2ZuKGxpbmUlMkMlMjB0YXNrX25hbWUlM0ElMjBzdHIlMjAlM0QlMjBOb25lKSUzQSUwQSUyMCUyMCUyMCUyMCUyMiUyMiUyMkRlZmluZXMlMjBob3clMjB0byUyMGdvJTIwZnJvbSUyMGElMjBkYXRhc2V0JTIwbGluZSUyMHRvJTIwYSUyMGRvYyUyMG9iamVjdC4lMEElMjAlMjAlMjAlMjBGb2xsb3clMjBleGFtcGxlcyUyMGluJTIwc3JjJTJGbGlnaHRldmFsJTJGdGFza3MlMkZkZWZhdWx0X3Byb21wdHMucHklMkMlMjBvciUyMGdldCUyMG1vcmUlMjBpbmZvJTBBJTIwJTIwJTIwJTIwYWJvdXQlMjB3aGF0JTIwdGhpcyUyMGZ1bmN0aW9uJTIwc2hvdWxkJTIwZG8lMjBpbiUyMHRoZSUyMFJFQURNRS4lMEElMjAlMjAlMjAlMjAlMjIlMjIlMjIlMEElMjAlMjAlMjAlMjByZXR1cm4lMjBEb2MoJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdGFza19uYW1lJTNEdGFza19uYW1lJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcXVlcnklM0RsaW5lJTVCJTIycXVlc3Rpb24lMjIlNUQlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjaG9pY2VzJTNEJTVCZiUyMiUyMCU3QmMlN0QlMjIlMjBmb3IlMjBjJTIwaW4lMjBsaW5lJTVCJTIyY2hvaWNlcyUyMiU1RCU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGdvbGRfaW5kZXglM0RsaW5lJTVCJTIyZ29sZCUyMiU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGluc3RydWN0aW9uJTNEJTIyJTIyJTJDJTBBJTIwJTIwJTIwJTIwKQ==",highlighted:`<span class="hljs-comment"># Define as many as you need for your different tasks</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">prompt_fn</span>(<span class="hljs-params">line, task_name: <span class="hljs-built_in">str</span> = <span class="hljs-literal">None</span></span>):
<span class="hljs-string">&quot;&quot;&quot;Defines how to go from a dataset line to a doc object.
Follow examples in src/lighteval/tasks/default_prompts.py, or get more info
about what this function should do in the README.
&quot;&quot;&quot;</span>
<span class="hljs-keyword">return</span> Doc(
task_name=task_name,
query=line[<span class="hljs-string">&quot;question&quot;</span>],
choices=[<span class="hljs-string">f&quot; <span class="hljs-subst">{c}</span>&quot;</span> <span class="hljs-keyword">for</span> c <span class="hljs-keyword">in</span> line[<span class="hljs-string">&quot;choices&quot;</span>]],
gold_index=line[<span class="hljs-string">&quot;gold&quot;</span>],
instruction=<span class="hljs-string">&quot;&quot;</span>,
)`,wrap:!1}}),g=new X({props:{code:"Y3VzdG9tX21ldHJpYyUyMCUzRCUyMFNhbXBsZUxldmVsTWV0cmljKCUwQSUyMCUyMCUyMCUyMG1ldHJpY19uYW1lJTNEJTIybXlfY3VzdG9tX21ldHJpY19uYW1lJTIyJTJDJTBBJTIwJTIwJTIwJTIwaGlnaGVyX2lzX2JldHRlciUzRFRydWUlMkMlMEElMjAlMjAlMjAlMjBjYXRlZ29yeSUzRE1ldHJpY0NhdGVnb3J5LklHTk9SRUQlMkMlMEElMjAlMjAlMjAlMjB1c2VfY2FzZSUzRE1ldHJpY1VzZUNhc2UuTk9ORSUyQyUwQSUyMCUyMCUyMCUyMHNhbXBsZV9sZXZlbF9mbiUzRGxhbWJkYSUyMHglM0ElMjB4JTJDJTIwJTIwJTIzJTIwaG93JTIwdG8lMjBjb21wdXRlJTIwc2NvcmUlMjBmb3IlMjBvbmUlMjBzYW1wbGUlMEElMjAlMjAlMjAlMjBjb3JwdXNfbGV2ZWxfZm4lM0RucC5tZWFuJTJDJTIwJTIwJTIzJTIwSG93JTIwdG8lMjBhZ2dyZWdhdGUlMjB0aGUlMjBzYW1wbGVzJTIwbWV0cmljcyUwQSk=",highlighted:`custom_metric = SampleLevelMetric(
metric_name=<span class="hljs-string">&quot;my_custom_metric_name&quot;</span>,
higher_is_better=<span class="hljs-literal">True</span>,
category=MetricCategory.IGNORED,
use_case=MetricUseCase.NONE,
sample_level_fn=<span class="hljs-keyword">lambda</span> x: x, <span class="hljs-comment"># how to compute score for one sample</span>
corpus_level_fn=np.mean, <span class="hljs-comment"># How to aggregate the samples metrics</span>
)`,wrap:!1}}),G=new X({props:{code:"JTIzJTIwVGhpcyUyMGlzJTIwaG93JTIweW91JTIwY3JlYXRlJTIwYSUyMHNpbXBsZSUyMHRhc2slMjAobGlrZSUyMGhlbGxhc3dhZyklMjB3aGljaCUyMGhhcyUyMG9uZSUyMHNpbmdsZSUyMHN1YnNldCUwQSUyMyUyMGF0dGFjaGVkJTIwdG8lMjBpdCUyQyUyMGFuZCUyMG9uZSUyMGV2YWx1YXRpb24lMjBwb3NzaWJsZS4lMEF0YXNrJTIwJTNEJTIwTGlnaHRldmFsVGFza0NvbmZpZyglMEElMjAlMjAlMjAlMjBuYW1lJTNEJTIybXlvdGhlcnRhc2slMjIlMkMlMEElMjAlMjAlMjAlMjBwcm9tcHRfZnVuY3Rpb24lM0Rwcm9tcHRfZm4lMkMlMjAlMjAlMjMlMjBtdXN0JTIwYmUlMjBkZWZpbmVkJTIwaW4lMjB0aGUlMjBmaWxlJTIwb3IlMjBpbXBvcnRlZCUyMGZyb20lMjBzcmMlMkZsaWdodGV2YWwlMkZ0YXNrcyUyRnRhc2tzX3Byb21wdF9mb3JtYXR0aW5nLnB5JTBBJTIwJTIwJTIwJTIwc3VpdGUlM0QlNUIlMjJjb21tdW5pdHklMjIlNUQlMkMlMEElMjAlMjAlMjAlMjBoZl9yZXBvJTNEJTIyJTIyJTJDJTBBJTIwJTIwJTIwJTIwaGZfc3Vic2V0JTNEJTIyZGVmYXVsdCUyMiUyQyUwQSUyMCUyMCUyMCUyMGhmX2F2YWlsX3NwbGl0cyUzRCU1QiU1RCUyQyUwQSUyMCUyMCUyMCUyMGV2YWx1YXRpb25fc3BsaXRzJTNEJTVCJTVEJTJDJTBBJTIwJTIwJTIwJTIwZmV3X3Nob3RzX3NwbGl0JTNETm9uZSUyQyUwQSUyMCUyMCUyMCUyMGZld19zaG90c19zZWxlY3QlM0ROb25lJTJDJTBBJTIwJTIwJTIwJTIwbWV0cmljJTNEJTVCJTVEJTJDJTIwJTIwJTIzJTIwc2VsZWN0JTIweW91ciUyMG1ldHJpYyUyMGluJTIwTWV0cmljcyUwQSk=",highlighted:`<span class="hljs-comment"># This is how you create a simple task (like hellaswag) which has one single subset</span>
<span class="hljs-comment"># attached to it, and one evaluation possible.</span>
task = LightevalTaskConfig(
name=<span class="hljs-string">&quot;myothertask&quot;</span>,
prompt_function=prompt_fn, <span class="hljs-comment"># must be defined in the file or imported from src/lighteval/tasks/tasks_prompt_formatting.py</span>
suite=[<span class="hljs-string">&quot;community&quot;</span>],
hf_repo=<span class="hljs-string">&quot;&quot;</span>,
hf_subset=<span class="hljs-string">&quot;default&quot;</span>,
hf_avail_splits=[],
evaluation_splits=[],
few_shots_split=<span class="hljs-literal">None</span>,
few_shots_select=<span class="hljs-literal">None</span>,
metric=[], <span class="hljs-comment"># select your metric in Metrics</span>
)`,wrap:!1}}),Z=new X({props:{code:"U0FNUExFX1NVQlNFVFMlMjAlM0QlMjAlNUIlNUQlMjAlMjAlMjMlMjBsaXN0JTIwb2YlMjBhbGwlMjB0aGUlMjBzdWJzZXRzJTIwdG8lMjB1c2UlMjBmb3IlMjB0aGlzJTIwZXZhbCUwQSUwQSUwQWNsYXNzJTIwQ3VzdG9tU3Vic2V0VGFzayhMaWdodGV2YWxUYXNrQ29uZmlnKSUzQSUwQSUyMCUyMCUyMCUyMGRlZiUyMF9faW5pdF9fKCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBuYW1lJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaGZfc3Vic2V0JTJDJTBBJTIwJTIwJTIwJTIwKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN1cGVyKCkuX19pbml0X18oJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbmFtZSUzRG5hbWUlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBoZl9zdWJzZXQlM0RoZl9zdWJzZXQlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwcm9tcHRfZnVuY3Rpb24lM0Rwcm9tcHRfZm4lMkMlMjAlMjAlMjMlMjBtdXN0JTIwYmUlMjBkZWZpbmVkJTIwaW4lMjB0aGUlMjBmaWxlJTIwb3IlMjBpbXBvcnRlZCUyMGZyb20lMjBzcmMlMkZsaWdodGV2YWwlMkZ0YXNrcyUyRnRhc2tzX3Byb21wdF9mb3JtYXR0aW5nLnB5JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaGZfcmVwbyUzRCUyMiUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG1ldHJpYyUzRCU1QmN1c3RvbV9tZXRyaWMlNUQlMkMlMjAlMjAlMjMlMjBzZWxlY3QlMjB5b3VyJTIwbWV0cmljJTIwaW4lMjBNZXRyaWNzJTIwb3IlMjB1c2UlMjB5b3VyJTIwY3VzdG9tX21ldHJpYyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGhmX2F2YWlsX3NwbGl0cyUzRCU1QiU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGV2YWx1YXRpb25fc3BsaXRzJTNEJTVCJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmV3X3Nob3RzX3NwbGl0JTNETm9uZSUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGZld19zaG90c19zZWxlY3QlM0ROb25lJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VpdGUlM0QlNUIlMjJjb21tdW5pdHklMjIlNUQlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBnZW5lcmF0aW9uX3NpemUlM0QtMSUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0b3Bfc2VxdWVuY2UlM0ROb25lJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKSUwQVNVQlNFVF9UQVNLUyUyMCUzRCUyMCU1QkN1c3RvbVN1YnNldFRhc2sobmFtZSUzRGYlMjJteXRhc2slM0ElN0JzdWJzZXQlN0QlMjIlMkMlMjBoZl9zdWJzZXQlM0RzdWJzZXQpJTIwZm9yJTIwc3Vic2V0JTIwaW4lMjBTQU1QTEVfU1VCU0VUUyU1RA==",highlighted:`SAMPLE_SUBSETS = [] <span class="hljs-comment"># list of all the subsets to use for this eval</span>
<span class="hljs-keyword">class</span> <span class="hljs-title class_">CustomSubsetTask</span>(<span class="hljs-title class_ inherited__">LightevalTaskConfig</span>):
<span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">
self,
name,
hf_subset,
</span>):
<span class="hljs-built_in">super</span>().__init__(
name=name,
hf_subset=hf_subset,
prompt_function=prompt_fn, <span class="hljs-comment"># must be defined in the file or imported from src/lighteval/tasks/tasks_prompt_formatting.py</span>
hf_repo=<span class="hljs-string">&quot;&quot;</span>,
metric=[custom_metric], <span class="hljs-comment"># select your metric in Metrics or use your custom_metric</span>
hf_avail_splits=[],
evaluation_splits=[],
few_shots_split=<span class="hljs-literal">None</span>,
few_shots_select=<span class="hljs-literal">None</span>,
suite=[<span class="hljs-string">&quot;community&quot;</span>],
generation_size=-<span class="hljs-number">1</span>,
stop_sequence=<span class="hljs-literal">None</span>,
)
SUBSET_TASKS = [CustomSubsetTask(name=<span class="hljs-string">f&quot;mytask:<span class="hljs-subst">{subset}</span>&quot;</span>, hf_subset=subset) <span class="hljs-keyword">for</span> subset <span class="hljs-keyword">in</span> SAMPLE_SUBSETS]`,wrap:!1}}),V=new X({props:{code:"JTIzJTIwU1RPUkUlMjBZT1VSJTIwRVZBTFMlMEElMEElMjMlMjB0YXNrcyUyMHdpdGglMjBzdWJzZXQlM0ElMEFUQVNLU19UQUJMRSUyMCUzRCUyMFNVQlNFVF9UQVNLUyUwQSUwQSUyMyUyMHRhc2tzJTIwd2l0aG91dCUyMHN1YnNldCUzQSUwQSUyMyUyMFRBU0tTX1RBQkxFJTIwJTNEJTIwJTVCdGFzayU1RA==",highlighted:`<span class="hljs-comment"># STORE YOUR EVALS</span>
<span class="hljs-comment"># tasks with subset:</span>
TASKS_TABLE = SUBSET_TASKS
<span class="hljs-comment"># tasks without subset:</span>
<span class="hljs-comment"># TASKS_TABLE = [task]</span>`,wrap:!1}}),W=new X({props:{code:"bGlnaHRldmFsJTIwYWNjZWxlcmF0ZSUyMCU1QyUwQSUyMCUyMCUyMCUyMCUyMm1vZGVsX25hbWUlM0RIdWdnaW5nRmFjZUg0JTJGemVwaHlyLTdiLWJldGElMjIlMjAlNUMlMEElMjAlMjAlMjAlMjAlMjJjb21tdW5pdHklN0MlN0JjdXN0b21fdGFzayU3RCU3QyU3QmZld3Nob3RzJTdEJTdDJTdCdHJ1bmNhdGVfZmV3X3Nob3QlN0QlMjIlMjAlNUMlMEElMjAlMjAlMjAlMjAtLWN1c3RvbS10YXNrcyUyMCU3QnBhdGhfdG9feW91cl9jdXN0b21fdGFza19maWxlJTdE",highlighted:`lighteval accelerate \\
<span class="hljs-string">&quot;model_name=HuggingFaceH4/zephyr-7b-beta&quot;</span> \\
<span class="hljs-string">&quot;community|{custom_task}|{fewshots}|{truncate_few_shot}&quot;</span> \\
--custom-tasks {path_to_your_custom_task_file}`,wrap:!1}}),Q=new We({props:{source:"https://github.com/huggingface/lighteval/blob/main/docs/source/adding-a-custom-task.mdx"}}),{c(){a=M("meta"),w=n(),i=M("p"),T=n(),p(f.$$.fragment),Y=n(),j=M("p"),j.textContent=re,H=n(),I=M("ul"),I.innerHTML=Ue,q=n(),C=M("p"),C.textContent=we,F=n(),p(J.$$.fragment),L=n(),p(b.$$.fragment),P=n(),p(h.$$.fragment),D=n(),_=M("p"),_.innerHTML=Te,K=n(),B=M("p"),B.textContent=Je,O=n(),p(k.$$.fragment),ee=n(),v=M("p"),v.innerHTML=he,te=n(),p(g.$$.fragment),le=n(),A=M("p"),A.innerHTML=fe,se=n(),p(G.$$.fragment),ae=n(),N=M("p"),N.innerHTML=je,ne=n(),p(Z.$$.fragment),oe=n(),$=M("p"),$.textContent=Ie,ie=n(),R=M("ul"),R.innerHTML=Ce,Me=n(),S=M("p"),S.innerHTML=be,ce=n(),p(V.$$.fragment),me=n(),E=M("p"),E.textContent=_e,pe=n(),p(W.$$.fragment),ye=n(),p(Q.$$.fragment),ue=n(),x=M("p"),this.h()},l(e){const t=Ve("svelte-u9bgzb",document.head);a=c(t,"META",{name:!0,content:!0}),t.forEach(l),w=o(e),i=c(e,"P",{}),ve(i).forEach(l),T=o(e),y(f.$$.fragment,e),Y=o(e),j=c(e,"P",{"data-svelte-h":!0}),m(j)!=="svelte-15bwdkb"&&(j.textContent=re),H=o(e),I=c(e,"UL",{"data-svelte-h":!0}),m(I)!=="svelte-18vxpvw"&&(I.innerHTML=Ue),q=o(e),C=c(e,"P",{"data-svelte-h":!0}),m(C)!=="svelte-c3h151"&&(C.textContent=we),F=o(e),y(J.$$.fragment,e),L=o(e),y(b.$$.fragment,e),P=o(e),y(h.$$.fragment,e),D=o(e),_=c(e,"P",{"data-svelte-h":!0}),m(_)!=="svelte-4w3uiu"&&(_.innerHTML=Te),K=o(e),B=c(e,"P",{"data-svelte-h":!0}),m(B)!=="svelte-dnqoqp"&&(B.textContent=Je),O=o(e),y(k.$$.fragment,e),ee=o(e),v=c(e,"P",{"data-svelte-h":!0}),m(v)!=="svelte-16x99kz"&&(v.innerHTML=he),te=o(e),y(g.$$.fragment,e),le=o(e),A=c(e,"P",{"data-svelte-h":!0}),m(A)!=="svelte-1hxhvag"&&(A.innerHTML=fe),se=o(e),y(G.$$.fragment,e),ae=o(e),N=c(e,"P",{"data-svelte-h":!0}),m(N)!=="svelte-1r4bpbw"&&(N.innerHTML=je),ne=o(e),y(Z.$$.fragment,e),oe=o(e),$=c(e,"P",{"data-svelte-h":!0}),m($)!=="svelte-th00fz"&&($.textContent=Ie),ie=o(e),R=c(e,"UL",{"data-svelte-h":!0}),m(R)!=="svelte-1i36g3q"&&(R.innerHTML=Ce),Me=o(e),S=c(e,"P",{"data-svelte-h":!0}),m(S)!=="svelte-7umcxy"&&(S.innerHTML=be),ce=o(e),y(V.$$.fragment,e),me=o(e),E=c(e,"P",{"data-svelte-h":!0}),m(E)!=="svelte-41yve7"&&(E.textContent=_e),pe=o(e),y(W.$$.fragment,e),ye=o(e),y(Q.$$.fragment,e),ue=o(e),x=c(e,"P",{}),ve(x).forEach(l),this.h()},h(){ge(a,"name","hf:doc:metadata"),ge(a,"content",xe)},m(e,t){Ee(document.head,a),s(e,w,t),s(e,i,t),s(e,T,t),u(f,e,t),s(e,Y,t),s(e,j,t),s(e,H,t),s(e,I,t),s(e,q,t),s(e,C,t),s(e,F,t),u(J,e,t),s(e,L,t),u(b,e,t),s(e,P,t),u(h,e,t),s(e,D,t),s(e,_,t),s(e,K,t),s(e,B,t),s(e,O,t),u(k,e,t),s(e,ee,t),s(e,v,t),s(e,te,t),u(g,e,t),s(e,le,t),s(e,A,t),s(e,se,t),u(G,e,t),s(e,ae,t),s(e,N,t),s(e,ne,t),u(Z,e,t),s(e,oe,t),s(e,$,t),s(e,ie,t),s(e,R,t),s(e,Me,t),s(e,S,t),s(e,ce,t),u(V,e,t),s(e,me,t),s(e,E,t),s(e,pe,t),u(W,e,t),s(e,ye,t),u(Q,e,t),s(e,ue,t),s(e,x,t),de=!0},p(e,[t]){const Be={};t&2&&(Be.$$scope={dirty:t,ctx:e}),J.$set(Be);const ke={};t&2&&(ke.$$scope={dirty:t,ctx:e}),h.$set(ke)},i(e){de||(d(f.$$.fragment,e),d(J.$$.fragment,e),d(b.$$.fragment,e),d(h.$$.fragment,e),d(k.$$.fragment,e),d(g.$$.fragment,e),d(G.$$.fragment,e),d(Z.$$.fragment,e),d(V.$$.fragment,e),d(W.$$.fragment,e),d(Q.$$.fragment,e),de=!0)},o(e){r(f.$$.fragment,e),r(J.$$.fragment,e),r(b.$$.fragment,e),r(h.$$.fragment,e),r(k.$$.fragment,e),r(g.$$.fragment,e),r(G.$$.fragment,e),r(Z.$$.fragment,e),r(V.$$.fragment,e),r(W.$$.fragment,e),r(Q.$$.fragment,e),de=!1},d(e){e&&(l(w),l(i),l(T),l(Y),l(j),l(H),l(I),l(q),l(C),l(F),l(L),l(P),l(D),l(_),l(K),l(B),l(O),l(ee),l(v),l(te),l(le),l(A),l(se),l(ae),l(N),l(ne),l(oe),l($),l(ie),l(R),l(Me),l(S),l(ce),l(me),l(E),l(pe),l(ye),l(ue),l(x)),l(a),U(f,e),U(J,e),U(b,e),U(h,e),U(k,e),U(g,e),U(G,e),U(Z,e),U(V,e),U(W,e),U(Q,e)}}}const xe='{"title":"Adding a Custom Task","local":"adding-a-custom-task","sections":[{"title":"Step by step creation of a custom task","local":"step-by-step-creation-of-a-custom-task","sections":[],"depth":2}],"depth":1}';function Ye(z){return $e(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class De extends Re{constructor(a){super(),Se(this,a,Ye,Xe,Ze,{})}}export{De as component};

Xet Storage Details

Size:
21 kB
·
Xet hash:
8989050d8d1d5b8eab079c4c579b19c86fb830d4b7fd2830e47fc2817fe7b14a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.