ステップ 5: Pythonコードからエージェントを呼び出す - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 5: Pythonコードからエージェントを呼び出す

このステップでは、 を使用してプログラムでエージェントを操作する方法について説明します AWS SDK for Python (Boto)。サンプルコードは、 エージェントを呼び出すためのパラメータとして AGENT ID と ALIAS ID の両方を必要とする InvokeAgent オペレーションを使用する方法を示しています。このコードは、エージェントにプロンプトを送信し、レスポンスを処理し、ストリーミングレスポンスモードと非ストリーミングレスポンスモードの両方を処理する方法を示しています。これにより、Bedrock エージェントを独自の Python アプリケーションに統合できます。

詳細については、「アプリケーションからエージェントを呼び出す」を参照してください。

Python コードからエージェントを呼び出すには
  1. エージェントの ID を取得します。詳細については、「エージェントに関する情報を表示する」を参照してください。

  2. エージェントエイリアスの ID を取得します。詳細については、「Amazon Bedrock でエージェントのエイリアスに関する情報を表示する」を参照してください。

  3. 以下のコードを実行します。以下を更新します。

    • AGENT_ID – エージェントの ID。

    • ALIAS_ID – エージェントのエイリアス ID。

    • REGION – など、エージェントを作成した AWS リージョンus-east-1

    エージェントからレスポンスをストリーミングするには、 の値を streamFinalResponse に変更しますTrue

    import boto3 import logging from botocore.exceptions import ClientError logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def invoke_agent(client, agent_id, alias_id, prompt, session_id): response = client.invoke_agent( agentId=agent_id, agentAliasId=alias_id, enableTrace=True, sessionId = session_id, inputText=prompt, streamingConfigurations = { "applyGuardrailInterval" : 20, "streamFinalResponse" : False } ) completion = "" for event in response.get("completion"): #Collect agent output. if 'chunk' in event: chunk = event["chunk"] completion += chunk["bytes"].decode() # Log trace output. if 'trace' in event: trace_event = event.get("trace") trace = trace_event['trace'] for key, value in trace.items(): logging.info("%s: %s",key,value) print(f"Agent response: {completion}") if __name__ == "__main__": client=boto3.client( service_name="bedrock-agent-runtime", region_name="REGION") agent_id = "AGENT_ID" alias_id = "ALIAS_ID" session_id = "123456" prompt = "What's the current time?" try: invoke_agent(client, agent_id, alias_id, prompt, session_id) except ClientError as e: print(f"Client error: {str(e)}") logger.error("Client error: %s", {str(e)})