ショコラ
Amazon Bedrock を使う
もっさん先輩
Ubuntuコンテナ を起動します。
docker run -it ubuntu:20.04 bash
awscliコマンド をインストールします。
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y awscli
aws configure を実行します。
aws configure
こんな感じで入力すると、ホームに .aws フォルダーができあがります。
# aws configure
AWS Access Key ID [None]: XXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]:
★アクセスキーとシークレットアクセスキーは、「セキュリティ認証情報」の「アクセスキーを作成」で作成することができます。
npm をインストールします。
apt install npm
bedrock をインストールします。
npm i @aws-sdk/client-bedrock
PHP の ライブラリをインストールします。
composer require aws/aws-sdk-php
composer require aws/aws-sdk-php
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y awscli
sudo apt install unzip
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Aws\S3\S3Client;
use Aws\Bedrock\BedrockClient;
use Aws\Sdk;
use Aws\Exception\AwsException;
class AwsBedrock extends Command
{
protected $signature = 'bedrock';
protected $description = '';
public function handle()
{
$sdk = new Sdk([
'region' => 'us-east-1', // 使用するリージョンを指定
#'region' => 'us-west-2', // 使用するリージョンを指定
]);
// Amazon Bedrockのクライアントを作成
$bedrockClient = $sdk->createBedrockRuntime();
// Bedrock API に テキスト を渡す
$body = [
'inputText' => 'golf',
'dimensions' => 512,
'normalize' => true,
];
$result = $bedrockClient->invokeModel([
"modelId" => "amazon.titan-embed-text-v2:0",
"body" => json_encode($body),
"contentType" => "application/json",
"accept" => "*/*",
]);
// 結果の解析(ベクトルが含まれる場合)
$output = json_decode($result['body']);
$vector = $output->embedding;
dd( $vector );
}
}
以上