1. Go to this page and download the library: Download prism-php/bedrock 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/ */
prism-php / bedrock example snippets
'bedrock' => [ // Key should match Bedrock::KEY
'region' => env('AWS_REGION', 'us-east-1'),
// Set to true to ignore other auth configuration and use the AWS SDK default credential chain
// read more at https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials_default_chain.html
'use_default_credential_provider' => env('AWS_USE_DEFAULT_CREDENTIAL_PROVIDER', false),
'api_key' => env('AWS_ACCESS_KEY_ID'), // Ignored with `use_default_credential_provider` === true
'api_secret' => env('AWS_SECRET_ACCESS_KEY'), // Ignored with `use_default_credential_provider` === true
'session_token' => env('AWS_SESSION_TOKEN'), // Only
use Prism\Prism\Prism;
use Prism\Bedrock\Bedrock;
$response = Prism::text()
->using(Bedrock::KEY, 'anthropic.claude-3-sonnet-20240229-v1:0')
->withPrompt('Explain quantum computing in simple terms')
->asText();
echo $response->text;
use Prism\Prism\Prism;
use Prism\Bedrock\Bedrock;
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(Bedrock::KEY, 'anthropic.claude-3-sonnet-20240229-v1:0')
->withSchema($schema)
->withPrompt('List the top 3 programming languages')
->asStructured();
// Access your structured data
$data = $response->structured;
use Prism\Prism\Prism;
use Prism\Bedrock\Bedrock;
$response = Prism::embeddings()
->using(Bedrock::KEY, 'cohere.embed-english-v3')
->fromArray(['The sky is blue', 'Water is wet'])
->asEmbeddings();
// Access the embeddings
$embeddings = $response->embeddings;
use Prism\Prism\Prism;
use Prism\Bedrock\Bedrock;
$response = Prism::text()
->using(Bedrock::KEY, urlencode('arn:aws:bedrock:us-east-1:999999999999:inference-profile/us.anthropic.claude-3-7-sonnet-20250219-v1:0'))
->withPrompt('Explain quantum computing in simple terms')
->asText();
use Prism\Prism\Prism;
use Prism\Bedrock\Bedrock;
use Prism\Bedrock\Enums\BedrockSchema;
$response = Prism::text()
->using(Bedrock::KEY, 'anthropic.claude-3-sonnet-20240229-v1:0')
->withProviderOptions(['apiSchema' => BedrockSchema::Converse])
->withPrompt('Explain quantum computing in simple terms')
->asText();
use Prism\Prism\Prism;
use Prism\Bedrock\Bedrock;
use Prism\Prism\ValueObjects\Messages\UserMessage;
$response = Prism::text()
->using(Bedrock::KEY, 'anthropic.claude-3-sonnet-20240229-v1:0')
->withMessages([
(new UserMessage('Message with cache breakpoint'))->withProviderOptions(['cacheType' => 'ephemeral']),
(new UserMessage('Message with another cache breakpoint'))->withProviderOptions(['cacheType' => 'ephemeral']),
new UserMessage('Compare the last two messages.')
])
->asText();
use Prism\Prism\Prism;
use Prism\Bedrock\Bedrock;
use Prism\Prism\ValueObjects\Messages\UserMessage;
Prism::structured()
->withSchema($schema)
->using('bedrock', 'anthropic.claude-3-5-haiku-20241022-v1:0')
->withProviderOptions([
// Override the default message of "Respond with ONLY JSON (i.e. not in backticks or a code block, with NO CONTENT outside the JSON) that matches the following schema:"
'jsonModeMessage' => 'My custom message',
])
->withPrompt('My prompt')
->asStructured();
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.