前書き
ご存知の通り、2024年7月29日からCloud9がサービス終了しました。
最近、Cloud9を使ってBedRockの学習をしている筆者にとって、まさに青天の霹靂です。
いくつか代替案を探してみたところ、AWS CloudShell
にたどり着きました。
注意
2024年8月20日時点で使用していますが、これがAWS CloudShellの正しい使い方かは確信が持てません。慎重に使いましょう。
やり方
セットアップの手順は、以下の記事に詳しく書かれています。
ここでは、必要な作業の一部を抜粋してご紹介します。
- AWS CloudShellを開き
- VSCodeをインストール
$ curl -L "https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64" -o vscode_cli_alpine_x64_cli.tar.gz
$ tar zxvf vscode_cli_alpine_x64_cli.tar.gz
$ mkdir -p ~/.local/bin
$ mv code ~/.local/bin/
- VSCodeをサーバーとして起動する
$ code serve-web --without-connection-token --accept-server-license-terms
*
* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).
*
Web UI available at http://127.0.0.1:8000
- 別のTabを開きPinggyを使い、8000番ポートに一時的なパブリックURLを付与する
VSCodeを開けたら、ターミナルを開き、必要なライブラリーを入れていきます。
pip install langchain==0.2.0 langchain-aws==0.1.4 langchain-community==0.2.0
RedRockにmodelへのアクセス付与されてることを確認しましょう。
アクセス可能であれば、下記のコードを実行します。
app.py
from langchain_aws import ChatBedrock
from langchain_core.messages import HumanMessage, SystemMessage
chat = ChatBedrock(
model_id="anthropic.claude-3-sonnet-20240229-v1:0",
model_kwargs={"max_tokens": 1000},
)
messages = [
SystemMessage(content="あなたのタスクはユーザーの問題を日本語で明確に答えることです。"),
HumanMessage(content="ビールの原材料教えて欲しい"),
]
response = chat.invoke(messages)
print(response.content)
動作に問題はなさそうですね。これでやっと勉強を進められます。
@moritalous さんに感謝です
参考文献