Grinning Cat PHP SDK is a library to help the implementation of Grinning Cat on a PHP Project
To install GrinningCat PHP SDK you can run this command:
composer require matteocacciola/grinning-cat-php-sdkInitialization and usage:
use DataMat\GrinningCat\GrinningCatClient;
use DataMat\GrinningCat\Clients\HttpClient;
use DataMat\GrinningCat\Clients\WSClient;
$grinningCatClient = new GrinningCatClient(
new WSClient('grinning_cat_core', 1865, null),
new HttpClient('grinning_cat_core', 1865, null)
);Send a message to the websocket:
$notificationClosure = function (string $message) {
// handle websocket notification, like chat token stream
}
// result is the result of the message
$result = $grinningCatClient->message()->sendWebsocketMessage(
new Message("Hello world!", 'user', []), // message body
$notificationClosure // websocket notification closure handle
);Load data to the rabbit hole:
//file
$promise = $grinningCatClient->rabbitHole()->postFile($uploadedFile->getPathname());
$promise->wait();
//url
$promise = $grinningCatClient->rabbitHole()->postWeb($url);
$promise->wait();Memory management utilities:
$grinningCatClient->memory()->getMemoryCollections(); // get number of vectors in the working memory
$grinningCatClient->memory()->getMemoryRecall("HELLO"); // recall memories by text
//delete memory points by metadata, like this example delete by source
$grinningCatClient->memory()->deleteMemoryPointsByMetadata(Collection.Declarative, ["source" => $url]);