Blog

Desenvolvendo um app de perguntas e respostas usando LangChain e Google PaLM 2.

Podemos melhorar consideravelmente a precisão de um modelo de linguagem extenso ao incorporar contexto de fontes de dados personalizadas, e o LangChain torna essa integração mais simples.

A signpost with white writing on green background reads Questions and Answers
Imagem: timmossholder/ShutterStock

No texto anterior nesta série, exploramos as nuances da API PaLM e como ela se integra de forma eficaz com o LangChain. Uma das principais vantagens do LangChain é sua capacidade de trocar o grande modelo de linguagem (LLM) com mínimas alterações em nosso código. Como mencionado, no contexto do LangChain, o LLM é convertido em um elemento simples na cadeia, o que facilita as substituições diretas.

LangChain é compatível com diversos cenários de aplicação, como resumo, resposta a perguntas, análise de sentimentos e outros. Enquanto o tutorial anterior abordou os conceitos básicos do LangChain e da API do Google PaLM, este artigo mostrará como extrair respostas de um PDF ao combinar o SDK LangChain com a API PaLM.

Vamos iniciar.

Fazer o download do arquivo PDF.

Crie uma pasta chamada “dados” e faça o download do PDF do discurso do Estado da União de Joe Biden de 2023 do site do parlamento da União Europeia.

Vamos utilizar as informações contidas no documento em formato PDF para desenvolver nosso aplicativo de perguntas e respostas.

Trazer módulos de Python de uma fonte externa.

Inicie trazendo os módulos Python mencionados a seguir.

Carregar o arquivo utilizando PyPDFLoader.

Gerar trechos de texto

Vamos dividir o texto bruto em partes de 200 caracteres cada, o que facilita a busca ao carregar porções menores de dados importantes e agiliza o processo.

Produzir integrações.

Vamos estabelecer o modelo de integração de texto para o Google PaLM.

Estamos preparados para criar as incorporações de todos os trechos de texto que desenvolvemos.

RELACIONADO:  Oracle anuncia o GraalOS para Java sem servidor.

O FAISS (Facebook AI Similarity Search) é uma ferramenta amplamente utilizada pelo Facebook para buscar semelhanças em memória. Para documentos extensos, é aconselhável utilizar uma base de dados vetorial. Como nosso documento é breve, podemos contar com o FAISS.

Estabelecer uma série de perguntas e respostas.

Agora vamos desenvolver uma sequência de perguntas e respostas que será enviada para o modelo PaLM.

O procedimento para a gestão de documentos em série é descomplicado. Consiste em reunir uma relação de documentos, inseri-los em um sistema e depois enviá-los para análise por um LLM. Essa abordagem é eficaz quando se trata de poucos documentos de tamanho moderado.

Chegou o momento de fazer a primeira pergunta.

palm langchain qanda 01
Imagem: karvanth/Pexels

A resposta parece correta. Experimentei este modelo com algumas perguntas adicionais.

palm langchain qanda 02
Imagem: wal_172619/PixaBay

Demonstração abrangente de perguntas e respostas do PaLM 2.

Aqui está o código completo que você pode executar em seu próprio ambiente ou no Google Colab.

Apesar de ser um exercício rápido e simples, demonstra a possibilidade de melhorar significativamente a precisão do modelo PaLM 2 ao fornecer contexto de fontes de dados personalizadas, como neste caso do PDF. A integração foi simplificada pelo LangChain, que incorporou uma pesquisa de semelhança para recuperar partes relevantes do documento, servindo como contexto para o prompt. Com o LangChain, é mais simples incluir fontes de dados personalizadas e pesquisa de similaridade nos pipelines que desenvolvemos.

No próximo artigo desta sequência, iremos desenvolver um aplicativo que resume o PDF mencionado. Esteja atento.

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button