Download the PHP package aimatchfun/laravel-ai without Composer

On this page you can find all versions of the php package aimatchfun/laravel-ai. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-ai

Laravel AI

A Laravel package that provides a fluent interface for interacting with AI providers:

Installation

You can install the package via composer:

The package will automatically register itself.

Standalone Usage (Without Laravel)

If you want to test the examples without installing Laravel, see STANDALONE_EXAMPLES.md for instructions on running examples with minimal dependencies.

You can publish the configuration file with:

This will publish a config/ai.php file where you can configure your AI providers.

Preview Messages

The package now supports preview messages to provide context for conversations. You can pass an array of messages in the format that AI models expect:

Or use the Message object for better type safety:

Configuration

After publishing the configuration file, you can configure your AI providers in the config/ai.php file:

You can also set these values in your .env file:

Timeout: You can set the timeout (in seconds) for each provider. If a request takes longer than this value, it will fail with a timeout error. The default is 30 seconds for all providers.

Usage

The package provides a fluent interface through the AI facade:

About the AIResponse object

The run() method returns an instance of AIResponse:

Standard fields:

Ollama-specific fields:

Anthropic-specific fields:

OpenAI-specific fields:

Novita-specific fields:

Together-specific fields:

Common fields:

Note: Token information is only available for providers that return usage data in their API responses. For providers like Ollama, these values will be null. Provider-specific fields are only available when using the corresponding provider.

Preview Messages

The previewMessages method allows you to provide context for your AI conversations by passing an array of previous messages. This is useful for maintaining conversation context without persisting data to a database.

Example:

Response Format (Structured Outputs)

The responseFormat method allows you to request structured outputs from the AI, such as JSON objects following a specific schema. This is useful when you need the AI to return data in a consistent, parseable format.

Supported Providers: Novita only

Example with JSON schema:

Note: Currently, only the Novita provider supports structured outputs via responseFormat. Please consult the Novita documentation on structured outputs to confirm which models support this feature and for specific schema requirements.

Available Providers Enum

The package provides an enum with all available AI providers for easy access and type safety:

Advanced Parameters (NovitaProvider)

The NovitaProvider supports advanced parameter control methods for fine-tuning AI responses. These methods can be chained together when using the provider directly:

Available Methods:

Note: All parameters are optional. If not specified, the API will use its default values. Parameters are only included in the request payload when explicitly set.

Available Providers Enum

The package provides an enum with all available AI providers for easy access and type safety:

Available Models

Novita Models

The package provides an enum with all available Novita models for easy access and type safety:

Note: The list of available models in the enum may become outdated as Novita adds or removes models. Always check the official Novita documentation for the most current list of available models.

Extending

You can add your own AI providers by extending the AIService class in a service provider:

Your custom provider needs to implement the AIMatchFun\LaravelAI\Contracts\AIProvider interface or extend the AIMatchFun\LaravelAI\Services\Providers\AbstractProvider class.

Testing

The package includes integration tests for all supported AI providers. These tests make real API calls to verify that each provider works correctly.

Setup

Before running the tests, create a .env file in the root directory with the necessary environment variables:

Edit the .env file and add your API keys. You don't need to configure all providers - only the ones you want to test.

Running Tests

Run all integration tests:

Run tests for a specific provider:

Run a specific test:

Test Behavior

Test Coverage

Each provider is tested for:

  1. ✅ Basic response generation (test_can_generate_response)
  2. ✅ Response generation with system instruction (test_can_generate_response_with_system_instruction)
  3. ✅ Streaming response generation (test_can_generate_stream_response)
  4. ✅ Temperature configuration (test_can_set_temperature)
  5. ✅ Model configuration (test_can_set_model)
  6. ✅ Usage data retrieval (test_can_get_usage_data) - when supported
  7. ✅ Exception validation when no messages provided (test_throws_exception_when_no_user_messages)

Important Notes

Simple PHP Test Scripts

Alternatively, you can use simple PHP scripts to test each provider individually:

These scripts will:

Contributing

Contributions are welcome! If you would like to improve this package, please follow these steps:

  1. Fork the repository.
  2. Create a branch for your feature or bugfix (git checkout -b my-feature).
  3. Make your changes and add tests if necessary.
  4. Commit your changes (git commit -am 'Add new feature').
  5. Push to your branch (git push origin my-feature).
  6. Open a Pull Request describing your changes.

Please follow the project's code style and write tests whenever possible.

License

This package is open-sourced software licensed under the MIT license.


All versions of laravel-ai with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3|^8.4
illuminate/support Version ^11.0|^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package aimatchfun/laravel-ai contains the following files

Loading the files please wait ...