Files
wehub-resource-sync 461bf6fd40
CI / lint (3.11) (push) Has been cancelled
CI / lint (3.12) (push) Has been cancelled
CI / lint (3.13) (push) Has been cancelled
CI / shellcheck (push) Has been cancelled
CI / shfmt (push) Has been cancelled
CI / setup (3.11) (push) Has been cancelled
CI / setup (3.12) (push) Has been cancelled
CI / setup (3.13) (push) Has been cancelled
CI / check-licenses (3.12) (push) Has been cancelled
CI / test_unit (3.11) (push) Has been cancelled
CI / test_unit (3.12) (push) Has been cancelled
CI / test_unit (3.13) (push) Has been cancelled
CI / test_unit_no_extras (3.11) (push) Has been cancelled
CI / test_unit_no_extras (3.12) (push) Has been cancelled
CI / test_json_to_html (3.12) (push) Has been cancelled
CI / test_unit_no_extras (3.13) (push) Has been cancelled
CI / test_unit_dependency_extras (csv, 3.12, --extra csv) (push) Has been cancelled
CI / test_unit_dependency_extras (xlsx, 3.11, --extra xlsx) (push) Has been cancelled
CI / test_unit_dependency_extras (xlsx, 3.12, --extra xlsx) (push) Has been cancelled
CI / test_unit_dependency_extras (csv, 3.11, --extra csv) (push) Has been cancelled
CI / test_unit_dependency_extras (csv, 3.13, --extra csv) (push) Has been cancelled
CI / test_unit_dependency_extras (docx, 3.11, --extra docx) (push) Has been cancelled
CI / test_unit_dependency_extras (docx, 3.12, --extra docx) (push) Has been cancelled
CI / test_unit_dependency_extras (docx, 3.13, --extra docx) (push) Has been cancelled
CI / test_unit_dependency_extras (markdown, 3.11, --extra md) (push) Has been cancelled
CI / test_unit_dependency_extras (markdown, 3.12, --extra md) (push) Has been cancelled
CI / test_unit_dependency_extras (markdown, 3.13, --extra md) (push) Has been cancelled
CI / test_unit_dependency_extras (odt, 3.11, --extra odt) (push) Has been cancelled
CI / test_unit_dependency_extras (odt, 3.12, --extra odt) (push) Has been cancelled
CI / test_unit_dependency_extras (odt, 3.13, --extra odt) (push) Has been cancelled
CI / test_unit_dependency_extras (pdf-image, 3.11, --extra pdf --extra image --extra paddleocr) (push) Has been cancelled
CI / test_unit_dependency_extras (pdf-image, 3.12, --extra pdf --extra image --extra paddleocr) (push) Has been cancelled
CI / test_unit_dependency_extras (pdf-image, 3.13, --extra pdf --extra image --extra paddleocr) (push) Has been cancelled
CI / test_unit_dependency_extras (pptx, 3.11, --extra pptx) (push) Has been cancelled
CI / test_unit_dependency_extras (pptx, 3.12, --extra pptx) (push) Has been cancelled
CI / test_unit_dependency_extras (pptx, 3.13, --extra pptx) (push) Has been cancelled
CI / test_unit_dependency_extras (pypandoc, 3.11, --extra epub --extra org --extra rtf --extra rst) (push) Has been cancelled
CI / test_unit_dependency_extras (pypandoc, 3.12, --extra epub --extra org --extra rtf --extra rst) (push) Has been cancelled
CI / test_unit_dependency_extras (pypandoc, 3.13, --extra epub --extra org --extra rtf --extra rst) (push) Has been cancelled
Build And Push Docker Image / set-short-sha (push) Has been cancelled
Partition Benchmark / setup (push) Has been cancelled
Partition Benchmark / Measure and compare partition() runtime (push) Has been cancelled
CI / test_unit_dependency_extras (xlsx, 3.13, --extra xlsx) (push) Has been cancelled
CI / test_ingest_src (3.12) (push) Has been cancelled
CI / test_json_to_markdown (3.12) (push) Has been cancelled
CI / changelog (push) Has been cancelled
CI / test_dockerfile (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Build And Push Docker Image / build-images (linux/amd64, opensource-linux-8core) (push) Has been cancelled
Build And Push Docker Image / build-images (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Build And Push Docker Image / publish-images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:33:56 +08:00

61 lines
2.2 KiB
Python

from typing import List, Union
import argilla
from argilla.client.models import (
Text2TextRecord,
TextClassificationRecord,
TokenClassificationRecord,
)
from unstructured.documents.elements import Text
from unstructured.nlp.tokenize import word_tokenize
def stage_for_argilla(
elements: List[Text],
argilla_task: str,
**record_kwargs,
) -> Union[
argilla.DatasetForTextClassification,
argilla.DatasetForTokenClassification,
argilla.DatasetForText2Text,
]:
ARGILLA_TASKS = {
"text_classification": (TextClassificationRecord, argilla.DatasetForTextClassification),
"token_classification": (TokenClassificationRecord, argilla.DatasetForTokenClassification),
"text2text": (Text2TextRecord, argilla.DatasetForText2Text),
}
try:
argilla_record_class, argilla_dataset_class = ARGILLA_TASKS[argilla_task]
except KeyError as e:
raise ValueError(
f'Invalid value "{e.args[0]}" specified for argilla_task. '
"Must be one of: {', '.join(ARGILLA_TASKS.keys())}.",
)
for record_kwarg_key, record_kwarg_value in record_kwargs.items():
if not isinstance(record_kwarg_value, list) or len(record_kwarg_value) != len(elements):
raise ValueError(
f'Invalid value specified for "{record_kwarg_key}" keyword argument.'
" Must be of type list and same length as elements list.",
)
results: List[Union[TextClassificationRecord, TokenClassificationRecord, Text2TextRecord]] = []
for idx, element in enumerate(elements):
element_kwargs = {kwarg: record_kwargs[kwarg][idx] for kwarg in record_kwargs}
arguments = dict(**element_kwargs, text=element.text)
if isinstance(element.id, str):
arguments["id"] = element.id
# NOTE(robinson) - TokenClassificationRecord raises and error if tokens are not
# provided as part of the input for the record. Default to the spaCy word tokenizer
if argilla_task == "token_classification" and "tokens" not in arguments:
tokens = word_tokenize(arguments["text"])
arguments["tokens"] = tokens
results.append(argilla_record_class(**arguments))
return argilla_dataset_class(results)