Adopt asX methods of result for better type support

This commit is contained in:
Christopher Hertel
2025-10-06 23:32:24 +02:00
parent 2a91f76a49
commit 841075569e
47 changed files with 50 additions and 50 deletions

View File

@@ -25,4 +25,4 @@ $result = $platform->invoke('gemini-2.0-flash', $messages, [
'max_tokens' => 500, // specific options just for this call
]);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('google/gemma-3-27b-it', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -41,4 +41,4 @@ $messages = new MessageBag(
$result = $platform->invoke('llama-3.3-70b-instruct', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -23,4 +23,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('claude-3-5-sonnet-20241022', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('claude-3-5-sonnet-20241022', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('claude-3-5-sonnet-20241022', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('claude-3-5-sonnet-20241022', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('claude-3-5-sonnet-20241022', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -28,4 +28,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gpt-4o-mini', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $result = $platform->invoke('llama-3.3-70B-Instruct', $messages, [
'frequency_penalty' => 0,
]);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -29,4 +29,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('claude-3-7-sonnet-20250219', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -29,4 +29,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('llama-3.2-3b-instruct', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -29,4 +29,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('nova-pro', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -33,4 +33,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('claude-3-7-sonnet-20250219', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -33,4 +33,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('nova-pro', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -180,7 +180,7 @@ function perplexity_print_citations(Metadata $metadata): void
function print_stream(ResultPromise $result): void
{
foreach ($result->getResult()->getContent() as $word) {
foreach ($result->asStream() as $word) {
echo $word;
}
echo \PHP_EOL;

View File

@@ -23,4 +23,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('llama3.1-8b', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gemini-1.5-flash', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -23,4 +23,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gemini-2.0-flash', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gemini-1.5-flash', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gemini-1.5-flash', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -25,4 +25,4 @@ $result = $platform->invoke('gemma-3-4b-it-qat', $messages, [
'max_tokens' => 500, // specific options just for this call
]);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gemma-3-4b-it-qat', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,6 +26,6 @@ $result = $platform->invoke('mistral-large-latest', $messages, [
'n' => 10,
]);
foreach ($result->getResult()->getContent() as $key => $choice) {
foreach ($result->asStream() as $key => $choice) {
echo sprintf('Choice #%d: %s', ++$key, $choice->getContent()).\PHP_EOL;
}

View File

@@ -22,4 +22,4 @@ $result = $platform->invoke('mistral-large-latest', $messages, [
'temperature' => 0.7,
]);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('mistral-small-latest', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('mistral-small-latest', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('mistral-small-latest', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -24,7 +24,7 @@ $messages = new MessageBag(
try {
$result = $platform->invoke(env('OLLAMA_LLM'), $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;
} catch (InvalidArgumentException $e) {
echo $e->getMessage()."\nMaybe use a different model?\n";
}

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gpt-4o-audio-preview', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -23,4 +23,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gpt-4o-mini?max_tokens=7', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -25,4 +25,4 @@ $result = $platform->invoke('gpt-4o-mini', $messages, [
'max_tokens' => 500, // specific options just for this call
]);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gpt-4o-mini', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gpt-4o-mini', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gpt-4o-mini', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke($model, $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -18,6 +18,6 @@ require_once dirname(__DIR__).'/bootstrap.php';
$platform = PlatformFactory::create(env('PERPLEXITY_API_KEY'), http_client());
$messages = new MessageBag(Message::ofUser('What is the best French cheese?'));
$response = $platform->invoke('sonar', $messages);
$result = $platform->invoke('sonar', $messages);
echo $response->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -18,8 +18,8 @@ require_once dirname(__DIR__).'/bootstrap.php';
$platform = PlatformFactory::create(env('PERPLEXITY_API_KEY'), http_client());
$messages = new MessageBag(Message::ofUser('What is 2 + 2?'));
$response = $platform->invoke('sonar', $messages, [
$result = $platform->invoke('sonar', $messages, [
'disable_search' => true,
]);
echo $response->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -18,7 +18,7 @@ require_once dirname(__DIR__).'/bootstrap.php';
$platform = PlatformFactory::create(env('PERPLEXITY_API_KEY'), http_client());
$messages = new MessageBag(Message::ofUser('What is the best French cheese?'));
$response = $platform->invoke('sonar', $messages, [
$result = $platform->invoke('sonar', $messages, [
'search_domain_filter' => [
'https://en.wikipedia.org/wiki/Cheese',
],
@@ -27,4 +27,4 @@ $response = $platform->invoke('sonar', $messages, [
'search_recency_filter' => 'week',
]);
echo $response->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -23,4 +23,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('llama-3.1-405b-instruct', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -23,7 +23,7 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gpt-oss-120b', $messages, ['stream' => true]);
foreach ($result->getResult()->getContent() as $word) {
foreach ($result->asStream() as $word) {
echo $word;
}
echo \PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('pixtral-12b-2409', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gemini-2.5-flash', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -23,4 +23,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gemini-2.5-flash', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gemini-2.5-pro', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -26,4 +26,4 @@ $messages = new MessageBag(
);
$result = $platform->invoke('gemini-2.5-flash', $messages);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;

View File

@@ -27,4 +27,4 @@ $messages = new MessageBag(
$result = $platform->invoke('gemini-2.5-pro', $messages, ['server_tools' => ['url_context' => true]]);
echo $result->getResult()->getContent().\PHP_EOL;
echo $result->asText().\PHP_EOL;