diff --git a/python/samples/getting_started/chat_client/foundry_chat_client.py b/python/samples/getting_started/chat_client/foundry_chat_client.py index 3cfb157bce..13fc4a7612 100644 --- a/python/samples/getting_started/chat_client/foundry_chat_client.py +++ b/python/samples/getting_started/chat_client/foundry_chat_client.py @@ -17,19 +17,19 @@ def get_weather( async def main() -> None: - client = FoundryChatClient() - message = "What's the weather in Amsterdam and in Paris?" - stream = False - print(f"User: {message}") - if stream: - print("Assistant: ", end="") - async for chunk in client.get_streaming_response(message, tools=get_weather): - if str(chunk): - print(str(chunk), end="") - print("") - else: - response = await client.get_response(message, tools=get_weather) - print(f"Assistant: {response}") + async with FoundryChatClient() as client: + message = "What's the weather in Amsterdam and in Paris?" + stream = False + print(f"User: {message}") + if stream: + print("Assistant: ", end="") + async for chunk in client.get_streaming_response(message, tools=get_weather): + if str(chunk): + print(str(chunk), end="") + print("") + else: + response = await client.get_response(message, tools=get_weather) + print(f"Assistant: {response}") if __name__ == "__main__": diff --git a/python/samples/getting_started/chat_client/openai_assistants_chat_client.py b/python/samples/getting_started/chat_client/openai_assistants_chat_client.py new file mode 100644 index 0000000000..06e2475131 --- /dev/null +++ b/python/samples/getting_started/chat_client/openai_assistants_chat_client.py @@ -0,0 +1,36 @@ +# Copyright (c) Microsoft. All rights reserved. + +import asyncio +from random import randint +from typing import Annotated + +from agent_framework.openai import OpenAIAssistantsClient +from pydantic import Field + + +def get_weather( + location: Annotated[str, Field(description="The location to get the weather for.")], +) -> str: + """Get the weather for a given location.""" + conditions = ["sunny", "cloudy", "rainy", "stormy"] + return f"The weather in {location} is {conditions[randint(0, 3)]} with a high of {randint(10, 30)}°C." + + +async def main() -> None: + async with OpenAIAssistantsClient() as client: + message = "What's the weather in Amsterdam and in Paris?" + stream = False + print(f"User: {message}") + if stream: + print("Assistant: ", end="") + async for chunk in client.get_streaming_response(message, tools=get_weather): + if str(chunk): + print(str(chunk), end="") + print("") + else: + response = await client.get_response(message, tools=get_weather) + print(f"Assistant: {response}") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/python/samples/getting_started/chat_client/openai_responses_client.py b/python/samples/getting_started/chat_client/openai_responses_chat_client.py similarity index 100% rename from python/samples/getting_started/chat_client/openai_responses_client.py rename to python/samples/getting_started/chat_client/openai_responses_chat_client.py