Skip to content
Closed
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
12 changes: 3 additions & 9 deletions langfuse/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@
EvaluationRuleReadFilterBase,
EvaluationRuleReadFilterWithKey,
EvaluationRuleStringFilterOperator,
EvaluationRuleStringObjectFilterOperator,
EvaluatorOutputDefinition,
EvaluatorOutputDefinitionBase,
EvaluatorOutputDefinition_Boolean,
Expand Down Expand Up @@ -304,7 +305,6 @@
IngestionEvent_ObservationCreate,
IngestionEvent_ObservationUpdate,
IngestionEvent_ScoreCreate,
IngestionEvent_SdkLog,
IngestionEvent_SpanCreate,
IngestionEvent_SpanUpdate,
IngestionEvent_TraceCreate,
Expand All @@ -319,8 +319,6 @@
OptionalObservationBody,
ScoreBody,
ScoreEvent,
SdkLogBody,
SdkLogEvent,
TraceBody,
TraceEvent,
UpdateEventBody,
Expand Down Expand Up @@ -607,6 +605,7 @@
"EvaluationRuleReadFilterBase": ".evaluation_commons",
"EvaluationRuleReadFilterWithKey": ".evaluation_commons",
"EvaluationRuleStringFilterOperator": ".evaluation_commons",
"EvaluationRuleStringObjectFilterOperator": ".evaluation_commons",
"EvaluationRulesPage": ".evaluation_rules",
"EvaluationUnauthorizedError": ".evaluation_errors",
"Evaluator": ".evaluators",
Expand Down Expand Up @@ -669,7 +668,6 @@
"IngestionEvent_ObservationCreate": ".ingestion",
"IngestionEvent_ObservationUpdate": ".ingestion",
"IngestionEvent_ScoreCreate": ".ingestion",
"IngestionEvent_SdkLog": ".ingestion",
"IngestionEvent_SpanCreate": ".ingestion",
"IngestionEvent_SpanUpdate": ".ingestion",
"IngestionEvent_TraceCreate": ".ingestion",
Expand Down Expand Up @@ -820,8 +818,6 @@
"Score_Correction": ".commons",
"Score_Numeric": ".commons",
"Score_Text": ".commons",
"SdkLogBody": ".ingestion",
"SdkLogEvent": ".ingestion",
"ServiceProviderConfig": ".scim",
"ServiceUnavailableError": ".health",
"Session": ".commons",
Expand Down Expand Up @@ -1062,6 +1058,7 @@ def __dir__():
"EvaluationRuleReadFilterBase",
"EvaluationRuleReadFilterWithKey",
"EvaluationRuleStringFilterOperator",
"EvaluationRuleStringObjectFilterOperator",
"EvaluationRulesPage",
"EvaluationUnauthorizedError",
"Evaluator",
Expand Down Expand Up @@ -1124,7 +1121,6 @@ def __dir__():
"IngestionEvent_ObservationCreate",
"IngestionEvent_ObservationUpdate",
"IngestionEvent_ScoreCreate",
"IngestionEvent_SdkLog",
"IngestionEvent_SpanCreate",
"IngestionEvent_SpanUpdate",
"IngestionEvent_TraceCreate",
Expand Down Expand Up @@ -1275,8 +1271,6 @@ def __dir__():
"Score_Correction",
"Score_Numeric",
"Score_Text",
"SdkLogBody",
"SdkLogEvent",
"ServiceProviderConfig",
"ServiceUnavailableError",
"Session",
Expand Down
4 changes: 3 additions & 1 deletion langfuse/api/commons/types/base_score.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ class BaseScore(UniversalBaseModel):
Comment on the score
"""

metadata: typing.Any = pydantic.Field()
metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(
default=None
)
"""
Metadata associated with the score
"""
Expand Down
4 changes: 3 additions & 1 deletion langfuse/api/commons/types/base_score_v1.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ class BaseScoreV1(UniversalBaseModel):
Comment on the score
"""

metadata: typing.Any = pydantic.Field()
metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(
default=None
)
"""
Metadata associated with the score
"""
Expand Down
6 changes: 4 additions & 2 deletions langfuse/api/commons/types/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,16 @@ class Dataset(UniversalBaseModel):
"""

input_schema: typing_extensions.Annotated[
typing.Optional[typing.Any], FieldMetadata(alias="inputSchema")
typing.Optional[typing.Dict[str, typing.Any]],
FieldMetadata(alias="inputSchema"),
] = pydantic.Field(default=None)
"""
JSON Schema for validating dataset item inputs
"""

expected_output_schema: typing_extensions.Annotated[
typing.Optional[typing.Any], FieldMetadata(alias="expectedOutputSchema")
typing.Optional[typing.Dict[str, typing.Any]],
FieldMetadata(alias="expectedOutputSchema"),
] = pydantic.Field(default=None)
"""
JSON Schema for validating dataset item expected outputs
Expand Down
4 changes: 3 additions & 1 deletion langfuse/api/commons/types/observation.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,9 @@ class Observation(UniversalBaseModel):
The version of the observation
"""

metadata: typing.Any = pydantic.Field()
metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(
default=None
)
"""
Additional metadata of the observation
"""
Expand Down
4 changes: 3 additions & 1 deletion langfuse/api/commons/types/observation_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,9 @@ class ObservationV2(UniversalBaseModel):
The output data of the observation
"""

