Creazione di flussi agentici
Per casi d’uso più complessi, puoi implementare i flussi agentici configurando più strumenti che interagiscono per svolgere le attività. Amazon Nova Sonic può orchestrare questi strumenti in base alle richieste degli utenti.
Schema di implementazione della knowledge base
Esempio di agente di cancellazione di una prenotazione in hotel
Qui è riportato un esempio di configurazione di un sistema di cancellazione delle prenotazioni in hotel:
toolConfiguration: { tools: [ { toolSpec: { name: "getReservation", description: "Retrieves hotel reservation information based on the guest's name and check-in date", inputSchema: { json: JSON.stringify({ type: "object", properties: { name: { type: "string", description: "Full name of the guest who made the reservation" }, checkInDate: { type: "string", description: "The check-in date for the reservation in YYYY-MM-DD format" } }, required: ["name", "checkInDate"] }) } } }, { toolSpec: { name: "cancelReservation", description: "Cancels a hotel reservation after confirming the cancellation policy with the guest", inputSchema: { json: JSON.stringify({ type: "object", properties: { reservationId: { type: "string", description: "The unique identifier for the reservation to be cancelled" }, confirmCancellation: { type: "boolean", description: "Confirmation from the guest that they understand the cancellation policy and want to proceed", default: false } }, required: ["reservationId", "confirmCancellation"] }) } } } ] }
Esempio di agente di ricerca di hotel
E qui è riportato un esempio di configurazione di un agente di ricerca di hotel:
toolSpec: { name: "searchHotels", description: "Search for hotels by location, star rating, amenities and price range.", inputSchema: { json: JSON.stringify({ type: "object", properties: { location: { type: "string", description: "City or area to search for hotels" }, rating: { type: "number", minimum: 1, maximum: 5, description: "Minimum star rating (1-5)" }, amenities: { type: "array", items: { type: "string" }, description: "List of desired amenities" }, price_range: { type: "object", properties: { min: { type: "number", minimum: 0 }, max: { type: "number", minimum: 0 } }, description: "Price range per night" } }, required: [] }) } }