mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
b1b528e4a8
* [BREAKING] Remove deprecated kwargs compatibility paths Remove the deprecated kwargs compatibility shims across core agents, clients, tools, middleware, and telemetry. Keep workflow kwargs behavior intact in this branch and follow up separately in #4850. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix PR CI fallout for kwargs removal Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR review feedback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * updates * Fix Azure AI CI fallout Remove the stale _get_current_conversation_id override from the Azure AI client after the OpenAI base helper was deleted. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fixed new classes * Fix Assistants deprecated import gating Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix integration replay regressions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Switch multi-agent hosting samples to Azure chat completions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Simplify Azure multi-agent sample config Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
51 lines
1.9 KiB
Python
51 lines
1.9 KiB
Python
# Copyright (c) Microsoft. All rights reserved.
|
|
|
|
"""Multi-Agent Sample - Durable Task Integration (Combined Worker + Client)
|
|
This sample demonstrates running both the worker and client in a single process
|
|
for multiple agents with different tools. The worker registers two agents
|
|
(WeatherAgent and MathAgent), each with their own specialized capabilities.
|
|
Prerequisites:
|
|
- Set AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_DEPLOYMENT_NAME
|
|
- Sign in with Azure CLI for AzureCliCredential authentication
|
|
- Durable Task Scheduler must be running (e.g., using Docker)
|
|
To run this sample:
|
|
python sample.py
|
|
"""
|
|
|
|
import logging
|
|
|
|
# Import helper functions from worker and client modules
|
|
from client import get_client, run_client
|
|
from dotenv import load_dotenv
|
|
from worker import get_worker, setup_worker
|
|
|
|
# Configure logging
|
|
logging.basicConfig(level=logging.INFO, force=True)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def main():
|
|
"""Main entry point - runs both worker and client in single process."""
|
|
logger.debug("Starting Durable Task Multi-Agent Sample (Combined Worker + Client)...")
|
|
silent_handler = logging.NullHandler()
|
|
# Create and start the worker using helper function and context manager
|
|
with get_worker(log_handler=silent_handler) as dts_worker:
|
|
# Register agents using helper function
|
|
setup_worker(dts_worker)
|
|
# Start the worker
|
|
dts_worker.start()
|
|
logger.debug("Worker started and listening for requests...")
|
|
# Create the client using helper function
|
|
agent_client = get_client(log_handler=silent_handler)
|
|
try:
|
|
# Run client interactions using helper function
|
|
run_client(agent_client)
|
|
except Exception as e:
|
|
logger.exception(f"Error during agent interaction: {e}")
|
|
logger.debug("Sample completed. Worker shutting down...")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
load_dotenv()
|
|
main()
|