AI Agents
Creating your first agent ๐Ÿค–๐Ÿง‘โ€๐Ÿ’ป
Bookmark

Creating your first agent ๐Ÿค–๐Ÿง‘โ€๐Ÿ’ป

Introduction

Once you've installed โ†—๏ธ๏ธ the uAgents library, it's quite simple to get a minimal use case running. Let our first agent be a simple inialisation and printing out the agent's name.

The agent:

  1. Let's create a Python script for this task, and name it by running: touch agent.py

  2. We then need to import the Agent and Context classes from the uagents library, and then create an agent using the class Agent:

    from uagents import Agent, Context
    alice = Agent(name="alice", seed="alice recovery phrase")

    It is optional but useful to include a seed parameter when creating an agent to set fixed addresses โ†—๏ธ๏ธ. Otherwise, random addresses will be generated every time you run the agent. Your address is kind of important, as this is how other agents will identify you.

  3. Let's define a say_hello() function for our agent to print a message periodically saying hello, my name is ...:

    @alice.on_event("startup")
    async def say_hello(ctx: Context):
        ctx.logger.info(f'hello, my name is {ctx.name}')
     
    if __name__ == "__main__":
        alice.run()

    The .on_event("startup") decorator defines a behavior for this agent when it is run. In this case, the agent will execute the say_hello() function when the agent starts. The Context object is a collection of data and functions related to the agent. In this case, we just use the agent's name, alice. The agent executes the function and uses the ctx.logger.info() method to print the message.

  4. Save the script.

The overall script should look as follows:

agent.py
from uagents import Agent, Context
 
alice = Agent(name="alice", seed="alice recovery phrase")
 
@alice.on_event("startup")
async def say_hello(ctx: Context):
    ctx.logger.info(f'hello, my name is {ctx.name}')
 
if __name__ == "__main__":
    alice.run()

Run your agent

Make sure to have activated your virtual environment correctly.

Run the script: python agent.py

The output would be:

[alice]: hello, my name is alice

Congratulations, you have just created your first Agent! We recommend learning about interval tasks โ†—๏ธ next, then if you want to move really fast going to the Communicating with other Agents guide after.

Was this page helpful?

Bookmark