PHP code example of asterixcapri / neuron-interaction
1. Go to this page and download the library: Download asterixcapri/neuron-interaction library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
asterixcapri / neuron-interaction example snippets
use NeuronAI\Agent\Agent;
use NeuronInteraction\Session\SessionStore;
use NeuronInteraction\Storage\FileStorage;
$storage = new FileStorage(__DIR__ . '/interaction-state');
$sessionStore = new SessionStore($storage, 'local-user');
$agent = new Agent();
$agent->setChatHistory($sessionStore->create());
// After the Agent has exchanged messages, list recognizable Sessions.
foreach ($sessionStore->summaries() as $session) {
// Render $session->title according to your Adapter's rules.
// Resume a chosen Session by installing its History on the Agent:
// $history = $sessionStore->read($session->key);
// if ($history !== null) { $agent->setChatHistory($history); }
}
use NeuronInteraction\InputHistory\InputHistory;
$inputs = new InputHistory($storage);
$inputs->record('/resume session-key');
$inputs->record('A message exactly as submitted');
$submitted = $inputs->entries(); // Oldest first, across all Sessions.
$recalled = $inputs->older('Unsubmitted draft');
$newer = $inputs->newer(); // Restores the draft past the newest input.
$navigating = $inputs->isNavigating();
$inputs->leave(); // Discards the navigation position and saved draft.
use NeuronInteraction\Command\Commands;
use NeuronInteraction\Command\HelpCommand;
use NeuronInteraction\Command\LeaveCommand;
use NeuronInteraction\Command\ClearCommand;
use NeuronInteraction\Command\ResumeCommand;
$commands = new Commands([
new ClearCommand(),
new ResumeCommand(),
new HelpCommand(),
new LeaveCommand(),
]);
// $adapter connects the Commands to your application.
$output = $commands->run('/resume', '', $adapter);
use NeuronInteraction\Command\CommandAdapterInterface;
use NeuronInteraction\Command\CommandInterface;
final class HelloCommand implements CommandInterface
{
public function name(): string
{
return '/hello';
}
public function describe(): string
{
return 'Say hello.';
}
public function run(CommandAdapterInterface $adapter, string $value): void
{
$adapter->notify('Hello!');
}
}
$commands->addCommand(new HelloCommand());