Bookmark
Register a dice roll agent as a service
Introduction
This file can be run on any platform supporting Python, with the necessary install permissions. To enable this on DeltaV ↗️ you will need to create and register a service. You will need to run this file on a device you are able to open a port on.
Guide
Supporting documentation
The agent
agent.py
import random
# third party modules used in this example
from pydantic import Field
from ai_engine import UAgentResponse, UAgentResponseType
class DiceRoll(Model):
num_rolls: int = Field(description="Number of rolls.")
dice_roll_protocol = Protocol("DiceRoll")
@dice_roll_protocol.on_message(model=DiceRoll, replies={UAgentResponse})
async def roll_dice(ctx: Context, sender: str, msg: DiceRoll):
result = ", ".join([str(random.randint(1, 6)) for _ in range(msg.num_rolls)])
message = f"Dice roll results: {result}"
await ctx.send(
sender, UAgentResponse(message=message, type=UAgentResponseType.FINAL)
)
agent.include(dice_roll_protocol, publish_manifest=True)