// !/usr/bin/env python // Copyright 2024 The HuggingFace Inc. team. // All rights reserved. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package hil_serl; // LearnerService: the Actor calls this to push transitions. // The Learner implements this service. service LearnerService { // Actor -> Learner to store transitions rpc SendTransition(Transition) returns (Empty); rpc SendInteractionMessage(InteractionMessage) returns (Empty); } // ActorService: the Learner calls this to push parameters. // The Actor implements this service. service ActorService { // Learner -> Actor to send new parameters rpc StreamTransition(Empty) returns (stream ActorInformation) {}; rpc SendParameters(Parameters) returns (Empty); } message ActorInformation { oneof data { Transition transition = 1; InteractionMessage interaction_message = 2; } } // Messages message Transition { bytes transition_bytes = 1; } message Parameters { bytes parameter_bytes = 1; } message InteractionMessage { bytes interaction_message_bytes = 1; } message Empty {}