Skip to content

Commit ee90844

Browse files
committed
hotfix - added support for dictionaries
1 parent 0dd1ab5 commit ee90844

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

qualifire/client.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Dict, List, Optional, Union
1+
from typing import Any, Dict, List, Optional, Union
22

33
import json
44
import logging
@@ -210,16 +210,25 @@ def invoke_evaluation(
210210
evaluation_id: str,
211211
input: Optional[str] = None,
212212
output: Optional[str] = None,
213-
messages: Optional[List[LLMMessage]] = None,
213+
messages: Union[
214+
Optional[List[LLMMessage]],
215+
Optional[List[Dict[str, Any]]],
216+
] = None,
214217
available_tools: Optional[List[LLMToolDefinition]] = None,
215218
) -> EvaluationResponse:
216219
url = f"{self._base_url}/api/evaluation/invoke/"
217220

221+
if messages is not None:
222+
if isinstance(messages, list) and all(
223+
isinstance(message, dict) for message in messages
224+
):
225+
messages = [LLMMessage(**message) for message in messages] # type: ignore # noqa E501
226+
218227
request = EvaluationInvokeRequest(
219228
evaluation_id=evaluation_id,
220229
input=input,
221230
output=output,
222-
messages=messages,
231+
messages=messages, # type: ignore
223232
available_tools=available_tools,
224233
)
225234

0 commit comments

Comments
 (0)