* Add some OpenAI specific extensions
* Update samples and extension methods
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add extension methods for creating agents using the Assistant API
* Add orchestration sample
* Add orchestration sample
* Sample for the Foundry alignment document
* Address code review feedback
* Rename provider samples
* Sample showing how to get an AI agent for Foundry SDK
* Add OpenAI chat completion based implementation of AIAgent
* Split OpenAI client extension methods by client type
* Remove OpenAIClient extension methods
* Rename AsRunnableAgent
* Fix XML comments
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- Remove Dictionary-derived types
- Add an optional name to orchestrations
- Make Handoffs based purely on AIAgent instances rather than separately provided names
* Add ChatClientAgent constructor overload
* Add unit tests for new constructor
* Up code coverage with extra tests
* Address PR comments.
* Address PR comment
* Add additional test to increase code coverage.
* Basic agent invocation sample
* Simplify sample further.
* Add additional comment.
* Address code review comments.
* Suppress CA2000 and remove using from most basic sample, since the IChatClient instances involved do not do any disposal.
- Moved InProcessRuntime type into abstractions package and deleted InProcess package.
- Moved several members of IAgentRuntime to be extension methods instead, e.g. multiple GetActorAsync overloads.
- Added synchronous RegisterMessageHandler overloads and used them to avoid unnecessary async usage at call sites.
- Removed unnecessary surface area from InProcessRuntime, e.g. StopAsync, RunUntilIdleAsync, etc.
- Fixed spin loop in InProcessRuntime that would consume an entire core for the duration of the orchestration's operation.
- Removed a bunch of allocation from InProcessRuntime.
- Made a runtime optional for orchestrations, defaulting to using a temporary InProcessRuntime if none is provided.
- Removed custom delegate types from orchestrations.
- Consolidated namespaces.
- Used records to simplify message classes.
- Tweaked naming on AgentActor to make purpose of protected methods more clear.
- Removed invocation in AgentActor.InvokeAsync of empty update / isFinal parameter.
- Changed OrchestrationHandoffs to avoid needing to pass in agents duplicatively.
- Made various extension methods, such as those on OrchestrationHandoffsExtensions, into instance methods.
* DI WIP
* Update dependency injection examples and Agent Creation update
* Rollback override for GettingStarted as Azure.AI.OpenAI package currentl does not support OpenAI 2.2.0 GA version
* Dropping ct
* Update dotnet/samples/GettingStarted/AgentSample.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Added code interpreter abstraction updates for OpenAI Assistants
* Updated Persistent Agents implementation based on latest changes in SDK
* Added code interpreter abstraction updates for Azure AI Persistent Agents
* Small note for OpenAI responses code interpreter
* Small update
* Fixes after merge
* Addressed PR feedback
* Small update
* Small fix
* Fix after merge
* Rename the folders
* Rename the .csproj files
* Some build file updates
* Update namespaces
* Fix order of imports
* Fix order of imports
* Fix order of imports
* Add sample for OpenAIAssistant
* Fix warning
* Add tools sample and simplify running samples.
* Restructure samples to show common features separate from each type of underlying IChatClient implementation.
* Remove unecessary suppression.
* Renaming namespaces based on suggestion from PR.