Prism Vertex supports 11 different AI providers. Here are examples with the most popular ones:
use Prism\Prism\Prism;use Prism\Vertex\Enums\Vertex;$response = Prism::text() ->using(Vertex::Gemini, 'gemini-2.5-flash') ->withPrompt('Write a haiku about programming') ->asText();
use Prism\Prism\Prism;use Prism\Vertex\Enums\Vertex;use Prism\Prism\Schema\ObjectSchema;use Prism\Prism\Schema\StringSchema;use Prism\Prism\Schema\ArraySchema;$schema = new ObjectSchema( name: 'languages', description: 'Top programming languages', properties: [ new ArraySchema( 'languages', 'List of programming languages', items: new ObjectSchema( name: 'language', description: 'Programming language details', properties: [ new StringSchema('name', 'The language name'), new StringSchema('popularity', 'Popularity description'), ] ) ) ]);$response = Prism::structured() ->using(Vertex::Gemini, 'gemini-2.5-flash') ->withSchema($schema) ->withPrompt('List the top 3 programming languages') ->asStructured();$data = $response->structured;// $data is now a PHP array matching your schema
Create vector embeddings for semantic search and similarity:
use Prism\Prism\Prism;use Prism\Vertex\Enums\Vertex;$response = Prism::embeddings() ->using(Vertex::Gemini, 'text-embedding-005') ->fromInput('The sky is blue') ->asEmbeddings();$embeddings = $response->embeddings;// $embeddings is an array of floating-point numbers