Generazione di una query per dati strutturati - 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à.

Generazione di una query per dati strutturati

Quando si collega un datastore strutturato alla knowledge base, quest’ultima può interrogarlo convertendo la query in linguaggio naturale fornita dall’utente in una query SQL, in base alla struttura dell’origine dati oggetto della query. Quando utilizzi:

  • Retrieve: la risposta restituisce il risultato dell’esecuzione della query SQL.

  • RetrieveAndGenerate: la risposta generata si basa sul risultato dell’esecuzione della query SQL.

  • GenerateQuery: Amazon Bedrock Knowledge Bases disaccoppia la conversione della query dal processo di recupero. Puoi utilizzare questa operazione API per trasformare una query in SQL.

Utilizzo dell’API GenerateQuery

È possibile utilizzare la risposta dell’operazione API GenerateQuery con un’azione Retrieve o RetrieveAndGenerate successiva o inserirla in altri flussi di lavoro. GenerateQuery consente di trasformare in modo efficiente le query in query SQL prendendo in considerazione la struttura dell’origine dati della knowledge base.

Per trasformare una query in linguaggio naturale in una query SQL, invia una GenerateQueryrichiesta con un endpoint di runtime Agents for Amazon Bedrock. La richiesta GenerateQuery contiene i seguenti campi:

  • queryGenerationInput — Specificare TEXT come type e includere la query nel text campo.

    Nota

    Le query devono essere scritte in inglese.

  • transformationConfiguration: specifica TEXT_TO_SQL come mode. Nel campo textToSqlConfiguration, specifica KNOWLEDGE_BASE come type. Quindi, specifica l’ARN della knowledge base.

La risposta restituisce un array contenente un GeneratedQueryoggetto nel queries campo. L’oggetto contiene una query SQL per la query nel campo sql.

Considerazioni chiave

Di seguito sono riportate alcune considerazioni chiave per la generazione di una query utilizzando dati strutturati.

  • Inferenza tra Regioni e recupero di dati strutturati

    Il recupero dei dati strutturati utilizza l'inferenza interregionale per selezionare l'area geografica ottimale per Regione AWS elaborare la richiesta di inferenza. Ciò non comporta costi aggiuntivi e migliora l’esperienza del cliente massimizzando le risorse disponibili e la disponibilità del modello.

    Le richieste di inferenza incrociata vengono conservate all'interno della parte geografica in Regioni AWS cui risiedono originariamente i dati. I dati rimangono archiviati nella Regione di origine, ma i prompt di input e i risultati di output possono spostarsi al di fuori di questa Regione. Tutti i dati verranno trasmessi in modalità crittografata attraverso la rete sicura di Amazon.

    Per ulteriori informazioni, consulta Aumentare il throughput con l’inferenza tra Regioni.

  • Accuratezza delle query SQL generate

    L’accuratezza di una query SQL generata può variare a seconda del contesto, degli schemi delle tabelle e dell’intento di una query utente. Valuta le query generate per assicurarti che siano adatte al tuo caso d’uso prima di utilizzarle nel tuo carico di lavoro.

  • Numero di risultati recuperati

    Le seguenti limitazioni si applicano quando si genera la risposta.

    • Quando si utilizzano le operazioni API InvokeAgent, RetrieveAndGenerate e RetrieveAndGenerateStream, solo 10 risultati recuperati vengono utilizzati nella generazione della risposta.

    • Quando si utilizza l’API InvokeAgent, se sono presenti più di 10 righe di risultati recuperati, il numero totale di righe recuperate non viene passato all’agente per la generazione della risposta. Se invece si utilizza l’API RetrieveAndGenerate, il numero totale di righe viene incluso nel prompt per la generazione della risposta finale.

  • Quota API GenerateQuery

    L’API GenerateQuery ha una quota di 2 richieste al secondo.

Concedi a un ruolo le autorizzazioni per accedere alle query generate

Per la tua knowledge base collegata a un’origine dati strutturata, se desideri eseguire alcune operazioni aggiuntive sulle query generate, devi concedere le autorizzazioni per eseguire l’azione API GenerateQuery. Per consentire al tuo ruolo IAM di interrogare una knowledge base connessa a un datastore strutturato, collega la seguente policy al ruolo:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "GetKB", "Effect": "Allow", "Action": [ "bedrock:GetKnowledgeBase" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId" ] }, { "Sid": "GenerateQueryAccess", "Effect": "Allow", "Action": [ "bedrock:GenerateQuery", "sqlworkbench:GetSqlRecommendations" ], "Resource": "*" }, { "Sid": "Retrieve", "Effect": "Allow", "Action": [ "bedrock:Retrieve" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId" ] }, { "Sid": "RetrieveAndGenerate", "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": [ "*" ] } ] }

Puoi rimuovere le dichiarazioni non necessarie, a seconda del caso d’uso:

  • GenerateQueryLe istruzioni GetKB and devono essere chiamate per GenerateQuerygenerare query SQL che tengano conto delle query degli utenti e dell'origine dati connessa.

  • L’istruzione Retrieve è necessaria per chiamare Retrieve per recuperare i dati dal datastore strutturato.

  • L’istruzione RetrieveAndGenerate è necessaria per chiamare RetrieveAndGenerate per recuperare i dati dal datastore strutturato e generare risposte basate sui dati.