|
- from agentchat_nestedchat import AgNestedChat
- from autogen_stateflow import AgStateFlow
- from promptflow.connections import AzureOpenAIConnection, CustomConnection
- from promptflow.core import tool
-
-
- @tool
- def my_python_tool(
- redisConnection: CustomConnection,
- question: str,
- azureOpenAiConnection: AzureOpenAIConnection,
- azureOpenAiModelName: str = "gpt-4-32k",
- autogen_workflow_id: int = 1,
- ) -> str:
- aoai_api_base = azureOpenAiConnection.api_base
- aoai_api_key: str = azureOpenAiConnection.api_key
- aoai_api_version: str = azureOpenAiConnection.api_version
- OAI_CONFIG_LIST = [
- {
- "model": azureOpenAiModelName,
- "api_key": aoai_api_key,
- "base_url": aoai_api_base,
- "api_type": "azure",
- "api_version": aoai_api_version,
- }
- ]
-
- redis_url = redisConnection.secrets["redis_url"]
- if autogen_workflow_id == 1:
- ag_workflow = AgStateFlow(config_list=OAI_CONFIG_LIST, redis_url=redis_url)
- res = ag_workflow.chat(question=question)
- return res.summary
- elif autogen_workflow_id == 2:
- ag_workflow = AgNestedChat(config_list=OAI_CONFIG_LIST, redis_url=redis_url)
- res = ag_workflow.chat(question=question)
- return res.summary
- else:
- raise ValueError("Invalid workflow ID")
|