Skip to content

Commit 052eb71

Browse files
authored
added metadata (#467)
1 parent 4324521 commit 052eb71

3 files changed

Lines changed: 8 additions & 1 deletion

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "qualifire"
7-
version = "0.14.0"
7+
version = "0.15.0"
88
description = "Qualifire Python SDK"
99
authors = [{ name = "qualifire-dev", email = "dror@qualifire.ai" }]
1010
requires-python = ">=3.8,<4"

qualifire/client.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ def evaluate(
6767
topic_scoping_multi_turn_mode: bool = False,
6868
topic_scoping_target: PolicyTarget = PolicyTarget.BOTH,
6969
allowed_topics: Optional[List[str]] = None,
70+
metadata: Optional[Dict[str, str]] = None,
7071
) -> Union[EvaluationResponse, None]:
7172
"""
7273
Evaluates the given input and output pairs.
@@ -113,6 +114,7 @@ def evaluate(
113114
:param topic_scoping_multi_turn_mode: Enable multi-turn mode for topic scoping check.
114115
:param topic_scoping_target: Target topic for topic scoping check.
115116
:param allowed_topics: List of allowed topics for topic scoping check.
117+
:param metadata: Optional dictionary of string key-value pairs to attach to the evaluation invocation.
116118
117119
:return: An EvaluationResponse object containing the evaluation results.
118120
:raises Exception: If an error occurs during the evaluation.
@@ -236,6 +238,7 @@ def evaluate(
236238
topic_scoping_multi_turn_mode=topic_scoping_multi_turn_mode,
237239
topic_scoping_target=topic_scoping_target,
238240
allowed_topics=allowed_topics,
241+
metadata=metadata,
239242
)
240243

241244
response = requests.post(
@@ -264,6 +267,7 @@ def invoke_evaluation(
264267
Optional[List[Dict[str, Any]]],
265268
] = None,
266269
available_tools: Optional[List[LLMToolDefinition]] = None,
270+
metadata: Optional[Dict[str, str]] = None,
267271
) -> EvaluationResponse:
268272
url = f"{self._base_url}/api/evaluation/invoke/"
269273

@@ -279,6 +283,7 @@ def invoke_evaluation(
279283
output=output,
280284
messages=messages, # type: ignore
281285
available_tools=available_tools,
286+
metadata=metadata,
282287
)
283288

284289
response = requests.request(

qualifire/types.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ class EvaluationRequest(BaseModel):
7070
topic_scoping_multi_turn_mode: bool = False
7171
topic_scoping_target: PolicyTarget = PolicyTarget.BOTH
7272
allowed_topics: Optional[List[str]] = None
73+
metadata: Optional[Dict[str, str]] = None
7374

7475
@model_validator(mode="after")
7576
def validate_model(self) -> "EvaluationRequest":
@@ -118,6 +119,7 @@ class EvaluationInvokeRequest(BaseModel):
118119
output: Optional[str] = None
119120
messages: Optional[List[LLMMessage]] = None
120121
available_tools: Optional[List[LLMToolDefinition]] = None
122+
metadata: Optional[Dict[str, str]] = None
121123

122124
@model_validator(mode="after")
123125
def validate_model(self) -> "EvaluationInvokeRequest":

0 commit comments

Comments
 (0)