matteocacciola / cheshirecat-php-sdk
Cheshire Cat PHP Sdk
dev-master
2025-02-09 22:25 UTC
Requires
- guzzlehttp/guzzle: ^7.0
- phpdocumentor/reflection-docblock: ^5.3
- phrity/websocket: ^2.0
- symfony/property-access: ^7.0
- symfony/serializer: ^7.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10
This package is auto-updated.
Last update: 2025-02-09 22:26:04 UTC
README
CheshireCat PHP SDK is a library to help the implementation of Cheshire Cat on a PHP Project
Installation
To install CheshireCat PHP SDK you can run this command:
composer require matteocacciola/cheshirecat-php-sdk
Usage
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]);