Skip to content

matteocacciola/cheshirecat-php-sdk

 
 

Repository files navigation

CheshireCat PHP SDK


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());
$promise->wait();

//url
$promise = $cheshireCatClient->rabbitHole()->postWeb($url);
$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]);

About

PHP Library client to help cheshire cat communication in your project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 97.7%
  • Makefile 1.1%
  • Other 1.2%