mirror of
https://github.com/microsoft/autogen.git
synced 2025-07-19 15:01:52 +00:00

* add promptflow example * add promptflow example * add newline and sort imports * add newline and sort imports * sort imports * fix format errors * update readme * add ecosystem docs * update broken link * update broken link * removing link to samples folder * update readme
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")
|