Langkah 5: Hubungi agen dari Python kode - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Langkah 5: Hubungi agen dari Python kode

Pada langkah ini, Anda akan belajar bagaimana berinteraksi secara terprogram dengan agen Anda menggunakan. AWS SDK for Python (Boto) Kode contoh menunjukkan cara menggunakan InvokeAgentoperasi, yang memerlukan ID AGEN dan ID ALIAS sebagai parameter untuk memanggil agen Anda. Kode menunjukkan cara mengirim prompt ke agen Anda, memproses respons, dan menangani mode respons streaming dan non-streaming. Ini memungkinkan Anda untuk mengintegrasikan agen Bedrock Anda ke dalam aplikasi Python Anda sendiri.

Untuk informasi selengkapnya, lihat Memanggil agen dari aplikasi Anda.

Untuk memanggil agen dari Python kode
  1. Dapatkan ID untuk agen. Untuk informasi selengkapnya, lihat Lihat informasi tentang agen.

  2. Dapatkan ID untuk alias agen. Untuk informasi selengkapnya, lihat Lihat informasi tentang alias agen di Amazon Bedrock.

  3. Jalankan kode berikut. Perbarui yang berikut ini:

    • AGENT_ID — ke ID agen Anda.

    • ALIAS_ID — ke ID Alias agen Anda.

    • REGION — ke AWS Wilayah tempat Anda membuat agen Anda, sepertius-east-1.

    Untuk mengalirkan respons dari agen, ubah nilai streamFinalResponse keTrue.

    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)})