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à.
Definire OpenAPI schemi per i gruppi di azioni del tuo agente in Amazon Bedrock
Quando crei un gruppo di azioni in Amazon Bedrock, devi definire i parametri che l'agente deve richiamare dall'utente. Puoi anche definire API operazioni che l'agente può richiamare utilizzando questi parametri. Per definire le API operazioni, create un OpenAPI schema nel JSON nostro YAML formato. È possibile creare OpenAPI file di schema e caricali su Amazon Simple Storage Service (Amazon S3). In alternativa, puoi usare il OpenAPI editor di testo nella console, che convaliderà lo schema. Dopo aver creato un agente, è possibile utilizzare l'editor di testo per aggiungere un gruppo di azioni all'agente o modificare un gruppo di azioni esistente. Per ulteriori informazioni, consulta Modificare un agente.
L'agente utilizza lo schema per determinare l'APIoperazione da richiamare e i parametri necessari per effettuare la API richiesta. Questi dettagli vengono quindi inviati tramite una funzione Lambda definita per eseguire l'azione o restituiti nella risposta alla chiamata dell'agente.
Per ulteriori informazioni sugli API schemi, consulta le seguenti risorse:
-
Per ulteriori dettagli su OpenAPI schemi, vedi OpenAPI specificazione
sulla Swagger sito web. -
Per le migliori pratiche di scrittura API degli schemi, vedi Buone pratiche di API progettazione
su Swagger sito web.
Di seguito è riportato il formato generale di un OpenAPI schema per un gruppo di azioni.
{ "openapi": "3.0.0", "paths": { "/
path
": { "method
": { "description": "string
", "operationId": "string
", "parameters": [ ... ], "requestBody": { ... }, "responses": { ... } "x-requireConfirmation": ENABLED | DISABLED } } } }
L'elenco seguente descrive i campi in OpenAPI schema
-
openapi
— (Obbligatorio) La versione di OpenAPI che viene utilizzata. Questo valore deve essere necessario"3.0.0"
affinché il gruppo d'azione funzioni. -
paths
: (obbligatorio) contiene percorsi relativi ai singoli endpoint. Ogni percorso deve iniziare con una barra (/
). -
method
: (obbligatorio) definisce il metodo da utilizzare. -
x-requireConfirmation
— (Facoltativo) Specificate se è richiesta la conferma dell'utente prima di richiamare l'azione. Abilita questo campo per richiedere la conferma all'utente prima che l'azione venga richiamata. Richiedere la conferma dell'utente prima di richiamare l'azione può proteggere l'applicazione dall'intraprendere azioni dovute a iniezioni tempestive dannose. Per impostazione predefinita, la conferma dell'utente avvieneDISABLED
se questo campo non è specificato.
Come minimo, ogni metodo richiede i seguenti campi:
-
description
— Una descrizione dell'APIoperazione. Utilizzate questo campo per informare l'agente quando chiamare questa API operazione e cosa fa. -
operationId
— Una stringa univoca che identifica un'operazione in un nomeAPI, come una funzione. Questo è un campo obbligatorio per tutti i nuovi modelli toolUse abilitati, ad esempio Anthropic Claude 3.5 Sonnet, Meta Llama, e così via. Assicurati che l'identificatore (Id) che fornisci sia unico per tutte le operazioni e segua un semplice schema alfanumerico con solo trattini o caratteri di sottolineatura come separatori. -
responses
— Contiene le proprietà che l'agente restituisce nella risposta. API L'agente utilizza le proprietà di risposta per creare prompt, elaborare con precisione i risultati di una API chiamata e determinare una serie corretta di passaggi per l'esecuzione di un'attività. L'agente può utilizzare i valori di risposta di un'operazione come input per le fasi successive dell'orchestrazione.
I campi all'interno dei due oggetti seguenti forniscono ulteriori informazioni affinché l'agente possa sfruttare efficacemente il gruppo di operazioni. Per ogni campo, imposta il valore del required
campo su true
se obbligatorio e su se facoltativo. false
-
parameters
: contiene informazioni sui parametri che possono essere inclusi nella richiesta. -
requestBody
: contiene i campi nel corpo della richiesta per l'operazione. Non includere questo campo per i metodiGET
eDELETE
.
Per ulteriori informazioni su una struttura, seleziona una delle seguenti schede.
Per sapere come aggiungere OpenAPI schema creato durante la creazione del gruppo di azioni, vediAggiungi un gruppo d'azione al tuo agente in Amazon Bedrock.
APISchemi di esempio
L'esempio seguente fornisce un semplice OpenAPI schema in YAML formato che ottiene le condizioni meteorologiche per una determinata località in gradi Celsius.
openapi: 3.0.0 info: title: GetWeather API version: 1.0.0 description: gets weather paths: /getWeather/{location}/: get: summary: gets weather in Celsius description: gets weather in Celsius operationId: getWeather parameters: - name: location in: path description: location name required: true schema: type: string responses: "200": description: weather in Celsius content: application/json: schema: type: string
APILo schema di esempio seguente definisce un gruppo di API operazioni che aiutano a gestire i reclami assicurativi. Tre APIs sono definite come segue:
-
getAllOpenClaims
— Il tuo agente può utilizzare ildescription
campo per determinare che debba richiamare questa API operazione se è necessario un elenco di reclami aperti.properties
inresponses
specifica se restituire l'ID e l'intestatario della polizza e lo stato della richiesta di indennizzo. L'agente restituisce queste informazioni all'utente agente o utilizza alcune o tutte le risposte come input per API le chiamate successive. -
identifyMissingDocuments
— L'agente può utilizzare ildescription
campo per determinare che debba avviare questa API operazione se è necessario identificare i documenti mancanti per una richiesta di risarcimento assicurativo. I campiname
,description
erequired
indicano all'agente che deve richiedere al cliente l'identificativo univoco della richiesta di indennizzo aperta.responses
Specificare di restituire i IDs reclami assicurativi aperti.properties
L'agente restituisce queste informazioni all'utente finale o utilizza una parte o tutta la risposta come input per API le chiamate successive. -
sendReminders
— L'agente può utilizzare ildescription
campo per stabilire che debba richiamare questa API operazione se è necessario inviare promemoria al cliente. Ad esempio, un promemoria sui documenti in sospeso di cui dispone per i reclami aperti. QuindirequestBody
comunicaproperties
all'agente che deve trovare il reclamo IDs e i documenti pendenti. Quindiresponses
specificaproperties
di restituire l'ID del promemoria e il relativo stato. L'agente restituisce queste informazioni all'utente finale o utilizza alcune o tutte le risposte come input per le API chiamate successive.
{ "openapi": "3.0.0", "info": { "title": "Insurance Claims Automation API", "version": "1.0.0", "description": "APIs for managing insurance claims by pulling a list of open claims, identifying outstanding paperwork for each claim, and sending reminders to policy holders." }, "paths": { "/claims": { "get": { "summary": "Get a list of all open claims", "description": "Get the list of all open insurance claims. Return all the open claimIds.", "operationId": "getAllOpenClaims", "responses": { "200": { "description": "Gets the list of all open insurance claims for policy holders", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "claimId": { "type": "string", "description": "Unique ID of the claim." }, "policyHolderId": { "type": "string", "description": "Unique ID of the policy holder who has filed the claim." }, "claimStatus": { "type": "string", "description": "The status of the claim. Claim can be in Open or Closed state" } } } } } } } } } }, "/claims/{claimId}/identify-missing-documents": { "get": { "summary": "Identify missing documents for a specific claim", "description": "Get the list of pending documents that need to be uploaded by policy holder before the claim can be processed. The API takes in only one claim id and returns the list of documents that are pending to be uploaded by policy holder for that claim. This API should be called for each claim id", "operationId": "identifyMissingDocuments", "parameters": [{ "name": "claimId", "in": "path", "description": "Unique ID of the open insurance claim", "required": true, "schema": { "type": "string" } }], "responses": { "200": { "description": "List of documents that are pending to be uploaded by policy holder for insurance claim", "content": { "application/json": { "schema": { "type": "object", "properties": { "pendingDocuments": { "type": "string", "description": "The list of pending documents for the claim." } } } } } } } } }, "/send-reminders": { "post": { "summary": "API to send reminder to the customer about pending documents for open claim", "description": "Send reminder to the customer about pending documents for open claim. The API takes in only one claim id and its pending documents at a time, sends the reminder and returns the tracking details for the reminder. This API should be called for each claim id you want to send reminders for.", "operationId": "sendReminders", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "claimId": { "type": "string", "description": "Unique ID of open claims to send reminders for." }, "pendingDocuments": { "type": "string", "description": "The list of pending documents for the claim." } }, "required": [ "claimId", "pendingDocuments" ] } } } }, "responses": { "200": { "description": "Reminders sent successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "sendReminderTrackingId": { "type": "string", "description": "Unique Id to track the status of the send reminder Call" }, "sendReminderStatus": { "type": "string", "description": "Status of send reminder notifications" } } } } } }, "400": { "description": "Bad request. One or more required fields are missing or invalid." } } } } } }
Per altri esempi di OpenAPI schemi, vedi https://github.com/OAI/Open API -Specification/tree/main/examples/v3.0