Files
archived-ai/examples/perplexity/stream.php
2026-01-23 20:05:26 +01:00

35 lines
956 B
PHP

<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use Symfony\AI\Platform\Bridge\Perplexity\PlatformFactory;
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
require_once __DIR__.'/bootstrap.php';
$platform = PlatformFactory::create(env('PERPLEXITY_API_KEY'), http_client());
$messages = new MessageBag(
Message::forSystem('You are a thoughtful philosopher.'),
Message::ofUser('What is the purpose of an ant?'),
);
$result = $platform->invoke('sonar', $messages, [
'stream' => true,
]);
foreach ($result->asStream() as $word) {
echo $word;
}
echo \PHP_EOL;
print_search_results($result->getResult()->getMetadata()->get('search_results'));
print_citations($result->getResult()->getMetadata()->get('citations'));