PHP code example of mateffy / llm-magic

1. Go to this page and download the library: Download mateffy/llm-magic 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/ */

    

mateffy / llm-magic example snippets


use Mateffy\Magic;
use Mateffy\Magic\Chat\Messages\Step;
use Mateffy\Magic\Chat\Tool;

$answer = Magic::ask('What is the capital of France?');
// -> "The capital of France is Paris."

$messages = Magic::chat()
    ->model('google/gemini-2.0-flash-lite')
    ->temperature(0.5)
    ->messages([
        Step::user([
            Step\Text::make('What is in this picture and where was it taken?'),
            Step\Image::make('https://example.com/eiffel-tower.jpg'),
        ]),
        Step::assistant([
            Step\Text::make('The picture shows the Eiffel Tower, which is located in Paris, France.'),
        ]),
        Step::user('How much is a flight to Paris?'),
    ])
    ->tools([
        Tool::make('search_flight')
            ->description('Search for flights to a given destination. Pass the departure airport code and the destination airport code in the ISO 3166-1 alpha-3 format.')
            ->callback(fn (string $from_airport_code, string $to_airport_code) {
                return app(FlightService::class)
                    ->search($from_airport_code, $to_airport_code)
                    ->toArray();
            }),
    ]);
])

$answer = Magic::chat()
    ->model('google/gemini-2.0-flash-lite')
    ->prompt('What is the capital of France?')
    ->stream()
    ->text();
    
$data = Magic::extract()
    ->schema([
        'type' => 'object',
        'properties' => [
            'name' => ['type' => 'string'],
            'age' => ['type' => 'integer'],
        ],
        '