1- from enum import Enum , IntEnum
2- from typing import Annotated , Any , Literal , Union
1+ from enum import IntEnum
2+ from typing import Any , Literal
33
44from pydantic import BaseModel , ConfigDict , Field
55from pydantic .alias_generators import to_camel
66
7+ from uipath ._cli ._evals .mocks .strategy import (
8+ InputMockingStrategy ,
9+ MockingStrategy ,
10+ ToolSimulation ,
11+ )
12+
713
814class EvaluatorReference (BaseModel ):
915 """Reference to an evaluator with optional weight.
@@ -52,32 +58,6 @@ def serialize(instance: "EvaluatorReference") -> Any:
5258 )
5359
5460
55- class EvaluationSimulationTool (BaseModel ):
56- name : str = Field (..., alias = "name" )
57-
58-
59- class MockingStrategyType (str , Enum ):
60- LLM = "llm"
61- MOCKITO = "mockito"
62- UNKNOWN = "unknown"
63-
64-
65- class BaseMockingStrategy (BaseModel ):
66- pass
67-
68-
69- class ModelSettings (BaseModel ):
70- """Model Generation Parameters."""
71-
72- model : str = Field (..., alias = "model" )
73- temperature : float | str | None = Field (default = None , alias = "temperature" )
74- top_p : float | None = Field (default = None , alias = "topP" )
75- top_k : int | None = Field (default = None , alias = "topK" )
76- frequency_penalty : float | None = Field (default = None , alias = "frequencyPenalty" )
77- presence_penalty : float | None = Field (default = None , alias = "presencePenalty" )
78- max_tokens : int | None = Field (default = None , alias = "maxTokens" )
79-
80-
8161class EvaluationSetModelSettings (BaseModel ):
8262 """Model setting overrides within evaluation sets with ID."""
8363
@@ -88,75 +68,6 @@ class EvaluationSetModelSettings(BaseModel):
8868 temperature : float | str | None = Field (default = None , alias = "temperature" )
8969
9070
91- class LLMMockingStrategy (BaseMockingStrategy ):
92- type : Literal [MockingStrategyType .LLM ] = MockingStrategyType .LLM
93- prompt : str = Field (..., alias = "prompt" )
94- tools_to_simulate : list [EvaluationSimulationTool ] = Field (
95- ..., alias = "toolsToSimulate"
96- )
97- model : ModelSettings | None = Field (None , alias = "model" )
98-
99- model_config = ConfigDict (
100- validate_by_name = True , validate_by_alias = True , extra = "allow"
101- )
102-
103-
104- class InputMockingStrategy (BaseModel ):
105- prompt : str = Field (..., alias = "prompt" )
106- model : ModelSettings | None = Field (None , alias = "model" )
107-
108- model_config = ConfigDict (
109- validate_by_name = True , validate_by_alias = True , extra = "allow"
110- )
111-
112-
113- class MockingArgument (BaseModel ):
114- args : list [Any ] = Field (default_factory = lambda : [], alias = "args" )
115- kwargs : dict [str , Any ] = Field (default_factory = lambda : {}, alias = "kwargs" )
116-
117-
118- class MockingAnswerType (str , Enum ):
119- RETURN = "return"
120- RAISE = "raise"
121-
122-
123- class MockingAnswer (BaseModel ):
124- type : MockingAnswerType
125- value : Any = Field (..., alias = "value" )
126-
127-
128- class MockingBehavior (BaseModel ):
129- function : str = Field (..., alias = "function" )
130- arguments : MockingArgument = Field (..., alias = "arguments" )
131- then : list [MockingAnswer ] = Field (..., alias = "then" )
132-
133-
134- class MockitoMockingStrategy (BaseMockingStrategy ):
135- type : Literal [MockingStrategyType .MOCKITO ] = MockingStrategyType .MOCKITO
136- behaviors : list [MockingBehavior ] = Field (..., alias = "config" )
137-
138- model_config = ConfigDict (
139- validate_by_name = True , validate_by_alias = True , extra = "allow"
140- )
141-
142-
143- KnownMockingStrategy = Annotated [
144- Union [LLMMockingStrategy , MockitoMockingStrategy ],
145- Field (discriminator = "type" ),
146- ]
147-
148-
149- class UnknownMockingStrategy (BaseMockingStrategy ):
150- type : str = Field (..., alias = "type" )
151-
152- model_config = ConfigDict (
153- validate_by_name = True , validate_by_alias = True , extra = "allow"
154- )
155-
156-
157- MockingStrategy = Union [KnownMockingStrategy , UnknownMockingStrategy ]
158-
159-
16071class EvaluationItem (BaseModel ):
16172 """Individual evaluation item within an evaluation set."""
16273
@@ -201,7 +112,7 @@ class LegacyEvaluationItem(BaseModel):
201112 simulation_instructions : str | None = Field (
202113 default = None , alias = "simulationInstructions"
203114 )
204- tools_to_simulate : list [EvaluationSimulationTool ] = Field (
115+ tools_to_simulate : list [ToolSimulation ] = Field (
205116 default_factory = list , alias = "toolsToSimulate"
206117 )
207118
0 commit comments