Download the PHP package adrenallen/ai-agents-laravel without Composer
On this page you can find all versions of the php package adrenallen/ai-agents-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download adrenallen/ai-agents-laravel
More information about adrenallen/ai-agents-laravel
Files in adrenallen/ai-agents-laravel
Package ai-agents-laravel
Short Description A package to build AI Agents on top of Laravel
License MIT
Informations about the package ai-agents-laravel
AI Agents for Laravel
Building with AI shouldn't be difficult, and AI Agents does its best to make it easy to build with AI inside of Laravel.
✍️ Spend more time writing code you care about, just provide comments and let the system take care of the rest!
📦 Agents are highly composable . Simply include the trait you need to give your AI the right capabilities for the job.
🔧 Need custom functionality or have an idea for a new AgentTrait? Create your own! Just follow the comment structure and the system will do the rest to ensure the AI understand and can use your functions!
🚀 Create a new AI Agent in <20 lines of code!
Table of Contents
- 🔧 Setup
- 👨💻 Usage
- In Console/Testing
- In Code
- 🤖 Creating a new agent
- Defining an agent function
- 🧰 Agent Traits
- 📝 Chat Models
- Currently Supported
- Adding a new chat model
- ❤️ Contributing
🔧 Setup
Install via composer
composer require adrenallen/ai-agents-laravel
You will need to publish the configuration files and fill out details based on the features you wish to use. You can publish the config files by running the following command:
php artisan vendor:publish --provider="Adrenallen\AiAgentsLaravel\AiAgentsLaravelServiceProvider"
👨💻 Usage
In Console/Testing
You can test chatting with an agent directly by using the provided artisan command
php artisan ai:chat <Agent Class>
For example, to chat with the included TestingAgent
php artisan ai:chat TestingAgent
You can type exit
to exit the chat.
In Code
🤖 Creating a new agent
To create a new agent you will want to extend the BaseAgent
class and define any additional functionality.
NOTE: If you want to require your agent to always call a function, you can extend the FunctionsAgent
instead!
The prePrompt
property is the pre-prompt that is passed to the chat model. This should describe how you want the agent to think and act.
You can use traits under AgentTraits
to pull in specific functionality you may need.
i.e. if you want your agent to be able to send text messages, you could pull in the SMSTrait
on your agent class. The bot will automatically know it is able to send text messages.
This is an example of an agent that can send text messages, do math, and get the weather.
This is the total code required to create an agent.
Defining an agent function
To define an agent function, you should follow php DocBlock to describe the params, return type, and method.
For the agent to have access to the function, you must include an additional PHPDoc block param called @aiagent-description
. This must be a string that describes the function. Any functions that include that property in the agent's class will automatically be made available to the agent.
Example of the add
function:
🧰 Agent Traits
Agent Traits can be used to plug and play functionality for an agent. Some are included in this package under the AgentTraits
namespace.
DateTrait
- Provides access to date functions (i.e. compareDates
or getCurrentDate
)
MathTrait
- Provides access to math functions (i.e. add
or subtract
)
SMSTrait
- Provides access to send SMS messages via Twilio (i.e. sendSMS
)
WeatherTrait
- Provides access to weather functions (i.e. getWeather
)
GeocodingTrait
- Provides access to geocoding functions (i.e. getLatLongOfLocation
)
It is highly encouraged that you place re-usable functions in a trait, and then pull that trait into your agent.
📝 Chat Models
Currently Supported
- GPT-3.5-turbo
- GPT-4
- Azure OpenAI
- Anthropic Claude
Adding a new chat model
New models can be added by extending AbstractChatModel
. This class provides the basic functionality required to interact with the chat model.
❤️ Contributing
Opening new issues is encouraged if you have any questions, issues, or ideas.
Pull requests are also welcome!
See our contribution guide
All versions of ai-agents-laravel with dependencies
openai-php/client Version >=0.8.0
twilio/sdk Version ^7.5
guzzlehttp/guzzle Version ^7.8
yethee/tiktoken Version ^0.5.0
illuminate/support Version ^10.40 || ^11.0