docs(evaluator): showcase custom AgentStreamTranslator hook on the Hermes example #750
Conversation
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (4)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughAdds Hermes Responses SSE evaluation through ChangesHermes SSE evaluation
Sequence Diagram(s)sequenceDiagram
participant GenericAgent
participant HermesEndpoint
participant AgentEvaluator
participant HermesStreamTranslator
GenericAgent->>HermesEndpoint: Send streaming Responses request
HermesEndpoint-->>AgentEvaluator: Return SSE frames
AgentEvaluator->>HermesStreamTranslator: Translate completed response
HermesStreamTranslator-->>AgentEvaluator: Return trajectory and metrics
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/evaluator/agent-eval/evaluate-deployed-agent.mdx`:
- Around line 113-160: Add a Fern tab-set around the Streaming SSE agents
example with separate Python SDK and CLI tabs. Keep the existing Python example,
and add the equivalent CLI configuration and invocation for the SSE workflow; if
the CLI cannot accept custom stream translators, explicitly state that
limitation and direct users to the Python example.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 5f1a9679-ec94-46b9-9497-b002670a9700
📒 Files selected for processing (4)
docs/evaluator/agent-eval/evaluate-deployed-agent.mdxpackages/nemo_evaluator_sdk/examples/hermes/example.pypackages/nemo_evaluator_sdk/src/nemo_evaluator_sdk/agent_eval/docs/architecture.mdpackages/nemo_evaluator_sdk/tests/agent_eval/test_hermes_example.py
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/nemo_evaluator_sdk/examples/hermes/example.py`:
- Line 39: Restore the API_SERVER_KEY credential contract by defining and using
API_SERVER_KEY_ENV_NAME instead of HERMES_TOKEN_ENV_NAME. Update
_require_api_server_key() and SecretRef, including the related references, so
they read the API_SERVER_KEY environment variable and expose the expected
constant for missing-key tests.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 791674b0-8547-4c74-b3d3-7287a4d87143
📒 Files selected for processing (2)
packages/nemo_evaluator_sdk/examples/hermes/example.pypackages/nemo_evaluator_sdk/tests/agent_eval/test_hermes_example.py
cb8030a to
582e20a
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@packages/nemo_evaluator_sdk/src/nemo_evaluator_sdk/agent_eval/docs/architecture.md`:
- Line 2: Update the architecture document heading so it begins with the
required H1 title, then retain “GenericAgent streaming with optional
translation” as an H2 with blank lines before and after it to satisfy MD041 and
MD022.
- Around line 467-470: Add a tab set in the architecture documentation section
containing both the existing validated Python SDK configuration and an
equivalent validated CLI configuration for the GenericAgent setup. Preserve the
current Python example, add the required CLI alternative with matching URL and
agent settings, and use the documentation’s established tab-set syntax.
- Around line 525-529: Append a “Next Steps” section to the end of
architecture.md, adding cross-links to related streaming configuration and
reference documentation. Keep the existing architecture content unchanged and
use the repository’s established documentation link style and relevant
destination pages.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 229b67c9-42a7-4f81-add4-1e9ee5da1b4e
📒 Files selected for processing (4)
docs/evaluator/agent-eval/evaluate-deployed-agent.mdxpackages/nemo_evaluator_sdk/examples/hermes/example.pypackages/nemo_evaluator_sdk/src/nemo_evaluator_sdk/agent_eval/docs/architecture.mdpackages/nemo_evaluator_sdk/tests/agent_eval/test_hermes_example.py
🚧 Files skipped from review as they are similar to previous changes (2)
- docs/evaluator/agent-eval/evaluate-deployed-agent.mdx
- packages/nemo_evaluator_sdk/examples/hermes/example.py
Signed-off-by: Nick Goncharenko <[email protected]>
Signed-off-by: Nick Goncharenko <[email protected]>
Signed-off-by: Nick Goncharenko <[email protected]>
Signed-off-by: Nick Goncharenko <[email protected]>
Signed-off-by: Nick Goncharenko <[email protected]>
Signed-off-by: Nick Goncharenko <[email protected]>
Signed-off-by: Nick Goncharenko <[email protected]>
3e2fba3 to
479e9c2
Compare
Summary
/v1/responsesSSE evaluation usingGenericAgentresponse.completedframe into ATIF-v1.7 with token metricsresponse_pathis applied to SSEdata:frames and how custom translators consume captured framesWhy
Customers evaluating custom streaming agents need a concrete example of keeping the shared HTTP/SSE transport generic while translating application-specific frames into canonical trajectory evidence.
The example validates
API_SERVER_KEYbefore transport, points to the Hermes API-server setup documentation when it is missing, and never embeds or prints the credential.Validation
uv run --frozen pytest packages/nemo_evaluator_sdk/tests/agent_eval/test_hermes_example.py -q— 7 passedruff checkandruff format --checkty checkmake docs-checkgit diff --check origin/main...HEADLive Hermes validation was skipped because
API_SERVER_KEYis not exported in this environment; the recorded-SSE path validates the complete request and response flow.Linear
AALGO-353 — GenericAgent Custom Stream Parsing Docs
Summary by CodeRabbit
Summary by CodeRabbit
New Features
Documentation
Bug Fixes
Tests