CheshireCat PHP SDK is a library to help the implementation of Cheshire Cat on a PHP Project
To install CheshireCat PHP SDK you can run this command:
composer require matteocacciola/cheshirecat-php-sdk
Initialization and usage:
use DataMat\CheshireCat\CheshireCatClient;
use DataMat\CheshireCat\Clients\HttpClient;
use DataMat\CheshireCat\Clients\WSClient;
$cheshireCatClient = new CheshireCatClient(
new WSClient('cheshire_cat_core', 1865, null),
new HttpClient('cheshire_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 = $cheshireCatClient->message()->sendWebsocketMessage(
new Message("Hello world!", 'user', []), // message body
$notificationClosure // websocket notification closure handle
);
Load data to the rabbit hole:
//file
$promise = $cheshireCatClient->rabbitHole()->postFile($uploadedFile->getPathname(), null, null);
$promise->wait();
//url
$promise = $cheshireCatClient->rabbitHole()->postWeb($url, null,null);
$promise->wait();
Memory management utilities:
$cheshireCatClient->memory()->getMemoryCollections(); // get number of vectors in the working memory
$cheshireCatClient->memory()->getMemoryRecall("HELLO"); // recall memories by text
//delete memory points by metadata, like this example delete by source
$cheshireCatClient->memory()->deleteMemoryPointsByMetadata(Collection.Declarative, ["source" => $url]);