| | | 1 | | using Microsoft.Extensions.AI; |
| | | 2 | | |
| | | 3 | | namespace NexusLabs.Needlr.AgentFramework.Evaluation; |
| | | 4 | | |
| | | 5 | | /// <summary> |
| | | 6 | | /// Inputs shaped for <c>Microsoft.Extensions.AI.Evaluation</c> evaluators, derived from a |
| | | 7 | | /// captured agent run. Consumers pass <see cref="Messages"/> and <see cref="ModelResponse"/> |
| | | 8 | | /// to <c>IEvaluator.EvaluateAsync</c> (or to a <c>ScenarioRun</c> obtained via |
| | | 9 | | /// <c>ReportingConfiguration.CreateScenarioRunAsync</c>). |
| | | 10 | | /// </summary> |
| | | 11 | | /// <param name="Messages"> |
| | | 12 | | /// The conversation messages that were sent to the agent, exactly as captured at the |
| | | 13 | | /// agent-run boundary. Safe to replay without re-invoking the model. |
| | | 14 | | /// </param> |
| | | 15 | | /// <param name="ModelResponse"> |
| | | 16 | | /// The agent's aggregated response materialized as a <see cref="ChatResponse"/>. When |
| | | 17 | | /// the captured run produced no output, this is an empty assistant response so evaluators |
| | | 18 | | /// still receive a non-null value. |
| | | 19 | | /// </param> |
| | | 20 | | public readonly record struct EvaluationInputs( |
| | 6 | 21 | | IReadOnlyList<ChatMessage> Messages, |
| | 17 | 22 | | ChatResponse ModelResponse); |