8000 .NET: Fix failing vision integration tests · Issue #4127 · microsoft/agent-framework · GitHub
[go: up one dir, main page]

Skip to content

.NET: Fix failing vision integration tests #4127

@westey-m

Description

@westey-m

Two integration tests are failing regularly:
Microsoft.Agents.AI.Workflows.Declarative.IntegrationTests.MediaInputTest.ValidateFileDataAsync
Microsoft.Agents.AI.Workflows.Declarative.IntegrationTests.MediaInputTest.ValidateFileUploadAsync

The content returned by the samples-files.com service is not consistently the data that was requested, specifically, some times it's html instead of an pdf of jpg file.

To improve reliability we should download the files, check them in and use them from the local repository.

Failed output:

  Failed Microsoft.Agents.AI.Workflows.Declarative.IntegrationTests.MediaInputTest.ValidateFileDataAsync(fileSource: "https://sample-files.com/downloads/documents/pdf/b"···, mediaType: "application/pdf", useConversation: False) [4 s]
  Error Message:
   Microsoft.Agents.AI.Workflows.Declarative.DeclarativeActionException : Unhandled workflow failure - #invoke_vision (InvokeAzureAgent)
---- System.ClientModel.ClientResultException : HTTP 400 (invalid_request_error: unsupported_file)
Parameter: input

