IA aplicada
RAG com Amazon Bedrock em .NET
RAG permite que uma aplicação .NET consulte documentos antes de gerar uma resposta com IA. Para funcionar bem, a integração precisa cuidar das fontes, das permissões e de como a resposta será avaliada.
Como o fluxo funciona
- Organizar as fontes de informação e preparar sua atualização.
- Buscar trechos relevantes para a pergunta recebida.
- Enviar o contexto recuperado ao modelo para gerar a resposta.
- Apresentar a resposta e as referências disponíveis na aplicação.
O Amazon Bedrock Knowledge Bases oferece recursos para implementar esse fluxo. A operação RetrieveAndGenerate reúne recuperação e geração; a integração pode ser feita com o SDK da AWS para .NET.
Escolher e proteger as fontes
Antes da integração, é necessário avaliar a qualidade dos documentos, a frequência de atualização e quem pode acessar cada informação. Dados desatualizados ou incompletos podem resultar em respostas inadequadas.
A autorização do usuário deve ser verificada pela aplicação. O conteúdo recuperado também precisa respeitar essas permissões. Filtros de metadados, quando aplicáveis, fazem parte da solução e precisam de testes. Veja como aplicar esse controle no Bedrock em RAG com controle de acesso no Amazon Bedrock.
Avaliar a qualidade das respostas
Uma resposta com referências ainda precisa ser avaliada. RAG não elimina a possibilidade de erro. Um conjunto de perguntas representativas ajuda a verificar relevância da busca, fidelidade às fontes e comportamento quando a informação não está disponível.
Latência, consumo e experiência do usuário também entram na avaliação. O objetivo é definir onde a IA ajuda o processo e quando a aplicação precisa pedir revisão humana.
O que pesa no custo e na latência
O recurso de Knowledge Bases não tem cobrança própria. O custo de um RAG vem das peças que ele usa, e cada uma tem um modelo de cobrança diferente:
- Embeddings: o modelo de embedding cobra por tokens de entrada, tanto ao indexar os documentos quanto a cada pergunta. Mais dados e mais atualizações significam mais tokens.
- Armazenamento vetorial: o banco que guarda os vetores tem custo próprio de armazenamento e operação, e em alguns serviços pode haver uma capacidade mínima cobrada mesmo sem consultas. Confira o modelo de cobrança do serviço escolhido.
- Geração: o modelo que escreve a resposta cobra por tokens de entrada e de saída, e os trechos recuperados entram como entrada.
- Processamento de documentos: o parser padrão não tem cobrança adicional, mas as opções para documentos com tabelas e imagens, como o Bedrock Data Automation ou o parsing com modelo de fundação, cobram por página ou por tokens.
A quantidade de trechos recuperados mexe em custo e em tempo ao mesmo tempo. Mais trechos aumentam os tokens enviados ao modelo e, em geral, o tempo da resposta, mas poucos trechos podem deixar a resposta incompleta. O parâmetro numberOfResults, dentro de vectorSearchConfiguration (em retrievalConfiguration), controla esse limite e deve ser ajustado com o conjunto de perguntas de avaliação. A AWS também cita filtros de metadados, busca híbrida e reranking como ajustes de recuperação.
Para a experiência do usuário, a operação RetrieveAndGenerateStream devolve a resposta em fluxo, o que permite mostrar o texto conforme ele é gerado em vez de esperar a resposta completa. O custo total depende do volume de documentos, de quantas perguntas chegam por dia e dos modelos escolhidos, por isso vale estimar na calculadora de preços da AWS e medir com perguntas reais antes de decidir.
Integrar com a aplicação .NET
A implementação precisa tratar autenticação, limites de acesso, falhas e tempo de resposta. Logs devem ajudar a acompanhar o serviço sem expor informações sensíveis desnecessariamente.
Se a aplicação também será levada para a nuvem, veja o planejamento de migração de .NET para AWS.
Vamos conversar sobre o seu cenário?
Escreva para audizio@audizio.com.br ou chame pelo LinkedIn e conte como a aplicação funciona hoje e qual decisão você está tentando tomar. Podemos conversar sobre os próximos passos.
Referências técnicas
- Amazon Bedrock: Knowledge Bases e RAG
- Amazon Bedrock: RetrieveAndGenerate
- AWS SDK para .NET: RetrieveAndGenerateRequest
- Amazon Bedrock: RetrieveAndGenerateStream
- Amazon Bedrock: preços
- AWS Blog: avaliar e melhorar o desempenho do Amazon Bedrock Knowledge Bases
- AWS Blog: como estimar os custos do Amazon Bedrock (setor público)