2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenHandsでBedrockからClaude4を手っ取り早く動かす

Posted at

所管

OpenHandsをBedrock経由で動かす方法がどこにも書いてなく苦戦した件

前提条件

  • MacOS on Dockerがインストール済み
  • Bedrockのus-east-1リージョンで、Claude Sonnet 4をリクエスト済み
  • AmazonBedrockFullAccessポリシーを持つIAMユーザーを作成して、アクセスキーを発行済み(ガバガバなのでちゃんと運用する際は、権限絞ってIAMロールで使用しましょう)

docker-composeの設定

comopose.yaml

version: "3.8"

services:
  openhands:
    image: docker.all-hands.dev/all-hands-ai/openhands:0.39
    container_name: openhands-app
    ports:
      - "127.0.0.1:3000:3000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - .openhands-state:/.openhands-state
    env_file:
      - .env
    environment:
      - SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik

.env設定

はまりどころ1
LLM_AWS_...の環境変数と
AWS_...の環境変数がどっちも必要っぽい

下記のDocのようにLLM_AWS_...の環境変数だけでは認識されない

はまりどころ2
LLM_MAX_INPUT_TOKENS
LLM_MAX_OUTPUT_TOKENS

がデフォルト0のため、設定しないと429でるっぽい

.env
LLM_AWS_REGION_NAME="us-east-1"
LLM_AWS_ACCESS_KEY_ID="任意の文字列"
LLM_AWS_SECRET_ACCESS_KEY="任意の文字列"
AWS_REGION_NAME="us-east-1"
AWS_ACCESS_KEY_ID="任意の文字列"
AWS_SECRET_ACCESS_KEY="任意の文字列"
LLM_RETRY_MIN_WAIT="60"
LLM_RETRY_MAX_WAIT="120"
LLM_MAX_INPUT_TOKENS="10240"
LLM_MAX_OUTPUT_TOKENS="10240"

上記設定後

docker compose up

でOpenHandsを立ち上げ、

にアクセスする

OpenHandsでLLMにBedrockを設定

  • カスタムモデル: bedrock/us.anthropic.claude-sonnet-4-20250514-v1:0
  • ベースURL: https://bedrock-runtime.us-east-1.amazonaws.com
  • APIキー: 任意の文字列
  • エージェント: CodeActAgent

スクリーンショット 2025-05-29 15.37.46.png

会話してみる

スクリーンショット 2025-05-29 15.40.31.png

スクリーンショット 2025-05-29 15.41.10.png

ようやく動く

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?