The file type you uploaded is not supported. Please try again with a pdf
  Stack Trace:
     at Microsoft.Agents.AI.Workflows.Declarative.Interpreter.DeclarativeActionExecutor.HandleAsync(ActionExecutorResult message, IWorkflowContext context, CancellationToken cancellationToken) in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows.Declarative/Interpreter/DeclarativeActionExecutor.cs:line 100
   at Microsoft.Agents.AI.Workflows.Declarative.Interpreter.DeclarativeActionExecutor.HandleAsync(ActionExecutorResult message, IWorkflowContext context, CancellationToken cancellationToken) in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows.Declarative/Interpreter/DeclarativeActionExecutor.cs:line 106
   at Microsoft.Agents.AI.Workflows.RouteBuilder.<>c__DisplayClass12_0`1.<<AddHandler>g__WrappedHandlerAsync|0>d.MoveNext() in /home/runner/work/agent-framework/agent-framework/
A2DA
dotnet/src/Microsoft.Agents.AI.Workflows/RouteBuilder.cs:line 250
--- End of stack trace from previous location ---
   at Microsoft.Agents.AI.Workflows.Execution.MessageRouter.RouteMessageAsync(Object message, IWorkflowContext context, Boolean requireRoute, CancellationToken cancellationToken) in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows/Execution/MessageRouter.cs:line 137
----- Inner Stack Trace -----
   at OpenAI.ClientPipelineExtensions.ProcessMessageAsync(ClientPipeline pipeline, PipelineMessage message, RequestOptions options)
   at OpenAI.Responses.ResponsesClient.CreateResponseAsync(BinaryContent content, RequestOptions options)
   at OpenAI.Responses.ResponsesClient.<>c__DisplayClass20_0.<<CreateResponseStreamingAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at OpenAI.AsyncSseUpdateCollection`1.GetRawPagesAsync()+MoveNext()
   at OpenAI.AsyncSseUpdateCollection`1.GetRawPagesAsync()+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at System.ClientModel.AsyncCollectionResult`1.GetAsyncEnumerator(CancellationToken cancellationToken)+MoveNext()
   at System.ClientModel.AsyncCollectionResult`1.GetAsyncEnumerator(CancellationToken cancellationToken)+MoveNext()
   at System.ClientModel.AsyncCollectionResult`1.GetAsyncEnumerator(CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Microsoft.Extensions.AI.OpenAIResponsesChatClient.FromOpenAIStreamingResponseUpdatesAsync(IAsyncEnumerable`1 streamingResponseUpdates, CreateResponseOptions options, String conversationId, String resumeResponseId, CancellationToken cancellationToken)+MoveNext()
   at Microsoft.Extensions.AI.OpenAIResponsesChatClient.FromOpenAIStreamingResponseUpdatesAsync(IAsyncEnumerable`1 streamingResponseUpdates, CreateResponseOptions options, String conversationId, String resumeResponseId, CancellationToken cancellationToken)+MoveNext()
   at Microsoft.Extensions.AI.OpenAIResponsesChatClient.FromOpenAIStreamingResponseUpdatesAsync(IAsyncEnumerable`1 streamingResponseUpdates, CreateResponseOptions options, String conversationId, String resumeResponseId, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Microsoft.Agents.AI.AzureAI.AzureAIProjectChatClient.GetStreamingResponseAsync(IEnumerable`1 messages, ChatOptions options, CancellationToken cancellationToken)+MoveNext() in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.AzureAI/AzureAIProjectChatClient.cs:line 118
   at Microsoft.Agents.AI.AzureAI.AzureAIProjectChatClient.GetStreamingResponseAsync(IEnumerable`1 messages, ChatOptions options, CancellationToken cancellationToken)+MoveNext() in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.AzureAI/AzureAIProjectChatClient.cs:line 118
   at Microsoft.Agents.AI.AzureAI.AzureAIProjectChatClient.GetStreamingResponseAsync(IEnumerable`1 messages, ChatOptions options, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Microsoft.Extensions.AI.FunctionInvokingChatClient.GetStreamingResponseAsync(IEnumerable`1 messages, ChatOptions options, CancellationToken cancellationToken)+MoveNext()
   at Microsoft.Extensions.AI.FunctionInvokingChatClient.GetStreamingResponseAsync(IEnumerable`1 messages, ChatOptions options, CancellationToken cancellationToken)+MoveNext()
   at Microsoft.Extensions.AI.FunctionInvokingChatClient.GetStreamingResponseAsync(IEnumerable`1 messages, ChatOptions options, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Microsoft.Agents.AI.ChatClientAgent.RunCoreStreamingAsync(IEnumerable`1 messages, AgentSession session, AgentRunOptions options, CancellationToken cancellationToken)+MoveNext() in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI/ChatClient/ChatClientAgent.cs:line 307
   at Microsoft.Agents.AI.ChatClientAgent.RunCoreStreamingAsync(IEnumerable`1 messages, AgentSession session, AgentRunOptions options, CancellationToken cancellationToken)+MoveNext() in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI/ChatClient/ChatClientAgent.cs:line 313
   at Microsoft.Agents.AI.ChatClientAgent.RunCoreStreamingAsync(IEnumerable`1 messages, AgentSession session, AgentRunOptions options, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Microsoft.Agents.AI.AIAgent.RunStreamingAsync(IEnumerable`1 messages, AgentSession session, AgentRunOptions options, CancellationToken cancellationToken)+MoveNext() in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Abstractions/AIAgent.cs:line 438
   at Microsoft.Agents.AI.AIAgent.RunStreamingAsync(IEnumerable`1 messages, AgentSession session, AgentRunOptions options, CancellationToken cancellationToken)+MoveNext() in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Abstractions/AIAgent.cs:line 438
   at Microsoft.Agents.AI.AIAgent.RunStreamingAsync(IEnumerable`1 messages, AgentSession session, AgentRunOptions options, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Microsoft.Agents.AI.Workflows.Declarative.AzureAgentProvider.InvokeAgentAsync(String agentId, String agentVersion, String conversationId, IEnumerable`1 messages, IDictionary`2 inputArguments, CancellationToken cancellationToken)+MoveNext() in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows.Declarative.AzureAI/AzureAgentProvider.cs:line 128
   at Microsoft.Agents.AI.Workflows.Declarative.AzureAgentProvider.InvokeAgentAsync(String agentId, String agentVersion, String conversationId, IEnumerable`1 messages, IDictionary`2 inputArguments, CancellationToken cancellationToken)+MoveNext() in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows.Declarative.AzureAI/AzureAgentProvider.cs:line 128
   at Microsoft.Agents.AI.Workflows.Declarative.AzureAgentProvider.InvokeAgentAsync(String agentId, String agentVersion, String conversationId, IEnumerable`1 messages, IDictionary`2 inputArguments, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Microsoft.Agents.AI.Workflows.Declarative.Extensions.AgentProviderExtensions.InvokeAgentAsync(ResponseAgentProvider agentProvider, String executorId, IWorkflowContext context, String agentName, String conversationId, Boolean autoSend, IEnumerable`1 inputMessages, IDictionary`2 inputArguments, CancellationToken cancellationToken) in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows.Declarative/Extensions/AgentProviderExtensions.cs:line 31
   at Microsoft.Agents.AI.Workflows.Declarative.Extensions.AgentProviderExtensions.InvokeAgentAsync(ResponseAgentProvider agentProvider, String executorId, IWorkflowContext context, String agentName, String conversationId, Boolean autoSend, IEnumerable`1 inputMessages, IDictionary`2 inputArguments, CancellationToken cancellationToken) in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows.Declarative/Extensions/AgentProviderExtensions.cs:line 31
   at Microsoft.Agents.AI.Workflows.Declarative.ObjectModel.InvokeAzureAgentExecutor.InvokeAgentAsync(IWorkflowContext context, IEnumerable`1 messages, CancellationToken cancellationToken) in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows.Declarative/ObjectModel/InvokeAzureAgentExecutor.cs:line 65
   at Microsoft.Agents.AI.Workflows.Declarative.ObjectModel.InvokeAzureAgentExecutor.ExecuteAsync(IWorkflowContext context, CancellationToken cancellationToken) in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows.Declarative/ObjectModel/InvokeAzureAgentExecutor.cs:line 43
   at Microsoft.Agents.AI.Workflows.Declarative.Interpreter.DeclarativeActionExecutor.HandleAsync(ActionExecutorResult message, IWorkflowContext context, CancellationToken cancellationToken) in /home/runner/work/agent-framework/agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows.Declarative/Interpreter/DeclarativeActionExecutor.cs:line 84
  Standard Output Messages:
 CONVERSATION: conv_485dd9862c914b9c00kLV9XQf9GkeEF8hpFB6MWPMlrfLGBjkf
 CONVERSATION: resp_035b5f9e4724c164006997284471988197bee0e9c3c35998cf
 Content: data:application/pdf;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0idXRmOCI+...

Metadata

Metadata

Labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0