Esegui esempi di codice di gestione Prompt - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui esempi di codice di gestione Prompt

Nota

La gestione dei prompt è disponibile in anteprima ed è soggetta a modifiche.

Per provare alcuni esempi di codice per la gestione dei prompt, seleziona la scheda corrispondente al metodo scelto e segui i passaggi: I seguenti esempi di codice presuppongono che tu abbia impostato le tue credenziali per utilizzare il. AWS API Se non l'hai fatto, fai riferimento a. Guida introduttiva all' AWS API

Python
  1. Esegui il seguente frammento di codice per caricare AWS SDK for Python (Boto3), creare un client e creare un prompt che crei una playlist musicale utilizzando due variabili (genreenumber) creando un endpoint in fase di compilazione di Agents CreatePromptfor Amazon Bedrock:

    # Create a prompt in Prompt management import boto3 # Create an Amazon Bedrock Agents client client = boto3.client(service_name="bedrock-agent") # Create the prompt response = client.create_prompt( name="MakePlaylist", description="My first prompt.", variants=[ { "name": "Variant1", "modelId": "amazon.titan-text-express-v1", "templateType": "TEXT", "inferenceConfiguration": { "text": { "temperature": 0.8 } }, "templateConfiguration": { "text": { "text": "Make me a {{genre}} playlist consisting of the following number of songs: {{number}}." } } } ] ) prompt_id = response.get("id")
  2. Esegui il seguente frammento di codice per visualizzare la richiesta che hai appena creato (insieme a qualsiasi altra richiesta nel tuo account) per creare un endpoint di build di Agents ListPromptsfor Amazon Bedrock:

    # List prompts that you've created client.list_prompts()
  3. Dovresti vedere l'ID del prompt che hai creato nel campo nell'oggetto nel campo. id promptSummaries Esegui il seguente frammento di codice per mostrare le informazioni per il prompt creato creando un endpoint di build Agents GetPromptfor Amazon Bedrock:

    # Get information about the prompt that you created client.get_prompt(promptIdentifier=prompt_id)
  4. Crea una versione del prompt e ottieni il relativo ID eseguendo il seguente frammento di codice per creare un endpoint in fase di compilazione di Agents CreatePromptVersionfor Amazon Bedrock:

    # Create a version of the prompt that you created response = client.create_prompt_version(promptIdentifier=prompt_id) prompt_version = response.get("version") prompt_version_arn = response.get("arn")
  5. Visualizza le informazioni sulla versione di prompt che hai appena creato, insieme alle informazioni sulla versione bozza, eseguendo il seguente frammento di codice per creare un endpoint in fase di compilazione di Agents ListPromptsfor Amazon Bedrock:

    # List versions of the prompt that you just created client.list_prompts(promptIdentifier=prompt_id)
  6. Visualizza le informazioni per la versione prompt che hai appena creato eseguendo il seguente frammento di codice per creare un endpoint in fase di compilazione di Agents GetPromptfor Amazon Bedrock:

    # Get information about the prompt version that you created client.get_prompt( promptIdentifier=prompt_id, promptVersion=prompt_version )
  7. Verifica il prompt aggiungendolo a un flusso di prompt seguendo i passaggi riportati in. Esegui esempi di codice di Amazon Bedrock Prompt flows Nel primo passaggio, quando crei il flusso, esegui il seguente frammento di codice anziché utilizzare il prompt che hai creato anziché definire un prompt in linea nel flusso (sostituisci la versione ARN del prompt nel promptARN campo con la versione ARN del prompt che hai creato):

    # Import Python SDK and create client import boto3 client = boto3.client(service_name='bedrock-agent') FLOWS_SERVICE_ROLE = "arn:aws:iam::123456789012:role/MyPromptFlowsRole" # Prompt flows service role that you created. For more information, see https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html PROMPT_ARN = prompt_version_arn # ARN of the prompt that you created, retrieved programatically during creation. # Define each node # The input node validates that the content of the InvokeFlow request is a JSON object. input_node = { "type": "Input", "name": "FlowInput", "outputs": [ { "name": "document", "type": "Object" } ] } # This prompt node contains a prompt that you defined in Prompt management. # It validates that the input is a JSON object that minimally contains the fields "genre" and "number", which it will map to the prompt variables. # The output must be named "modelCompletion" and be of the type "String". prompt_node = { "type": "Prompt", "name": "MakePlaylist", "configuration": { "prompt": { "sourceConfiguration": { "resource": { "promptArn": "" } } } }, "inputs": [ { "name": "genre", "type": "String", "expression": "$.data.genre" }, { "name": "number", "type": "Number", "expression": "$.data.number" } ], "outputs": [ { "name": "modelCompletion", "type": "String" } ] } # The output node validates that the output from the last node is a string and returns it as is. The name must be "document". output_node = { "type": "Output", "name": "FlowOutput", "inputs": [ { "name": "document", "type": "String", "expression": "$.data" } ] } # Create connections between the nodes connections = [] # First, create connections between the output of the flow input node and each input of the prompt node for input in prompt_node["inputs"]: connections.append( { "name": "_".join([input_node["name"], prompt_node["name"], input["name"]]), "source": input_node["name"], "target": prompt_node["name"], "type": "Data", "configuration": { "data": { "sourceOutput": input_node["outputs"][0]["name"], "targetInput": input["name"] } } } ) # Then, create a connection between the output of the prompt node and the input of the flow output node connections.append( { "name": "_".join([prompt_node["name"], output_node["name"]]), "source": prompt_node["name"], "target": output_node["name"], "type": "Data", "configuration": { "data": { "sourceOutput": prompt_node["outputs"][0]["name"], "targetInput": output_node["inputs"][0]["name"] } } } ) # Create the flow from the nodes and connections client.create_flow( name="FlowCreatePlaylist", description="A flow that creates a playlist given a genre and number of songs to include in the playlist.", executionRoleArn=FLOWS_SERVICE_ROLE, definition={ "nodes": [input_node, prompt_node, output_node], "connections": connections } )
  8. Elimina la versione del prompt che hai appena creato eseguendo il seguente frammento di codice per creare un endpoint in fase di compilazione di Agents DeletePromptfor Amazon Bedrock:

    # Delete the prompt version that you created client.delete_prompt( promptIdentifier=prompt_id, promptVersion=prompt_version )
  9. Elimina completamente il prompt appena creato eseguendo il seguente frammento di codice per creare un endpoint in fase di compilazione di Agents DeletePromptfor Amazon Bedrock:

    # Delete the prompt that you created client.delete_prompt( promptIdentifier=prompt_id )