Google Pixel のLinuxターミナルを使ってAWS Bedrock APIを実行する

# はじめに

2025年3月のPixel Feature DropでGoogle Pixel端末にLinuxターミナルが追加されました。これより、Linuxターミナルで様々なLinuxコマンドを実行できるようになりました。
この記事では、Linuxターミナルを使って [Amazon Bedrock+ Anthropic Claude 3 Sonnetでストリーミングテキストを生成する](https://qiita.com/revsystem/items/bb7a303f5be93f8d0f18)の記事で作成したコードを実行する方法を紹介します。

https://qiita.com/revsystem/items/bb7a303f5be93f8d0f18

# 前提条件

- Android 15を搭載したGoogle Pixel端末
- 2025年3月のPixel Feature Dropが適用済み

## 推奨条件

- Bluetooth接続のキーボード

# 環境構築

## 開発者向けオプションの有効化

Google Pixel端末の設定アプリから `デバイス情報` を選択し、 `ビルド番号` を7回タップして開発者向けオプションを有効化します。

![設定アプリ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/54c67d85-1690-456e-9858-54f71f27ffd3.png)

デバイス情報のビルド番号を7回タップ。
![デバイス情報のビルド番号を7回タップ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/99660a53-d7d8-47df-8bfc-54a80f1cfeb5.png)

開発者向けオプションが有効化されたことを確認。
![開発者向けオプションが有効化されたことを確認](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/110776e7-f51b-456a-a0d3-5716dbcfd7e6.png)

## Linuxターミナルの有効化

開発者向けオプションの`Linux開発環境`をタップ。
![開発者向けオプションの`Linux開発環境`をタップ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/a3346bba-0950-4998-8212-98df6bd64ee5.png)

Linuxターミナルを有効化する。
![Linuxターミナルを有効化する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/05c7f4cc-cf93-401a-b389-46e1197c94bf.png)

Linuxターミナルをインストールする。
![Linuxターミナルをインストールする](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/c46804a8-1e1c-4304-a731-689b5c53405f.png)

アプリ一覧から`ターミナル`を実行すると、Linuxターミナルが起動します。
![ターミナルを起動](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/376c776a-95a8-4543-9bce-f93144fbd507.png)

## インストール済みパッケージを更新

aptコマンドを使ってインストール済みパッケージを更新します。

```console
sudo apt update && sudo apt upgrade
```

![インストール済みパッケージを更新](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/a7246254-0d2d-40cb-a980-3673b7888531.png)

## 必要なパッケージをインストール

aptコマンドを使って必要なパッケージをインストールします。実行するコードやAWSのクレデンシャルファイルを他のサーバーなどから取得する場合はSSH接続が必要となるので、openssh-clientをインストールします。

```console
sudo apt install openssh-client
```

![008.png_resized.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/d2a5d7cb-e1e4-4147-a7e9-ca97466e985d.png)


## Python 環境の準備

Pythonは、デフォルトで 3.11.2 がインストールされています。

### pipのインストール

aptコマンドを使ってPython3-pipとPython3.11-venvのパッケージをインストールします。

```console
sudo apt install python3-pip
sudo apt install python3.11-venv
```

### venvを使ってPython 3.11の仮想環境を作成

venvコマンドを使ってPython 3.11の仮想環境を作成します。

```console
python3 -m venv .venv
source .venv/bin/activate
```

pipコマンドを使ってPython 3.11の仮想環境に必要なパッケージをインストールします。

```console
pip install --upgrade pip
pip install boto3
```

# 記事のコードを実行

[Amazon Bedrock+ Anthropic Claude 3 Sonnetでストリーミングテキストを生成する](https://qiita.com/revsystem/items/bb7a303f5be93f8d0f18)のコード(stream.py)を実行します。
今回、コードやAWSのクレデンシャルファイルは事前に手元のRaspberry Pi 4に置いてSCPコマンドで取得しました。

```console
python3 stream.py
```

このように、ストリーミングでテキストを生成するコードを実行することができました。

![ストリーミング出力のサンプル01](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/aefadfaf-f63c-4386-9919-abeb9e19f865.gif)


別のコードで、コマンドライン引数にプロンプトを指定してテキストを生成するコードを実行した例です。
![ストリーミング出力のサンプル02](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/ef04cc6d-5831-4868-b128-ed9211865646.gif)

# AWS CLIのインストール

今回の記事では使用しませんでしたが、AWS CLIのインストールも可能です。[AWSのドキュメント](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html)に従ってインストールします。unzipコマンドがないので先にインストールします。

```console
sudo apt install unzip
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

unzipコマンドのインストール。
![unzipコマンドのインストール](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/25bfa89e-0a71-4045-857d-20c35d4537a1.png)

AWS CLIのダウンロード。
![AWS CLIのダウンロード](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/c916eb83-b0de-4428-a974-17ccd95de9fe.png)

awsコマンドの実行。
![awsコマンドの実行](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61809/b60a1f71-d2a0-4595-af17-4c0f1902b1de.png)

# まとめ

Google Pixel端末のLinuxターミナルでAWS Bedrock APIを実行することができました。AWS CLIのインストールも可能です。今回はPythonコードを実行したのみですが、必要なアプリケーションをインストールし、簡単な動作検証を行うような環境を整えることもできそうです。
AWS CLIも実行できるため、実用面はさておきデプロイ環境を整備することも可能かも知れません。