Source code for compass.utilities.enums

"""COMPASS enum definitions"""

from enum import StrEnum, auto


[docs] class LLMUsageCategory(StrEnum): """Enumerate semantic buckets for tracking LLM usage The values in this enumeration provide consistent labels when recording usage metrics, billing data, and telemetry associated with LLM calls originating from COMPASS pipelines. Each category maps to a specific functional concern (e.g., ordinance value extraction, jurisdiction validation) allowing downstream analytics to aggregate usage meaningfully. Notes ----- Values intentionally mirror the task names used when instantiating :class:`~compass.llm.calling.BaseLLMCaller` implementations so that the enumerations can be converted to strings without additional mapping logic. """ CHAT = auto() """Usage related to general LLM chat calls""" DATE_EXTRACTION = auto() """Usage related to date extraction tasks""" DECISION_TREE = auto() """Usage related to decision tree calls""" DEFAULT = auto() """Usage related to default/fallback calls""" DOCUMENT_CONTENT_VALIDATION = auto() """Usage related to document content validation tasks""" DOCUMENT_ORDINANCE_SUMMARY = auto() """Usage related to ordinance summary tasks""" DOCUMENT_PERMITTED_USE_CONTENT_VALIDATION = auto() """Usage related to permitted use content validation tasks""" DOCUMENT_PERMITTED_USE_DISTRICTS_SUMMARY = auto() """Usage related to permitted use districts summary tasks""" DOCUMENT_JURISDICTION_VALIDATION = auto() """Usage related to document jurisdiction validation tasks""" URL_JURISDICTION_VALIDATION = auto() """Usage related to URL jurisdiction validation tasks""" JURISDICTION_MAIN_WEBSITE_VALIDATION = auto() """Usage related to jurisdiction main website validation tasks""" ORDINANCE_VALUE_EXTRACTION = auto() """Usage related to ordinance value extraction tasks""" PERMITTED_USE_VALUE_EXTRACTION = auto() """Usage related to permitted use value extraction tasks"""
[docs] class LLMTasks(StrEnum): """Human-friendly task identifiers for LLM workflows This enumeration exposes the set of user-facing task names that map onto :class:`LLMUsageCategory` entries. Pipeline components use these values for configuration (e.g., selecting prompt templates) while the paired usage categories ensure consistent metrics tracking. Notes ----- When a task is defined as a direct alias of an :class:`LLMUsageCategory`, it inherits the corresponding usage label so downstream monitoring does not require additional translation. """ DATE_EXTRACTION = LLMUsageCategory.DATE_EXTRACTION """Date extraction task""" DEFAULT = LLMUsageCategory.DEFAULT """Default fallback option for all tasks""" DOCUMENT_CONTENT_VALIDATION = LLMUsageCategory.DOCUMENT_CONTENT_VALIDATION """Document content validation task This represents a task like "does the document contain ordinance values" or "does the document contain permitted use specifications". """ DOCUMENT_JURISDICTION_VALIDATION = ( LLMUsageCategory.DOCUMENT_JURISDICTION_VALIDATION ) """Document belongs to correct jurisdiction validation task This represents all the tasks associated with validation that the document pertains to a particular jurisdiction. """ JURISDICTION_MAIN_WEBSITE_VALIDATION = ( LLMUsageCategory.JURISDICTION_MAIN_WEBSITE_VALIDATION ) """Webpage is main page for jurisdiction validation task This represents all the tasks associated with validation that the document pertains to a particular jurisdiction. """ ORDINANCE_TEXT_EXTRACTION = auto() """Ordinance text extraction task This task represents the extraction/summarization of text containing ordinance values. """ PERMITTED_USE_TEXT_EXTRACTION = auto() """Permitted use text extraction task This task represents the extraction/summarization of text containing permitted use descriptions and allowances. """ ORDINANCE_VALUE_EXTRACTION = LLMUsageCategory.ORDINANCE_VALUE_EXTRACTION """Ordinance structured value extraction task This task represents the extraction of structured ordinance values. """ PERMITTED_USE_VALUE_EXTRACTION = ( LLMUsageCategory.PERMITTED_USE_VALUE_EXTRACTION ) """Permitted use structured value extraction task This task represents the extraction of structured permitted use values. """