Verwenden eines Computer-Use-Tools zur Vervollständigung einer Antwort des Amazon-Bedrock-Modells
Computer Use ist eine Funktion des Anthropic Claude-Modells (in der Betaversion), die nur in Anthropic Claude 3.7 Sonnet und Claude 3.5 Sonnet v2 verfügbar ist. Mithilfe von Computer Use kann Claude Aufgaben durch grundlegende GUI-Aktionen automatisieren.
Warnung
Computer Use wird Ihnen als so genannter „Beta-Service“ gemäß Definition in den AWS-Servicebedingungen zur Verfügung gestellt. Er unterliegt Ihrer Vereinbarung mit AWS und den AWS-Servicebedingungen sowie der jeweils geltenden EULA des Modells. Bitte beachten Sie, dass die Computer-Use-API besondere Risiken birgt, die sich von Standard-API-Features oder Chat-Schnittstellen unterscheiden. Diese Risiken steigen, wenn die Computer-Use-API für die Interaktion mit dem Internet verwendet wird. Zur Minimierung der Risiken sollten Sie folgende Vorsichtsmaßnahmen in Betracht ziehen:
Betreiben Sie das Computer-Use-Feature in einer speziellen virtuellen Maschine oder in einem Container mit minimalen Rechten, um gezielte oder versehentliche Angriffe auf das System zu verhindern.
Zur Verhinderung von Informationsdiebstahl sollten Sie der Computer-Use-API keinen Zugriff auf sensible Konten oder Daten gewähren.
Beschränken Sie den Internetzugang der Computer-Use-API auf die erforderlichen Domains, um das Risiko bösartiger Inhalte zu verringern.
Um eine adäquate Aufsicht zu gewährleisten, sollte bei sensiblen Aufgaben (wie Entscheidungen, die erhebliche Auswirkungen auf die reale Welt haben könnten) sowie Aufgaben, die eine ausdrückliche Zustimmung erfordern (wie die Annahme von Cookies, die Ausführung von Finanztransaktionen oder die Zustimmung zu Nutzungsbedingungen), ein HITL einbezogen werden.
Alle Inhalte, für die Sie Claude Anzeige- oder Zugriffsberechtigungen erteilen, können möglicherweise Anweisungen außer Kraft setzen oder Claude zu Fehlern oder unbeabsichtigten Aktionen verleiten. Daher ist es wichtig, angemessene Vorsichtsmaßnahmen zu treffen und Claude z. B. von sensiblen Oberflächen fernzuhalten, auch zur Vermeidung von Risiken im Zusammenhang mit einer Promptinjektion. Bevor Sie Computer-Use-Features in eigenen Produkten aktivieren oder die erforderlichen Genehmigungen anfordern, informieren Sie die Endbenutzer bitte über alle einschlägigen Risiken und holen Sie gegebenenfalls deren Zustimmung ein.
Die Computer-Use-API bietet mehrere vordefinierte Tools (computer_20241022, bash_20241022 und text_editor_20241022), die Sie verwenden können. Sie können dann einen Prompt mit Ihrer Anfrage erstellen, z. B. „Sende Ben eine E-Mail mit den Notizen von meinem letzten Treffen“ und einen Screenshot (falls erforderlich). Die Antwort enthält eine Liste von tool_use-Aktionen im JSON-Format (z. B. scroll_down, left_button_press, screenshot). Ihr Code führt die Computeraktionen aus und stellt Claude einen Screenshot zur Verfügung, der die Ausgaben zeigt (falls angefordert).
Der Parameter „tools“ wurde aktualisiert und akzeptiert nun polymorphe Tooltypen. Zu ihrer Unterscheidung wurde eine neue tool.type-Eigenschaft hinzugefügt. Der Parameter type ist optional. Wenn er weggelassen wird, wird davon ausgegangen, dass es sich bei dem Tool um ein benutzerdefiniertes Tool handelt (bisher der einzige unterstützte Tooltyp). Zusätzlich wurde ein neuer Parameter anthropic_beta mit einem entsprechenden enum-Wert hinzugefügt: computer-use-2024-10-22. Nur Anfragen, die mit diesem Parameter und enum gestellt wurden, können die neuen Computer-Use-Tools verwenden. Er kann wie folgt angegeben werden: "anthropic_beta":
["computer-use-2024-10-22"] .
Um Computer Use mit Anthropic Claude 3.5 Sonnet v2 zu verwenden, können Sie die Converse-API (Converse oder ConverseStream) verwenden. Die Computer-Use-Felder geben Sie im Feld additionalModelRequestFields an. Allgemeine Informationen zum Aufrufen der Converse-API finden Sie unter Führen einer Konversation mit den Converse-API-Operationen.
Es ist möglich, Tools mit den grundlegenden Inferenzoperationen (InvokeModel oder InvokeModelWithResponseStream) zu verwenden. Informationen zu den Inferenzparametern, die Sie im Hauptteil der Anfrage übergeben, finden Sie unter Nachrichten-API von AnthropicClaude.
Weitere Informationen finden Sie unter Computer Use (Beta)
Beispiel-Code
Der folgende Code zeigt, wie die Computer-Use-API aufgerufen wird. Die Eingabe ist ein Bild der AWS-Konsole.
with open('test_images/console.png', 'rb') as f: png = f.read() response = bedrock.converse( modelId='anthropic.claude-3-5-sonnet-20241022-v2:0', messages=[ { 'role': 'user', 'content': [ { 'text': 'Go to the bedrock console' }, { 'image': { 'format': 'png', 'source': { 'bytes': png } } } ] } ], additionalModelRequestFields={ "tools": [ { "type": "computer_20241022", "name": "computer", "display_height_px": 768, "display_width_px": 1024, "display_number": 0 }, { "type": "bash_20241022", "name": "bash", }, { "type": "text_editor_20241022", "name": "str_replace_editor", } ], "anthropic_beta": ["computer-use-2024-10-22"] }, toolConfig={ 'tools': [ { 'toolSpec': { 'name': 'get_weather', 'inputSchema': { 'json': { 'type': 'object' } } } } ] }) print(json.dumps(response, indent=4))
Beispielantwort
Der Ausgabe des Beispielcodes sieht folgendermaßen oder ähnlich aus:
{ "id": "msg_bdrk_01Ch8g9MF3A9FTrmeywrwfMZ", "type": "message", "role": "assistant", "content": [ { "type": "text", "text": "I can see from the screenshot that we're already in the AWS Console. To go to the Amazon Bedrock console specifically, I'll click on the Amazon Bedrock service from the \"Recently Visited\" section." }, { "type": "tool_use", "id": "toolu_bdrk_013sAzs1gsda9wLrfD8bhYQ3", "name": "computer", "input": { "action": "screenshot" } } ], "stop_reason": "tool_use", "stop_sequence": null, "usage": { "input_tokens": 3710, "output_tokens": 97 } }