matteocacciola/cheshirecat-php-sdk

Cheshire Cat PHP Sdk

dev-master 2025-02-09 22:25 UTC

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]);