-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH: Adjudicators #17
Merged
Merged
Conversation
This file contains 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
tacaswell
reviewed
Mar 17, 2023
tacaswell
reviewed
Mar 17, 2023
tacaswell
reviewed
Mar 17, 2023
Doc: Tom suggestions Co-authored-by: Thomas A Caswell <[email protected]>
maffettone
force-pushed
the
enh-adjudicators-cherry
branch
from
March 17, 2023 19:55
d001934
to
82b4cb7
Compare
- Kafka timeout set large as they can be brittle on timing
|
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.
Add adjudicator base class and two simple subclasses in preparation for joint BMM/PDF experiment.
Description
Each adjudicator subclass is required to implement
make_judgments
, which accepts no args or kwargs, and should return a list of tuples that contain the RE manager API, the agent name, and the Suggestion.These tuples will by validated by Pydantic models, or can be
Judgment
objects.This enables an agent to suggest many plans at once, to multiple beamlines!
Adjustable properties can be incorperated by the server, allowing for web and caproto control.
make_judgments
can be called promptly after every new document, or only on user command.Motivation and Context
The purpose of an adjudicator is to provide another layer of misdirection between the agents and the RunEngine Manager.
This is not required, as agents can send plans directly to the queue.
Alternatively, many agents can send plans to an adjudicator that acts as a meta-agent, filtering and deciding which plans from many agents make it to the queue.
In this way, the adjudicator acts as an extra experiment manager.
Feedback is not provided directly to the agents (i.e. no two way communication), so this is in effect, much like how high level human management communicates with low level employees.
Summary of Changes for Release Notes
Fixed
Added
Changed
Removed
How Has This Been Tested?
Unit tested using
docker-compose up
from testing folder.TODO: