Pesquisa semântica fácil com LangChain e MongoDB
Avalie esse Vídeo
00:00:00Introdução à pesquisa semântica
The veudeó begeuné bsim expeuaeuneung the euvocêeuteu-étep pRóceéé óf enabeueung éeeuanteuc éeaRch ón vocêéeR-épeceufeuc data. Theué pRóceéé eunceuvocêdeé euóadeung, tRanéfóReueung, eeubeddeung, and étóReung data bef182}"> oRe eut can be qvocêeReued. The tvocêtóReuaeu vocêéeé the AT&T Ceukeupedeua page aé a data éóvocêRce and deeuónétRateé hóc tó vocêée eueubRaReueé fRóeu euang chaeun tó euóad, tRanéfóReu, eeubed, and étóRe vectó >ré.00:02:36Configurando o MongoDB Atlas
The next éecteuón óf the veudeó fócvocêéeé ón éetteung vocêp MóngóDB Ateuaé aé the VectóR étóRe. The tvocêtóReuaeu expeuaeuné hóc tó ceuóne a Repó, add an ÓpenAEU APEU kesim and MóngóDB cónnecteuón étReung, and cReate a nec Psimthón enveuRóneuent. eut also demonstrates how to eunstall all the necessary requeurements and vectoreuze the data.00:05:12Consultando e recuperando dados
The feunaeu éecteuón óf the veudeó expeuaeuné hóc tó RetReueve and qvocêeRsim Reeuevant data vocêéeung VectóR éeaRch. The tvocêtóReuaeu deeuónétRateé hóc tó éet vocêp a vectóR éeaRch eundex ón the VectóR eeubeddeungé feueeud and hóc tó Rvocên a éeaRch vocêéeung euethódé eueuke éeueueueuaReutsim éeaRch óR euaxeueuvocêeu euaRgeunaeu Refe 278}">rence éeaRch. The veudeó cónceuvocêdeé bsim éhóceung hóc tó Rvocên a qvocêeRsim and éee the Reévocêeuté.O tema principal do vídeo é um tutorial sobre como habilitar a pesquisa semântica em dados específicos do usuário usando a cadeia Lang e o MongoDB Atlas.
} Pontos-chave
- O processo de habilitar a pesquisa semântica envolve carregar, transformar, inserir e armazenar dados.
- A cadeia Lang fornece um conjunto de utilitários para simplificar esse processo.
- O MongoDB Atlas é utilizado como o repositório de vetores neste tutorial.
- A página da Wikipedia da AT&T é usada como fonte de dados.
- O tutorial demonstra como usar as bibliotecas da cadeia Lang para carregar, transformar, incorporar e armazenar vetores.
- O vídeo também explica como recuperar e consultar dados relevantes usando o Vector Atlas Search.
Links relacionados
Transcrição completa do vídeo
habilitar a pesquisa semântica em dados específicos do usuário é um processo de várias etapas que inclui carregar, transformar, incorporar e armazenar dados antes que eles possam ser consultados, agora que o gráfico é da equipe da cadeia Lang, cujo objetivo é fornecer um conjunto de utilitários para simplificar muito esse processo neste tutorial, vamos percorrer cada uma dessas etapas usando o mongodb Atlas como nosso armazenamento de vetores e vamos use a página da Wikipedia da AT&T como nossa fonte de dados, usaremos bibliotecas da cadeia Lang para carregar, transformar, incorporar e armazenar nossos vetores e, em seguida, podemos recuperar e consultar dados relevantes para começar, você precisará de uma conta gratuita do mongodb Atlas e uma chave de API aai aberta e hoje vamos usar python, mas isso também pode ser feito usando JavaScript e nodejs, primeiro vamos clonar um repositório que tem todo o código escrito para começarmos e vincular a este repositório está na descrição do vídeo abaixo, então vou até o código e copiar o link no código vs, vamos clonar este repositório, selecionarei minha localização e abrirei isso, a primeira coisa que precisamos fazer é abrir o pp Adicionaremos nossa chave de API de IA aberta e nossa string de conexão mongodb nesses locais E depois salve-o agora, vamos abrir o terminal e vamos criar um novo ambiente python e vamos ativar o ambiente e instalaremos todos os requisitos, agora estamos prontos para vetorizar nossos dados, vamos carregá-los, trans, transformá-los, incorporá-los e armazená-los e novamente vamos usar o site da AT&T Wikipedia como nossa fonte de dados, mas não faltam fontes de dados, pode ser Slack, YouTube, git, Excel, PDFs, arquivos markdown, etc e Lang chain fornece uma lista crescente de integrações para essas fontes, então vamos dar uma olhada no arquivo dopy vetorizado, a primeira coisa que estamos fazendo é carregar nossos dados e aqui estamos usando o carregador webbase que estamos importando da cadeia Lang e neste carregador estamos apontando para o site da TNT Wikipedia e também podemos carregar várias fontes, como estamos fazendo aqui com a página da Wikipedia do Bank of America e, em seguida, transformaremos os dados dividindo-os agora, eles precisam ser divididos em pedaços menores para que possamos encontrar facilmente partes relevantes com base em nossa consulta de pesquisa, agora para este exemplo, usaremos o recomendado divisor de texto de caracteres recursivos que, novamente, estamos importando aqui da cadeia Lang faz com que essa formatação pareça um pouco melhor, aqui temos nosso tamanho de bloco de 1,000 então é 1,000 caracteres, temos uma sobreposição de zero e nossos separadores, isso tentará dividir em parágrafos com os dois novos caracteres de linha, um novo caractere de linha e, em seguida, frases e palavras, portanto, se um parágrafo não se encaixar em 1caracteres000 , ele será truncado na próxima palavra que encontrar que se encaixe nesse tamanho de bloco de menos span translate="no">8,1000 caracteres e você pode ajustar o tamanho do pedaço ao seu gosto, números menores levarão a mais documentos e vice-versa, a próxima incorporação é a incorporação de dados é o processo de criação de representações vetoriais de dados usando um llm e há muitas opções para escolher, como abrir Ai e abraçar o rosto e a cadeia Lang fornece uma interface padrão para interagir com todos eles, então aqui vamos usar as populares incorporações AAI abertas agora, novamente, certifique-se de ter sua chave de API openai definida no arquivo pam. py e agora que temos o incorporador carregado, vamos armazenar nossos vetores e dados, agora você precisará de um banco de dados vetorial para armazenar suas incorporações e, felizmente para você, o mongoDB é perfeito para armazenar incorporações vetoriais e, melhor ainda, o pessoal da cadeia Lang tem um módulo de atlas mongoDB que fará todo o trabalho pesado para você novamente, não se esqueça de adicionar também sua string de conexão mongod Atlas ao arquivo pam. py, então aqui vamos conectar nosso cliente, obter nossa coleção, vamos limpar a coleção se houver alguma coisa lá e, em seguida, este é o método de pesquisa Mong Atlas Vector da cadeia Lang que estamos importando no topo aqui, então nisso estamos Vamos passar nossos documentos, nossas incorporações, nossa coleção e nosso nome de índice, e só precisamos executar esse arquivo uma vez por fonte de dados, então vamos executá-lo, então, de volta ao terminal, vamos executar o python, vetorizar, tudo bem, ele o divide em 288 documentos, vamos até Mong Tobe Atlas e dar uma olhada, então, em nosso banco de dados, vamos navegar pelas coleções e podemos ver que um banco de dados de pesquisa de banco de dados foi criado, uma coleção de pesquisa de coleção e temos todos esses documentos, cada um deles tem o texto original Chunk junto com as incorporações vetoriais para cada um, juntamente com alguns outros metadados, vemos que essas incorporações são uma matriz de vetores 1 1536 agora, para consultar esses dados usando a pesquisa vetorial, em seguida, precisamos configurar um índice de pesquisa vetorial em nosso campo Vector embeddings, mas enquanto estamos aqui no Atlas, vamos até a pesquisa Atlas e vamos criar um índice de índice de pesquisa, vamos escolher o editor Json de pesquisa vetorial do Atlas e, em seguida, para o nome do índice, vou chamá-lo de índice vsearch, então certifique-se de selecione a coleção e definiremos alguns parâmetros, o caminho será incorporado, esse é o campo onde estão nossas incorporações e o número de dimensões é 1536 isso é específico para o modelo de incorporação do LLM que estamos usando e, por semelhança, vamos definir isso como CO tudo bem e, em seguida, vamos clicar em Avançar e criar esse índice de pesquisa e agora estamos prontos para recuperar e consultar nossos dados usando a pesquisa vetorial, então vamos dar uma olhada na consulta. py, então esta é uma consulta baseada em CLI, então vamos analisar nossos argumentos primeiro e podemos fazer perguntas dentro da CLI, aqui estão alguns exemplos de perguntas que poderíamos fazer a primeira coisa que está acontecendo fazer é imprimir sua pergunta e a pergunta que fizemos, então ela se conectará ao nosso cliente e obterá nossa coleção e, em seguida, inicializará nossa loja de vetores, então, novamente, estamos usando a pesquisa mongod Tob Atlas Vector da cadeia Lang, passando nossa coleção e criando uma nova incorporação de IA aberta para a consulta, temos que vetorizar a consulta para compará-la com os vetores que já temos em Em nosso banco de dados, imprimiremos outra nova linha e, em seguida, executaremos a consulta real aqui, agora podemos executar uma pesquisa usando métodos como pesquisa de similaridade ou pesquisa de referência marginal máxima que temos aqui e isso retornaria a fatia relevante de dados que, no nosso caso, seria um parágrafo inteiro, mas poderíamos continuar a aproveitar o poder do LLM para compactar contextualmente a resposta para que ela tente mais diretamente para responder à nossa pergunta, vamos executá-la novamente por meio do recuperador de compactação contextual que está chegando no topo aqui da cadeia Lang e, em seguida, imprimiremos essa resposta também, então vamos executar a consulta e ver o que obtemos, volte ao nosso terminal, vamos executar nossa consulta, então diremos python query, uh pi, e então nossa pergunta será quem começou a AT&T, tudo bem, vamos tornar isso um pouco maior e podemos ver aqui que nossa pergunta foi quem começou a AT&T e a pesquisa semântica Retorna o pedaço de texto mais relevante, mas depois passando pela IA, a resposta da IA é apenas as partes relevantes do texto desse pedaço que respondem mais diretamente à pergunta, então eu espero que você veja como é fácil fazer a pesquisa semântica funcionar no mongodb usando a cadeia Lang agora, se você preferir ler uma versão escrita deste tutorial está vinculada na descrição do vídeo abaixo, experimente a pesquisa vetorial do mongodb em seu próximo projeto de IA e deixe-nos saber o que você acha se este vídeo foi útil, dê um like E inscreva-se para mais conteúdo excelente do mongodb ngodb