Maria é analista de IA em um tribunal e está desenvolvendo...
Maria é analista de IA em um tribunal e está desenvolvendo um sistema de assistente jurídico inteligente baseado em RAG (recuperação aumentada por geração) para consultar automaticamente acórdãos, súmulas e legislação. O sistema deve recuperar trechos relevantes de documentos jurídicos e gerar respostas fundamentadas. Para isso, Maria implementou o seguinte código Python usando LangChain:
1 from langchain.text_splitter import RecursiveCharacterTextSplitter
2 from langchain.embeddings import OpenAIEmbeddings
3 from langchain.vectorstores import FAISS
4 from langchain.llms import OpenAI
5 from langchain.chains import RetrievalQA
6
7 # Carregamento de documentos jurídicos
8 documentos = carregar_acordaos() # Retorna lista de documentos
9
10 # Fragmentação dos documentos
11 text_splitter = RecursiveCharacterTextSplitter(
12 chunk_size=5000,
13 chunk_overlap=0
14 )
15 chunks = text_splitter.split_documents(documentos)
16
17 # Criação do índice vetorial
18 embeddings = OpenAIEmbeddings()
19 vectorstore = FAISS.from_documents(chunks, embeddings)
20
21 # Configuração da cadeia de recuperação
22 llm = OpenAI(temperature=0.0)
23 chain = RetrievalQA.from_chain_type(
24 llm=llm,
25 chain_type="stuff",
26 retriever=vectorstore.as_retriever(search_kwargs={"k": 15})
27 )
28
29 # Consulta ao sistema
30 resposta = chain.run("Qual o entendimento sobre prescrição intercorrente?")
Durante os testes, Maria observou que o sistema frequentemente apresentava respostas incompletas, perdia contexto importante entre parágrafos consecutivos de acórdãos e, em alguns casos, excedia o limite da janela de contexto do LLM ao tentar processar documentos recuperados muito extensos.
Pede-se:
a) Identifique apenas duas configurações inadequadas no código que contribuem para os problemas observados e reescreva as linhas correspondentes com valores mais apropriados para o cenário descrito. Justifique brevemente cada correção.
b) Explique qual é a função do parâmetro search_kwargs={"k": 15} na linha 26 e por que o valor escolhido (15 documentos) pode ser problemático considerando o limite de tokens da janela de contexto e o tamanho dos chunks definido no código.
c) Considerando o modelo de responsabilidade compartilhada em computação em nuvem e que o sistema será implantado em ambiente IaaS (AWS EC2), liste brevemente três responsabilidades específicas de segurança que são do tribunal (cliente) e não do provedor de nuvem, considerando que o índice vetorial contém dados jurídicos sigilosos e o sistema processa informações sensíveis.
Valor: 20 pontos
Máximo de 30 linhas.
Esta é uma questão discursiva. Assine um de nossos planos para desbloqueá-la.
As questões discursivas ajudam você a treinar a construção da resposta, organizar ideias e desenvolver uma argumentação mais próxima do que a banca espera.
-
Entenda como a banca formula o problema e o que espera como resposta
-
Aprenda a estruturar seu texto com introdução, desenvolvimento e conclusão
-
Prepare-se para uma das etapas mais decisivas da prova.