mirror of
https://github.com/microsoft/autogen.git
synced 2025-07-21 07:51:55 +00:00
39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
![]() |
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")
|