A package that wraps several LLM providers for Laravel

dev-main 2024-06-06 21:50 UTC

This package is auto-updated.

Last update: 2024-10-20 10:20:56 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

First of all, I want to acknowledge the amazing work that Nuno and Sandro have done managing the openai-php projects including the Laravel wrapper that this package replaces for us. We wrote this package to meet a few specific needs:

  1. We need to allow users to bring their own keys and the way the client is created in the openai-php/laravel package makes that impossible.
  2. We wanted to add hooks before the request is made and after the response is received.
  3. We wanted to simplify the use of Azure and OpenRouter.ai

If none of those apply to you, then the openai-php/laravel package is a great choice, and you'll get no additional benefit from using this instead.

Support us

You can support our open-source work by sponsoring Len Woodward. Since Ed lives in Europe where taxes are a bit more complicated, he doesn't participate in the sponsorship program, but you are welcome to buy him a beer if you see him at a conference.

Installation

You can install the package via composer:

composer require artisan-build/llm

You can publish the config file with:

php artisan vendor:publish --tag="llm-config"

This is the contents of the published config file:

return [
    'azure' => [
        'deployment_id' => env('AZURE_DEPLOYMENT_ID'),
        'resource_id' => env('AZURE_RESOURCE_ID'),
        'version' => env('AZURE_VERSION'),
    ],
    'openai' => [
        'api_key' => env('OPENAI_API_KEY'),
        'organization' => env('OPENAI_ORGANIZATION'),
    ],
    'openrouter' => [
        'api_key' => env('OPEN_ROUTER_API_KEY'),
    ],
    'request_timeout' => env('OPENAI_REQUEST_TIMEOUT', 30),
]

Usage

For the full documentation, please visit our documentation site

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.