metadata: typing.Optional[typing.Any] = pydantic.Field(default=None)
metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(
default=None
)
"""
Additional metadata of the observation
"""
Expand Down
10 changes: 5 additions & 5 deletions langfuse/api/commons/types/score.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class Score_Numeric(Base):
typing.Optional[str], FieldMetadata(alias="authorUserId")
] = None
comment: typing.Optional[str] = None
metadata: typing.Any
metadata: typing.Optional[typing.Dict[str, typing.Any]] = None
config_id: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="configId")
] = None
Expand Down Expand Up @@ -100,7 +100,7 @@ class Score_Categorical(Base):
typing.Optional[str], FieldMetadata(alias="authorUserId")
] = None
comment: typing.Optional[str] = None
metadata: typing.Any
metadata: typing.Optional[typing.Dict[str, typing.Any]] = None
config_id: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="configId")
] = None
Expand Down Expand Up @@ -146,7 +146,7 @@ class Score_Boolean(Base):
typing.Optional[str], FieldMetadata(alias="authorUserId")
] = None
comment: typing.Optional[str] = None
metadata: typing.Any
metadata: typing.Optional[typing.Dict[str, typing.Any]] = None
config_id: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="configId")
] = None
Expand Down Expand Up @@ -192,7 +192,7 @@ class Score_Correction(Base):
typing.Optional[str], FieldMetadata(alias="authorUserId")
] = None
comment: typing.Optional[str] = None
metadata: typing.Any
metadata: typing.Optional[typing.Dict[str, typing.Any]] = None
config_id: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="configId")
] = None
Expand Down Expand Up @@ -237,7 +237,7 @@ class Score_Text(Base):
typing.Optional[str], FieldMetadata(alias="authorUserId")
] = None
comment: typing.Optional[str] = None
metadata: typing.Any
metadata: typing.Optional[typing.Dict[str, typing.Any]] = None
config_id: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="configId")
] = None
Expand Down
8 changes: 4 additions & 4 deletions langfuse/api/commons/types/score_v1.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class ScoreV1_Numeric(UniversalBaseModel):
typing.Optional[str], FieldMetadata(alias="authorUserId")
] = None
comment: typing.Optional[str] = None
metadata: typing.Any
metadata: typing.Optional[typing.Dict[str, typing.Any]] = None
config_id: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="configId")
] = None
Expand Down Expand Up @@ -73,7 +73,7 @@ class ScoreV1_Categorical(UniversalBaseModel):
typing.Optional[str], FieldMetadata(alias="authorUserId")
] = None
comment: typing.Optional[str] = None
metadata: typing.Any
metadata: typing.Optional[typing.Dict[str, typing.Any]] = None
config_id: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="configId")
] = None
Expand Down Expand Up @@ -111,7 +111,7 @@ class ScoreV1_Boolean(UniversalBaseModel):
typing.Optional[str], FieldMetadata(alias="authorUserId")
] = None
comment: typing.Optional[str] = None
metadata: typing.Any
metadata: typing.Optional[typing.Dict[str, typing.Any]] = None
config_id: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="configId")
] = None
Expand Down Expand Up @@ -148,7 +148,7 @@ class ScoreV1_Text(UniversalBaseModel):
typing.Optional[str], FieldMetadata(alias="authorUserId")
] = None
comment: typing.Optional[str] = None
metadata: typing.Any
metadata: typing.Optional[typing.Dict[str, typing.Any]] = None
config_id: typing_extensions.Annotated[
typing.Optional[str], FieldMetadata(alias="configId")
] = None
Expand Down
6 changes: 4 additions & 2 deletions langfuse/api/commons/types/trace.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,11 @@ class Trace(UniversalBaseModel):
The user identifier associated with the trace
"""

metadata: typing.Optional[typing.Any] = pydantic.Field(default=None)
metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(
default=None
)
"""
The metadata associated with the trace. Can be any JSON.
The metadata associated with the trace. Values can be any JSON; non-object metadata sent at ingestion is returned under the `metadata` key.
"""

tags: typing.List[str] = pydantic.Field()
Expand Down
3 changes: 3 additions & 0 deletions langfuse/api/evaluation_commons/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
EvaluationRuleReadFilterBase,
EvaluationRuleReadFilterWithKey,
EvaluationRuleStringFilterOperator,
EvaluationRuleStringObjectFilterOperator,
EvaluatorOutputDefinition,
EvaluatorOutputDefinitionBase,
EvaluatorOutputDefinition_Boolean,
Expand Down Expand Up @@ -85,6 +86,7 @@
"EvaluationRuleReadFilterBase": ".types",
"EvaluationRuleReadFilterWithKey": ".types",
"EvaluationRuleStringFilterOperator": ".types",
"EvaluationRuleStringObjectFilterOperator": ".types",
"EvaluatorOutputDefinition": ".types",
"EvaluatorOutputDefinitionBase": ".types",
"EvaluatorOutputDefinition_Boolean": ".types",
Expand Down Expand Up @@ -167,6 +169,7 @@ def __dir__():
"EvaluationRuleReadFilterBase",
"EvaluationRuleReadFilterWithKey",
"EvaluationRuleStringFilterOperator",
"EvaluationRuleStringObjectFilterOperator",
"EvaluatorOutputDefinition",
"EvaluatorOutputDefinitionBase",
"EvaluatorOutputDefinition_Boolean",
Expand Down
5 changes: 5 additions & 0 deletions langfuse/api/evaluation_commons/types/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@
from .evaluation_rule_string_filter_operator import (
EvaluationRuleStringFilterOperator,
)
from .evaluation_rule_string_object_filter_operator import (
EvaluationRuleStringObjectFilterOperator,
)
from .evaluator_output_definition import (
EvaluatorOutputDefinition,
EvaluatorOutputDefinition_Boolean,
Expand Down Expand Up @@ -101,6 +104,7 @@
"EvaluationRuleReadFilterBase": ".evaluation_rule_read_filter_base",
"EvaluationRuleReadFilterWithKey": ".evaluation_rule_read_filter_with_key",
"EvaluationRuleStringFilterOperator": ".evaluation_rule_string_filter_operator",
"EvaluationRuleStringObjectFilterOperator": ".evaluation_rule_string_object_filter_operator",
"EvaluatorOutputDefinition": ".evaluator_output_definition",
"EvaluatorOutputDefinitionBase": ".evaluator_output_definition_base",
"EvaluatorOutputDefinition_Boolean": ".evaluator_output_definition",
Expand Down Expand Up @@ -183,6 +187,7 @@ def __dir__():
"EvaluationRuleReadFilterBase",
"EvaluationRuleReadFilterWithKey",
"EvaluationRuleStringFilterOperator",
"EvaluationRuleStringObjectFilterOperator",
"EvaluatorOutputDefinition",
"EvaluatorOutputDefinitionBase",
"EvaluatorOutputDefinition_Boolean",
Expand Down
25 changes: 14 additions & 11 deletions langfuse/api/evaluation_commons/types/evaluation_rule_filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
from .evaluation_rule_number_filter_operator import EvaluationRuleNumberFilterOperator
from .evaluation_rule_options_filter_operator import EvaluationRuleOptionsFilterOperator
from .evaluation_rule_string_filter_operator import EvaluationRuleStringFilterOperator
from .evaluation_rule_string_object_filter_operator import (
EvaluationRuleStringObjectFilterOperator,
)


class EvaluationRuleFilter_Datetime(UniversalBaseModel):
Expand All @@ -34,7 +37,7 @@ class EvaluationRuleFilter_Datetime(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down Expand Up @@ -97,7 +100,7 @@ class EvaluationRuleFilter_String(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down Expand Up @@ -160,7 +163,7 @@ class EvaluationRuleFilter_Number(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down Expand Up @@ -223,7 +226,7 @@ class EvaluationRuleFilter_StringOptions(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down Expand Up @@ -286,7 +289,7 @@ class EvaluationRuleFilter_CategoryOptions(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down Expand Up @@ -350,7 +353,7 @@ class EvaluationRuleFilter_ArrayOptions(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down Expand Up @@ -413,7 +416,7 @@ class EvaluationRuleFilter_StringObject(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down Expand Up @@ -453,7 +456,7 @@ class EvaluationRuleFilter_StringObject(UniversalBaseModel):
type: typing.Literal["stringObject"] = "stringObject"
column: str
key: str
operator: EvaluationRuleStringFilterOperator
operator: EvaluationRuleStringObjectFilterOperator
value: str

model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
Expand All @@ -477,7 +480,7 @@ class EvaluationRuleFilter_NumberObject(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down Expand Up @@ -541,7 +544,7 @@ class EvaluationRuleFilter_Boolean(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down Expand Up @@ -604,7 +607,7 @@ class EvaluationRuleFilter_Null(UniversalBaseModel):
- `datetime`: `"="`, `">"`, `"<"`, `">="`, `"<="`
- `stringOptions`: `any of`, `none of`
- `arrayOptions`: `any of`, `none of`, `all of`
- `stringObject`: same operators as `string`
- `stringObject`: `"="`, `contains`, `does not contain`, `starts with`, `ends with`, `is set`, `is not set` (use `is set` / `is not set` for key presence; an empty value for `contains`, `starts with`, or `ends with` is treated as `is set`)
- `boolean`: `"="`, `"<>"`
- `null`: `is null`, `is not null`

Expand Down
Loading
Loading