Agent
Easily implement LLM interactions extending the basic Agent class.
Neuron provides you with the Agent class you can extend to inherit the main features of the framework and create fully functional agents. This class automatically manages some advanced mechanisms for you such as memory, tools and function calls, up to the RAG systems. We will go into more detail about these aspects in the following sections.
This ensure the portability of your agent because all the moving parts are encapsulated into a single entity that you can run wherever you want in your application, or release as stand alone composer packages.
Let's start creating an AI Agent summarizong YouTube videos. We start creating the YouTubeAgent
class extending NeuronAI\Agent
:
Minimal implementation
Here is an example of the minimum implementation of an agent, in the following section we will add other features and capabilities:
The only required method to implement is provider()
. It's where we assign the agent the connection to the LLM we want to use. Let's assume it's Claude by Anthropic.
System instructions
The second important building block is the system instructions. System instructions provide directions for making the AI act according to the task we want to achieve. They are fixed instructions that will be sent to the LLM on every interaction.
That’s why they are defined by an internal method, and stay encapsulated into the agent entity. Let's implement the instructions()
method:
The SystemPrompt
class is designed to take your base instructions and build a consistent prompt for the underlying model reducing the effort for prompt engineering. The properties has the following meaning:
background: Write about the role of the Agent. Think about the macro tasks it's intended to accomplish.
steps: Define the way you expect the Agent to behave. Multiple steps help the Agent to act consistently.
output: Define how you want the agent to respond. Be explicit on the format you expect.
We highly recommend to use the SystemPrompt
class to increase the quality of the results, in alternative you can just return a simple string:
Talk to the YouTubeAgent
We are ready to test how the agent respond to our message based on the new instructions.
Message
The agent always accept input as Message
class, and return Message instances.
As you saw in the example above we sent a UserMessage
instance to the agent and it responded with an AssistantMessage
instance. A list of assistant message and user message creates a chat.
Last updated