[PITCH] "Como criar um Agente GPT sem gastar US$ 20 por mês?" - LlamaParse e LangChain!
Acesse no GitHub 🔥: https://github.com/Ga0512/langchain-rag-llama_parse
Me conheça pelo LinkedIn também: Gabriel M. Cicotoste
Sabemos que é possível usar os Agentes da OpenAI para poder criar especialistas em nossos negócios, mas nem sempre é tão acessível, já que para ter acesso a essa ferramenta, é necessário desembolsar 20 dólares.
Mas você sabia que podemos fazer isso por muito menos? Para isso, utilizamos RAG!
RAG, ou Retrieval Augmented Generation, é uma técnica usada para aprimorar o processo de geração de respostas ou recuperação de informações. Envolve o uso de uma fonte de dados, como um banco de dados, para recuperar pedaços de informações relevantes que podem aumentar a geração de respostas. Este método garante que as respostas sejam mais precisas e contextualmente relevantes, pois são baseadas em dados reais, em vez de serem geradas do zero.
Um Embedding é uma representação vetorial de texto que captura seu significado. Em termos práticos, em Python, isso é representado como uma lista de números. Esses vetores podem ser pensados como coordenadas em um espaço multidimensional onde a distância entre os vetores representa a semelhança semântica entre os textos que representam. Por exemplo, se dois trechos de texto estiverem intimamente relacionados em significado, seus vetores correspondentes estarão próximos um do outro neste espaço.
A distância entre palavras (ou vetores) pode ser calculada usando métodos como similaridade de cossenos ou distância euclidiana. A similaridade de cosseno mede o cosseno do ângulo entre dois vetores, determinando o quão semelhantes eles são, independentemente de sua magnitude. A distância euclidiana, por outro lado, mede a distância em linha reta entre dois pontos no espaço multidimensional. Essas medidas nos permitem quantificar o quão estreitamente relacionadas estão as diferentes partes do texto, o que é crucial para tarefas como recuperação de informação e compreensão da linguagem natural.
Especificamente, usamos uma função utilitária do Langchain, que compara diretamente a distância dos embeddings usando OpenAI. Essa função é chamada de "evaluator". Pensando nisso, baseado no projeto pixelegami/langchain-rag-tutorial, o langchain-rag-llama_parse adiciona vários recursos. A principal delas é a implementação do Llama-Parse, que amplia a gama de documentos aceitos para dados, antes limitados a arquivos markdown. Além disso, o processo de criação de agentes (bancos de dados de pesquisa) foi aprimorado, assim como a execução de prompts.
Ou seja:
Ao utilizar a técnica de RAG (Retrieval Augmented Generation), o processo começa com a formulação de um prompt inicial que instrui a responder uma pergunta com base em um contexto fornecido. Este contexto é composto por três pedaços de informação selecionados, que podem variar em tamanho conforme necessário. A seguir, a pergunta original é incluída no prompt.
Após a criação do prompt, o próximo passo é o AI ler todas as informações contextuais. Em vez de simplesmente retornar os pedaços de informação de forma literal, o sistema utiliza esses dados para elaborar uma resposta mais personalizada, que ainda é fundamentada nas informações da fonte. Para calcular a proximidade semântica entre palavras ou textos, utiliza-se a representação vetorial conhecida como embeddings. Esses embeddings podem ser visualizados como coordenadas em um espaço multidimensional. Se dois pedaços de texto têm significados semelhantes, seus vetores estarão próximos neste espaço.
Acesse no GitHub 🔥: https://github.com/Ga0512/langchain-rag-llama_parse
(Se puder, ajude com uma ⭐)