Commit Graph

15 Commits

  • .NET: Bring OpenAIResponsesChatClient temporarily (#449)
    * copy OpenAIResponsesChatClient from meai temporarly
    
    * Update dotnet/src/Microsoft.Extensions.AI.Agents.OpenAI/NewOpenAIResponsesChatClient.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * add AsNewIChatClient extension method
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: Update MEAI 9.8.0 and accepted proposed abstractions (#427)
    * Update MEAI 9.8.0 and accepted proposed abstractions
    
    * Address manual change in samples
    
    * Address warnings
    
    * Revert "Address warnings"
    
    This reverts commit 52a7d60129.
  • .Net: Add support for 3rd party thread storage and thread serialization (#203)
    * Add thread storage and serialization POC
    
    * Switch to using JsonElement and add unit tests
    
    * Add additional unit tests.
    
    * Exclude private debugger properties from CodeCoverage.
    
    * Rename IChatMessagesStorable to IChatMessageStore
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Improve xml doc.
    
    * Update the message storing thread to always use external store for both local and remote storage.
    
    * Remove threadid from the IChatMessageStore interface, since the store should own the thread id itself, if it requires one.
    
    * Switch GetMessages to IEnumerable
    
    * Address pr comments.
    
    * Make jsonserializer options default consistent on DeserializeThreadAsync
    
    * Move message storing thread functionality into AgentThread and simplify AgentThread behavior.
    
    * Remove embedding generation from VectorStore chat history sample.
    
    * Remove unecessary code and fix formatting.
    
    * Make GetNewThread and DeserializeThread virtual with default implementations.
    Remove unsued json utilities.
    
    * Fix formatting
    
    * Remove problem test.
    
    * Add more unit tests
    
    * Remove unused using clause.
    
    * Address pr feedback.
    
    * Address PR comments.
    
    * Make InMemory store internal
    
    * Switch InMemoryChatMessageStore to implement IList instead of inheriting from List.
    
    * Rename store deserialize param.
    
    * Update serialization based on PR comments.
    
    * Remove confusing comment.
    
    * Address Deserialization PR comments in the same way as Serialization
    
    * Add State to IChatMessageStore Serialize and Deserialize names.
    Make Thread Deserialize internal.
    Make AgentThread type switching fobidden.
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • .NET: Fix error for ChatClientAgent DI ambiguity (#299)
    * Fix error for ChatClientAgent DI ambiguity
    
    * Using AIAgent abstraction for DI samples
    
    * Update dotnet/samples/GettingStarted/Steps/Step04_ChatClientAgent_DependencyInjection.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Fix warnings
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .Net: FileSearch Tool Sample + API Proposal Updates for MEAI.Abstractions/Azure.AI.Agents (#210)
    * Wip, bringing persistent chat client back
    
    * Bring back code interpreter resource logic
    
    * Add file search samples and proposal for new OpenAIAssistantChatClient and AgentPersistantChatCLient
    
    * Update dotnet/samples/GettingStarted/External/MEAI.Abstractions/NewHostedFileSearchTool.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/Steps/Step04_ChatClientAgent_UsingFileSearchTools.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/External/Azure.AI.Agents.Persistent/NewPersistentAgentsChatClient.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update MEAI abstractions to reflect latest discussions, updated underlying chatclients
    
    * Remove unneeded comments
    
    * Address PR feedback
    
    * Address PR feedback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Basic agent invocation sample (#175)
    * 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.
  • Round 2 of cleanup for agent runtime and orchestrations (#164)
    - 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.
  • .Net: Introduce Dependency Injection Samples (#165)
    * 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>
  • .Net: Update Code Interpreter Sample as a Step. (#148)
    * Updating code interpreter samples
    
    * Small adjustments to ensure it works as expected
    
    * Update dotnet/samples/GettingStarted/Steps/Step03_ChatClientAgent_UsingCodeInterpreterTools.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address xmldoc
    
    * Addressing PR coment, external implementaions + ChatClients update, removing RawRepresentationFactory requirement
    
    * Address warnings
    
    * Update Fix warnings
    
    * Proposed changes for the OpenAIAssistantChatClient
    
    * Address PR comments
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
  • .Net: Code interpreter tool abstraction and implementation examples (#110)
    * 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
  • Renaming to use Microsoft.Extensions prefix (#120)
    * 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
  • .Net: Agent Samples - Adding AzureAIAgentsPersistent to Steps (#105)
    * Adding Persistent Agent to Steps
    
    * Add comments
    
    * Ensure changes
    
    * Fix format
    
    * Fix formatting
    
    * Adding cancellation token good practice
  • .Net: Add OpenAI Responses Agent Samples (#83)
    * Improved Merge logic
    
    * Add modularization for Model Samples and Azure OpenAI
    
    * Address PR feedback
    
    * Warning fix
    
    * Address PR comments
    
    * Adding OpenAI Response Samples
    
    * Clean up
    
    * Revert to provider specific chat options
    
    * Fix warnings
    
    * Revert slnx changes
  • .Net: Add Azure OpenAI Agent Model Samples (#80)
    * Improved Merge logic
    
    * Add modularization for Model Samples and Azure OpenAI
    
    * Address PR feedback
    
    * Warning fix
    
    * Address PR comments
  • .Net: Add ChatClientAgent Samples - OpenAI Model Client (#72)
    * Add Streaming API
    
    * Removing InstructionsRole
    
    * Updating thread notification strategy
    
    * Fix net472 failing
    
    * Small fixes
    
    * Adding Samples for OpenAI
    
    * WIP samples
    
    * default runsettings for unit tests
    
    * Adding first samples with OpenAIModelChatClientAgents
    
    * Removing OpenAI dependency on the sample utility
    
    * Release -> Debug update for GettingStarted project
    
    * Fix GettingStarted.csproj failing to build in Release
    
    * Update dotnet/src/Shared/Samples/BaseSample.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address PR feedback
    
    * Fix Step 1 samples
    
    * Simplify code
    
    * Address PR feedback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>