feat: map legacy conversational eval inputs and outputs#1276
Open
shannonsuhendra wants to merge 16 commits intomainfrom
Open
feat: map legacy conversational eval inputs and outputs#1276shannonsuhendra wants to merge 16 commits intomainfrom
shannonsuhendra wants to merge 16 commits intomainfrom
Conversation
maxduu
reviewed
Feb 19, 2026
Comment on lines
+230
to
+235
| # TODO Add attachments if present | ||
| # if eval_input.current_user_prompt.attachments: | ||
| # for attachment in eval_input.current_user_prompt.attachments: | ||
| # content_parts.append( | ||
| # UiPathConversationContentPart(...) | ||
| # ) |
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Demo Video
Screen.Recording.2026-02-19.at.2.45.10.PM.mov
Summary
This PR is one of three that supports end-to-end evaluations for Conversational Agents. This approach first defines the output of low-code Conversational-Agent graph, and modifies the graph to produce this output. It also converts the legacy conversational-agent evaluation file's input/outputs into the same format as the Conversational Agent graph's input/outputs.
In this approach, there is no conversational-agent-specific eval-wrapper code. Low-code Conversational Agents are ran/evaluated identically to Autonomous Agents (input -> output). This should allow us to leverage future evaluation changes/improvements automatically. For more details and approach chosen, see this document.
Implementation details
https://github.com/UiPath/uipath-agents-python/pull/274
uipath__agent_response_messages: list[ConversationMessageData]. This output will contain the agent run's produced messages/tool-calls in the UiPath CAS data-type format. This...Dataformat doesn't contain timestamps, message IDs, etc., see above document for context here.messages: list[UiPathConversationMessage], which are the input chat-history defined to match the CAS format (contains timestamps, message IDs, etc.)feat: output conversational message data in terminate-node uipath-langchain-python#601
uipath__agent_response_messages: list[ConversationMessageData].terminate_node, which in the past returned nothing for conversational, to convert the agent-produced langgraph messages into theConversationMessageDataformat and output that.feat: map legacy conversational eval inputs and outputs #1276 (this one)
agent.json'sconversationalInputsandconversationalExpectedOutput. These are the saved legacy evaluation fields in the design-time evaluation experience.migrate_evaluation_item, these legacy evaluation types are mapped into the proper input (list[UiPathConversationMessage]) and output (list[UiPathConversationMessageData]) types for Conversational Agents.evaluation.inputs["messages"]andevaluation.expected_output["uipath__agent_response_messages"]. So the final evaluation inputs/expected-output contains the fields and proper typing for the conversational agent's inputs/outputs.Next Steps:
How has this been tested?
Example Legacy Evaluation Set, as downloaded from Studio Web.
After running
uv run uipath eval agent.json evaluations/eval-sets/evaluation-set-web-search.json --output-file evaluation-set-web-search-output.json:Are there any breaking changes?