Skip to content

PHP Library client to help cheshire cat communication in your project

License

Notifications You must be signed in to change notification settings

matteocacciola/cheshirecat-php-sdk

This branch is 56 commits ahead of AlboCode/ccatphp-sdk:master.

Folders and files

NameName
Last commit message
Last commit date
Nov 24, 2024
Nov 24, 2024
Apr 13, 2025
Feb 9, 2025
Dec 18, 2023
Dec 18, 2023
Feb 1, 2025
Nov 22, 2024
Feb 1, 2025
Feb 3, 2025
Nov 22, 2024
Nov 24, 2024
Dec 18, 2023

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

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%