Gerar uma consulta a dados estruturados - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerar uma consulta a dados estruturados

Quando você conecta um armazenamento de dados estruturados à base de conhecimento, a base de conhecimento pode consultá-lo convertendo a consulta em linguagem natural do usuário em uma consulta SQL, com base na estrutura da fonte de dados que está sendo consultada. Quando você usa:

  • Retrieve: a resposta exibe o resultado da execução da consulta SQL.

  • RetrieveAndGenerate: a resposta gerada é baseada no resultado da execução da consulta SQL.

  • GenerateQuery: O Amazon Bedrock Knowledge Bases separa a conversão da consulta do processo de recuperação. Você pode usar essa operação de API para transformar uma consulta em SQL.

Usar a API GenerateQuery

Você pode usar a resposta da operação de API GenerateQuery com uma ação Retrieve ou RetrieveAndGenerate subsequente ou inseri-la em outros fluxos de trabalho. GenerateQuery permite transformar consultas em consultas SQL de forma eficiente, levando em consideração a estrutura da fonte de dados da base de conhecimento.

Para transformar uma consulta de linguagem natural em uma consulta SQL, envie uma GenerateQuerysolicitação com um endpoint de tempo de execução do Agents for Amazon Bedrock. A solicitação GenerateQuery contém os seguintes campos:

  • queryGenerationInput — Especifique TEXT como type e inclua a consulta no text campo.

    nota

    As consultas devem ser escritas em inglês.

  • transformationConfiguration: especifique TEXT_TO_SQL como o mode. No campo textToSqlConfiguration, especifique KNOWLEDGE_BASE com o type. Em seguida, especifique o ARN da base de conhecimento.

A resposta retorna uma matriz contendo um GeneratedQueryobjeto no queries campo. O objeto contém uma consulta SQL para a consulta no campo sql.

Considerações importantes

Veja a seguir algumas considerações importantes ao gerar uma consulta usando dados estruturados.

  • Inferência entre regiões e recuperação de dados estruturados

    A recuperação de dados estruturados usa inferência entre regiões para selecionar o ideal Região da AWS em sua geografia para processar sua solicitação de inferência. Isso não gera cobranças adicionais e melhora a experiência do cliente ao maximizar os recursos disponíveis e a disponibilidade do modelo.

    As solicitações de inferência cruzada são mantidas dentro do Regiões da AWS que faz parte da geografia em que os dados residem originalmente. Seus dados permanecem armazenados na região de origem, mas os prompts de entrada e os resultados de saída podem se mover fora dessa região. Todos os dados serão transmitidos criptografados pela rede segura da Amazon.

    Para obter mais informações, consulte Aumentar o throughput com inferência entre regiões.

  • Precisão das consultas SQL geradas

    A precisão de uma consulta SQL gerada pode variar dependendo do contexto, dos esquemas de tabela e da intenção da consulta de um usuário. Antes de usar as consultas geradas em sua workload, avalie-as para garantir que sejam adequadas ao seu caso de uso.

  • Número de resultados recuperados

    As limitações a seguir se aplicam ao gerar a resposta.

    • Ao usar as operações de API InvokeAgent, RetrieveAndGenerate e RetrieveAndGenerateStream, apenas dez resultados recuperados são usados ao gerar a resposta.

    • Ao usar a API InvokeAgent, se houver mais de dez linhas de resultados recuperados, o número total de linhas recuperadas não será transmitido ao agente para gerar a resposta. Se, em vez disso, você usar a API RetrieveAndGenerate, o número total de linhas será incluído no prompt para gerar a resposta final.

  • Cota da API GenerateQuery

    A API GenerateQuery tem uma cota de duas solicitações por segundo.

Conceder permissões a um perfil para acessar as consultas geradas

Para sua base de conhecimento conectada a uma fonte de dados estruturados, se você quiser realizar algumas operações adicionais nas consultas geradas, deverá conceder permissões para realizar a ação de API GenerateQuery. Para permitir que o perfil do IAM consulte uma base de conhecimento conectada a um armazenamento de dados estruturados, anexe a seguinte política ao perfil:

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": [ "*" ] } ] }

Você pode remover instruções das quais não precisa, dependendo do caso de uso:

  • GenerateQueryAs instruções GetKB e devem ser chamadas GenerateQuerypara gerar consultas SQL que levem em consideração as consultas do usuário e sua fonte de dados conectada.

  • A instrução Retrieve deve chamar Retrieve para recuperar dados do armazenamento de dados estruturados.

  • A instrução RetrieveAndGenerate deve chamar RetrieveAndGenerate para recuperar dados do armazenamento de dados estruturados e gerar respostas baseadas nos dados.