Práticas recomendadas e tutoriais

PDF Demonstração do RAG: Criando fluxos de trabalho de IA simplificados com o Couchbase Shell

Anteriormente, mostramos como usar os recursos do Couchbase RAG por meio de um aplicativo Python que permite que o usuário "converse com seu PDF ou com X. É simples de construir, mas será que podemos construí-lo de forma mais simples? Tenho brincado bastante com o Couchbase Shell recentemente e ele deve me permitir fazer algo semelhante.

Configurar um escopo e uma coleção

Presumo que você já esteja familiarizado com Shell do Couchbase (cbsh) e ter um cluster e um modelo configurados.

Crie e selecione um escopo e uma coleção e, em seguida, crie um índice primário:

Transforme um PDF em texto dividido em partes

Há uma variedade de ferramentas que permitem converter um PDF em texto. Na maioria das distribuições Linux, você deve encontrar pdftotext.

Isso criará uma versão de texto do arquivo com o mesmo caminho, mas com um .txt extensão.

Com Nushell (o cbsh é baseado no Nushell), é fácil dividir o texto graças ao comando split. O problema é encontrar o delimitador correto que você precisa para dividir o arquivo. Felizmente, ele suporta strings de várias linhas, então copiei e colei o texto do arquivo entre dois parágrafos. Entretanto, você deve ser capaz de fazer algo mais sofisticado usando regex. Essa é a diferença entre o material do blog e a produção 😇.

Isso lhe dará uma tabela de strings de texto. Para importá-la para o Couchbase, nós as envolvemos em um campo de texto, em um objeto JSON de conteúdo, adicionamos um UUID gerado aleatoriamente e inserimos o resultado.

A próxima etapa é criar embeddings, ou representações vetoriais do texto:

Em seguida, crie o índice de pesquisa vetorial. Aqui ele é chamado de pdf, indexa o campo textVectorcrie um vetor de 1536 dimensões e use l2_norm para o algoritmo de similaridade, pois é o padrão.

Eu importei as regras do Monopoly e estou perguntando como sair da cadeia. No exemplo original, tínhamos uma resposta com contexto e outra sem.

E com contexto:

Vamos simplificar isso colocando tudo em um script. Este é o conteúdo de myScript.nu:

Você pode criar o arquivo de script e, em seguida, chamar essas funções:

Aqui, você pode ver o mesmo tipo de resultado que obtivemos na demonstração do Python RAG, mas desta vez usando o Couchbase Shell. Deve ser mais fácil manipular, alterar ou estender, porque você não precisa implantar um aplicativo ou conhecer Python. No entanto, ele será menos flexível do que o que você pode obter com Python e Langchain.

Se isso for do seu interesse, fique ligado - mais conteúdo sobre IA e Couchbase Shell está a caminho!

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Laurent Doguin

Laurent é um nerd metaleiro que mora em Paris. Em sua maior parte, ele escreve código em Java e texto estruturado em AsciiDoc, e frequentemente fala sobre dados, programação reativa e outras coisas que estão na moda. Ele também foi Developer Advocate do Clever Cloud e do Nuxeo, onde dedicou seu tempo e experiência para ajudar essas comunidades a crescerem e se fortalecerem. Atualmente, ele dirige as Relações com Desenvolvedores na Couchbase.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.