Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 21 additions & 3 deletions langfuse/api/unstable/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
EvaluationRuleNullFilterOperator,
EvaluationRuleNumberFilterOperator,
EvaluationRuleOptionsFilterOperator,
EvaluationRuleReadMapping,
EvaluationRuleStatus,
EvaluationRuleStringFilterOperator,
EvaluationRuleTarget,
Expand All @@ -63,7 +64,6 @@
EvaluatorOutputDefinition_Categorical,
EvaluatorOutputDefinition_Numeric,
EvaluatorOutputFieldDefinition,
EvaluatorScope,
EvaluatorType,
NullEvaluationRuleFilter,
NumberEvaluationRuleFilter,
Expand All @@ -76,6 +76,7 @@
PublicEvaluatorOutputDefinition_Categorical,
PublicEvaluatorOutputDefinition_Numeric,
PublicNumericEvaluatorOutputDefinition,
PublicNumericEvaluatorOutputScoreDefinition,
StringEvaluationRuleFilter,
StringObjectEvaluationRuleFilter,
StringOptionsEvaluationRuleFilter,
Expand Down Expand Up @@ -121,17 +122,22 @@
from .evaluation_rules import (
CodeEvaluationRuleEvaluatorReference,
CreateCodeEvaluationRuleRequest,
CreateEvaluationRuleEvaluatorAssignment,
CreateEvaluationRuleEvaluatorReference,
CreateEvaluationRuleRequest,
CreateEvaluationRuleWithEvaluatorsRequest,
CreateLlmAsJudgeEvaluationRuleRequest,
DeleteEvaluationRuleResponse,
EvaluationRule,
EvaluationRuleBase,
EvaluationRuleEvaluator,
EvaluationRuleEvaluatorAssignment,
EvaluationRuleEvaluatorReference,
EvaluationRuleTimeScope,
EvaluationRules,
LegacyEvaluationObject,
LegacyEvaluationRule,
LegacyEvaluationRuleEvaluatorAssignment,
LegacyEvaluationRuleMapping,
LegacyEvaluationRuleTarget,
LlmAsJudgeEvaluationRuleEvaluatorReference,
Expand Down Expand Up @@ -171,7 +177,10 @@
"CreateDashboardPlacementRequest_Widget": ".dashboards",
"CreateDashboardRequest": ".dashboards",
"CreateDashboardWidgetRequest": ".dashboard_widgets",
"CreateEvaluationRuleEvaluatorAssignment": ".evaluation_rules",
"CreateEvaluationRuleEvaluatorReference": ".evaluation_rules",
"CreateEvaluationRuleRequest": ".evaluation_rules",
"CreateEvaluationRuleWithEvaluatorsRequest": ".evaluation_rules",
"CreateEvaluatorRequest": ".evaluators",
"CreateEvaluatorRequest_Code": ".evaluators",
"CreateEvaluatorRequest_LlmAsJudge": ".evaluators",
Expand Down Expand Up @@ -209,6 +218,7 @@
"EvaluationRuleBase": ".evaluation_rules",
"EvaluationRuleBooleanFilterOperator": ".commons",
"EvaluationRuleEvaluator": ".evaluation_rules",
"EvaluationRuleEvaluatorAssignment": ".evaluation_rules",
"EvaluationRuleEvaluatorReference": ".evaluation_rules",
"EvaluationRuleFilter": ".commons",
"EvaluationRuleFilter_ArrayOptions": ".commons",
Expand All @@ -226,6 +236,7 @@
"EvaluationRuleNullFilterOperator": ".commons",
"EvaluationRuleNumberFilterOperator": ".commons",
"EvaluationRuleOptionsFilterOperator": ".commons",
"EvaluationRuleReadMapping": ".commons",
"EvaluationRuleStatus": ".commons",
"EvaluationRuleStringFilterOperator": ".commons",
"EvaluationRuleTarget": ".commons",
Expand All @@ -240,14 +251,14 @@
"EvaluatorOutputDefinition_Categorical": ".commons",
"EvaluatorOutputDefinition_Numeric": ".commons",
"EvaluatorOutputFieldDefinition": ".commons",
"EvaluatorScope": ".commons",
"EvaluatorType": ".commons",
"Evaluator_Code": ".evaluators",
"Evaluator_LlmAsJudge": ".evaluators",
"Evaluators": ".evaluators",
"InternalServerError": ".errors",
"LegacyEvaluationObject": ".evaluation_rules",
"LegacyEvaluationRule": ".evaluation_rules",
"LegacyEvaluationRuleEvaluatorAssignment": ".evaluation_rules",
"LegacyEvaluationRuleMapping": ".evaluation_rules",
"LegacyEvaluationRuleTarget": ".evaluation_rules",
"LlmAsJudgeEvaluationRuleEvaluatorReference": ".evaluation_rules",
Expand All @@ -271,6 +282,7 @@
"PublicEvaluatorOutputDefinition_Categorical": ".commons",
"PublicEvaluatorOutputDefinition_Numeric": ".commons",
"PublicNumericEvaluatorOutputDefinition": ".commons",
"PublicNumericEvaluatorOutputScoreDefinition": ".commons",
"ReadableEvaluationRule": ".evaluation_rules",
"StringEvaluationRuleFilter": ".commons",
"StringObjectEvaluationRuleFilter": ".commons",
Expand Down Expand Up @@ -336,7 +348,10 @@ def __dir__():
"CreateDashboardPlacementRequest_Widget",
"CreateDashboardRequest",
"CreateDashboardWidgetRequest",
"CreateEvaluationRuleEvaluatorAssignment",
"CreateEvaluationRuleEvaluatorReference",
"CreateEvaluationRuleRequest",
"CreateEvaluationRuleWithEvaluatorsRequest",
"CreateEvaluatorRequest",
"CreateEvaluatorRequest_Code",
"CreateEvaluatorRequest_LlmAsJudge",
Expand Down Expand Up @@ -374,6 +389,7 @@ def __dir__():
"EvaluationRuleBase",
"EvaluationRuleBooleanFilterOperator",
"EvaluationRuleEvaluator",
"EvaluationRuleEvaluatorAssignment",
"EvaluationRuleEvaluatorReference",
"EvaluationRuleFilter",
"EvaluationRuleFilter_ArrayOptions",
Expand All @@ -391,6 +407,7 @@ def __dir__():
"EvaluationRuleNullFilterOperator",
"EvaluationRuleNumberFilterOperator",
"EvaluationRuleOptionsFilterOperator",
"EvaluationRuleReadMapping",
"EvaluationRuleStatus",
"EvaluationRuleStringFilterOperator",
"EvaluationRuleTarget",
Expand All @@ -405,14 +422,14 @@ def __dir__():
"EvaluatorOutputDefinition_Categorical",
"EvaluatorOutputDefinition_Numeric",
"EvaluatorOutputFieldDefinition",
"EvaluatorScope",
"EvaluatorType",
"Evaluator_Code",
"Evaluator_LlmAsJudge",
"Evaluators",
"InternalServerError",
"LegacyEvaluationObject",
"LegacyEvaluationRule",
"LegacyEvaluationRuleEvaluatorAssignment",
"LegacyEvaluationRuleMapping",
"LegacyEvaluationRuleTarget",
"LlmAsJudgeEvaluationRuleEvaluatorReference",
Expand All @@ -436,6 +453,7 @@ def __dir__():
"PublicEvaluatorOutputDefinition_Categorical",
"PublicEvaluatorOutputDefinition_Numeric",
"PublicNumericEvaluatorOutputDefinition",
"PublicNumericEvaluatorOutputScoreDefinition",
"ReadableEvaluationRule",
"StringEvaluationRuleFilter",
"StringObjectEvaluationRuleFilter",
Expand Down
9 changes: 6 additions & 3 deletions langfuse/api/unstable/commons/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
EvaluationRuleNullFilterOperator,
EvaluationRuleNumberFilterOperator,
EvaluationRuleOptionsFilterOperator,
EvaluationRuleReadMapping,
EvaluationRuleStatus,
EvaluationRuleStringFilterOperator,
EvaluationRuleTarget,
Expand All @@ -40,7 +41,6 @@
EvaluatorOutputDefinition_Categorical,
EvaluatorOutputDefinition_Numeric,
EvaluatorOutputFieldDefinition,
EvaluatorScope,
EvaluatorType,
NullEvaluationRuleFilter,
NumberEvaluationRuleFilter,
Expand All @@ -53,6 +53,7 @@
PublicEvaluatorOutputDefinition_Categorical,
PublicEvaluatorOutputDefinition_Numeric,
PublicNumericEvaluatorOutputDefinition,
PublicNumericEvaluatorOutputScoreDefinition,
StringEvaluationRuleFilter,
StringObjectEvaluationRuleFilter,
StringOptionsEvaluationRuleFilter,
Expand Down Expand Up @@ -81,6 +82,7 @@
"EvaluationRuleNullFilterOperator": ".types",
"EvaluationRuleNumberFilterOperator": ".types",
"EvaluationRuleOptionsFilterOperator": ".types",
"EvaluationRuleReadMapping": ".types",
"EvaluationRuleStatus": ".types",
"EvaluationRuleStringFilterOperator": ".types",
"EvaluationRuleTarget": ".types",
Expand All @@ -91,7 +93,6 @@
"EvaluatorOutputDefinition_Categorical": ".types",
"EvaluatorOutputDefinition_Numeric": ".types",
"EvaluatorOutputFieldDefinition": ".types",
"EvaluatorScope": ".types",
"EvaluatorType": ".types",
"NullEvaluationRuleFilter": ".types",
"NumberEvaluationRuleFilter": ".types",
Expand All @@ -104,6 +105,7 @@
"PublicEvaluatorOutputDefinition_Categorical": ".types",
"PublicEvaluatorOutputDefinition_Numeric": ".types",
"PublicNumericEvaluatorOutputDefinition": ".types",
"PublicNumericEvaluatorOutputScoreDefinition": ".types",
"StringEvaluationRuleFilter": ".types",
"StringObjectEvaluationRuleFilter": ".types",
"StringOptionsEvaluationRuleFilter": ".types",
Expand Down Expand Up @@ -161,6 +163,7 @@ def __dir__():
"EvaluationRuleNullFilterOperator",
"EvaluationRuleNumberFilterOperator",
"EvaluationRuleOptionsFilterOperator",
"EvaluationRuleReadMapping",
"EvaluationRuleStatus",
"EvaluationRuleStringFilterOperator",
"EvaluationRuleTarget",
Expand All @@ -171,7 +174,6 @@ def __dir__():
"EvaluatorOutputDefinition_Categorical",
"EvaluatorOutputDefinition_Numeric",
"EvaluatorOutputFieldDefinition",
"EvaluatorScope",
"EvaluatorType",
"NullEvaluationRuleFilter",
"NumberEvaluationRuleFilter",
Expand All @@ -184,6 +186,7 @@ def __dir__():
"PublicEvaluatorOutputDefinition_Categorical",
"PublicEvaluatorOutputDefinition_Numeric",
"PublicNumericEvaluatorOutputDefinition",
"PublicNumericEvaluatorOutputScoreDefinition",
"StringEvaluationRuleFilter",
"StringObjectEvaluationRuleFilter",
"StringOptionsEvaluationRuleFilter",
Expand Down
11 changes: 8 additions & 3 deletions langfuse/api/unstable/commons/types/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
from .evaluation_rule_options_filter_operator import (
EvaluationRuleOptionsFilterOperator,
)
from .evaluation_rule_read_mapping import EvaluationRuleReadMapping
from .evaluation_rule_status import EvaluationRuleStatus
from .evaluation_rule_string_filter_operator import (
EvaluationRuleStringFilterOperator,
Expand All @@ -55,7 +56,6 @@
EvaluatorOutputDefinition_Numeric,
)
from .evaluator_output_field_definition import EvaluatorOutputFieldDefinition
from .evaluator_scope import EvaluatorScope
from .evaluator_type import EvaluatorType
from .null_evaluation_rule_filter import NullEvaluationRuleFilter
from .number_evaluation_rule_filter import NumberEvaluationRuleFilter
Expand All @@ -78,6 +78,9 @@
from .public_numeric_evaluator_output_definition import (
PublicNumericEvaluatorOutputDefinition,
)
from .public_numeric_evaluator_output_score_definition import (
PublicNumericEvaluatorOutputScoreDefinition,
)
from .string_evaluation_rule_filter import StringEvaluationRuleFilter
from .string_object_evaluation_rule_filter import StringObjectEvaluationRuleFilter
from .string_options_evaluation_rule_filter import StringOptionsEvaluationRuleFilter
Expand Down Expand Up @@ -105,6 +108,7 @@
"EvaluationRuleNullFilterOperator": ".evaluation_rule_null_filter_operator",
"EvaluationRuleNumberFilterOperator": ".evaluation_rule_number_filter_operator",
"EvaluationRuleOptionsFilterOperator": ".evaluation_rule_options_filter_operator",
"EvaluationRuleReadMapping": ".evaluation_rule_read_mapping",
"EvaluationRuleStatus": ".evaluation_rule_status",
"EvaluationRuleStringFilterOperator": ".evaluation_rule_string_filter_operator",
"EvaluationRuleTarget": ".evaluation_rule_target",
Expand All @@ -115,7 +119,6 @@
"EvaluatorOutputDefinition_Categorical": ".evaluator_output_definition",
"EvaluatorOutputDefinition_Numeric": ".evaluator_output_definition",
"EvaluatorOutputFieldDefinition": ".evaluator_output_field_definition",
"EvaluatorScope": ".evaluator_scope",
"EvaluatorType": ".evaluator_type",
"NullEvaluationRuleFilter": ".null_evaluation_rule_filter",
"NumberEvaluationRuleFilter": ".number_evaluation_rule_filter",
Expand All @@ -128,6 +131,7 @@
"PublicEvaluatorOutputDefinition_Categorical": ".public_evaluator_output_definition",
"PublicEvaluatorOutputDefinition_Numeric": ".public_evaluator_output_definition",
"PublicNumericEvaluatorOutputDefinition": ".public_numeric_evaluator_output_definition",
"PublicNumericEvaluatorOutputScoreDefinition": ".public_numeric_evaluator_output_score_definition",
"StringEvaluationRuleFilter": ".string_evaluation_rule_filter",
"StringObjectEvaluationRuleFilter": ".string_object_evaluation_rule_filter",
"StringOptionsEvaluationRuleFilter": ".string_options_evaluation_rule_filter",
Expand Down Expand Up @@ -185,6 +189,7 @@ def __dir__():
"EvaluationRuleNullFilterOperator",
"EvaluationRuleNumberFilterOperator",
"EvaluationRuleOptionsFilterOperator",
"EvaluationRuleReadMapping",
"EvaluationRuleStatus",
"EvaluationRuleStringFilterOperator",
"EvaluationRuleTarget",
Expand All @@ -195,7 +200,6 @@ def __dir__():
"EvaluatorOutputDefinition_Categorical",
"EvaluatorOutputDefinition_Numeric",
"EvaluatorOutputFieldDefinition",
"EvaluatorScope",
"EvaluatorType",
"NullEvaluationRuleFilter",
"NumberEvaluationRuleFilter",
Expand All @@ -208,6 +212,7 @@ def __dir__():
"PublicEvaluatorOutputDefinition_Categorical",
"PublicEvaluatorOutputDefinition_Numeric",
"PublicNumericEvaluatorOutputDefinition",
"PublicNumericEvaluatorOutputScoreDefinition",
"StringEvaluationRuleFilter",
"StringObjectEvaluationRuleFilter",
"StringOptionsEvaluationRuleFilter",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
import typing_extensions
from ....core.pydantic_utilities import UniversalBaseModel
from ....core.serialization import FieldMetadata
from .evaluation_rule_mapping_source import EvaluationRuleMappingSource


class EvaluationRuleReadMapping(UniversalBaseModel):
"""
Maps an evaluator variable to target data, as returned by read endpoints.

Reads are more permissive than writes in two ways, so that data configured before a
migration stays readable and repairable:
- `source` is `null` when a mapping was never fully configured. Set a concrete `source` to fix it.
- every `source` value is allowed regardless of the rule `target`, because an evaluator's
default mapping is stored independently of the rules that use it.

Requests always require a concrete `source` that is valid for the selected `target`.

Examples
--------
from langfuse.unstable.commons import (
EvaluationRuleMappingSource,
EvaluationRuleReadMapping,
)

EvaluationRuleReadMapping(
variable="input",
source=EvaluationRuleMappingSource.INPUT,
)
"""

variable: str = pydantic.Field()
"""
Prompt variable name without braces.
"""

source: typing.Optional[EvaluationRuleMappingSource] = pydantic.Field(default=None)
"""
Source field populating the variable, or `null` when the mapping is incomplete.
"""

json_path: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="jsonPath")
] = pydantic.Field(default=None)
"""
Optional JSONPath selector applied to the selected source.
"""

model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
extra="allow", frozen=True
)
Loading