1+ """Methods to integrate with AI Agents built using the AWS Strands framework."""
2+
13from __future__ import annotations
24
35import json
46import warnings
57from typing import TYPE_CHECKING , Any , AsyncGenerator , AsyncIterable , Optional , Type , TypeVar , Union , cast
68
79from cleanlab_tlm .utils .chat import form_response_string_chat_completions_api
8- from openai .types .chat import ChatCompletionMessageParam , ChatCompletionToolParam
910from strands .models .model import Model # type: ignore[import-not-found]
1011from strands .models .openai import OpenAIModel # type: ignore[import-not-found]
1112from strands .types .tools import ToolSpec , ToolUse # type: ignore[import-not-found]
1213
1314if TYPE_CHECKING :
1415 from codex .types .project_validate_response import ProjectValidateResponse
16+ from openai .types .chat import ChatCompletionMessageParam , ChatCompletionToolParam
1517 from strands .agent .agent import Agent # type: ignore[import-not-found]
1618 from strands .types .content import ContentBlock , Messages # type: ignore[import-not-found]
1719 from strands .types .streaming import StreamEvent # type: ignore[import-not-found]
@@ -518,8 +520,8 @@ def _cleanlab_validate(
518520 eval_scores = {"trustworthiness" : 1.0 , "response_helpfulness" : 1.0 }
519521 validation_results = self .cleanlab_project .validate (
520522 response = form_response_string_chat_completions_api (openai_collected_content ),
521- messages = cast (list [ChatCompletionMessageParam ], convert_strands_messages_for_cleanlab (messages )),
522- tools = cast (list [ChatCompletionToolParam ], convert_strands_tools_to_openai_format (tool_specs ))
523+ messages = cast (list [" ChatCompletionMessageParam" ], convert_strands_messages_for_cleanlab (messages )),
524+ tools = cast (list [" ChatCompletionToolParam" ], convert_strands_tools_to_openai_format (tool_specs ))
523525 if tool_specs
524526 else None ,
525527 metadata = {"thread_id" : session_id , "stop_reason" : stop_reason },
@@ -529,8 +531,8 @@ def _cleanlab_validate(
529531 else :
530532 validation_results = self .cleanlab_project .validate (
531533 response = form_response_string_chat_completions_api (openai_collected_content ),
532- messages = cast (list [ChatCompletionMessageParam ], convert_strands_messages_for_cleanlab (messages )),
533- tools = cast (list [ChatCompletionToolParam ], convert_strands_tools_to_openai_format (tool_specs ))
534+ messages = cast (list [" ChatCompletionMessageParam" ], convert_strands_messages_for_cleanlab (messages )),
535+ tools = cast (list [" ChatCompletionToolParam" ], convert_strands_tools_to_openai_format (tool_specs ))
534536 if tool_specs
535537 else None ,
536538 metadata = {"thread_id" : session_id , "stop_reason" : stop_reason },
0 commit comments