Skip to content

oliverearl/nomiai-php-laravel

Repository files navigation

Nomi.ai Laravel Wrapper for PHP Library

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

This is a wrapper for the Nomi.ai PHP library for easy integration into Laravel applications. Nomi.ai is a companionship application that uses artificial intelligence.

You will need at least PHP 8.3 with the JSON extension, and Laravel 11 or above.

Installation

You can install the package via composer:

composer require oliverearl/nomiai-php-laravel

You can publish the config file with:

php artisan vendor:publish --tag="nomiai-php-laravel-config"

Usage

To get started, you simply need to add your Nomi.ai API key to your .env. file under NOMIAI_API_KEY. You can also provide a custom endpoint under NOMIAI_ENDPOINT if you need this functionality.

From here, you can access the Nomi.ai PHP library using its facade. Laravel will automatically use your default HTTP library, however that might be configured.

use \Nomiai\PhpSdk\Laravel\Facades\NomiAI;

/** @var array<int, \Nomiai\PhpSdk\Resources\Nomi> $nomis */
$nomis = NomiAI::getNomis();

$conversation = NomiAi::sendMessageToNomi(collect($nomis)->first(), 'Hello Nomi!');

Please check the PHP library documentation for more information on available functionality.

Testing

Tests are run using the Pest testing framework. You can run the suite like so:

composer test

Code Style

Laravel Pint is used to maintain the PER coding style. The linter can be run using:

composer format

There are Pest architecture tests that also attempt to maintain certain conventions, including the use of strict typing where possible.

Changelog

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

Contributing

Your contributions are warmly welcomed! Anything from documentation, to optimisations, and additional tests. Pull requests must pass the existing test suite and conform to the required code style.

For new functionality, adequate tests must be included!

Credits

License

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