Servidor Couchbase

O Couchbase Shell (cbsh) chega à versão 1.0: Liberando o poder da pesquisa vetorial e muito mais

É com grande satisfação que anunciamos a disponibilidade geral (GA) do Shell do Couchbase (cbsh)uma poderosa ferramenta de linha de comando criada com base no nushell projetado para tornar suas interações com o Couchbase mais fáceis e eficientes. O shell do Couchbase oferece suporte a recursos de pesquisa vetorial que pode ser usado para potencializar os aplicativos GenAI, permitindo que os aplicativos recuperem itens semanticamente semelhantes com base em incorporação de vetores representações dos itens em um espaço multidimensional. Com essa versão, a cbsh apresenta pesquisa vetorial permitindo que os usuários criem índices vetoriais e realizem pesquisas vetoriais (como pesquisa de similaridade) diretamente da linha de comando. Isso permite muitos casos de uso para os usuários, como teste e modificação de parâmetros de modelo, consulta de vetores ad hoc e criação de scripts a partir de uma interface de linha de comando simples.

O que é o Couchbase Shell?

O Couchbase Shell é uma ferramenta CLI de código aberto adaptada para desenvolvedores e administradores que trabalham com Couchbase Capella e Couchbase Server. Ele permite que os usuários monitorem, consultem, carreguem dados, exportem dados e realizem pesquisas vetoriais completas rapidamente por meio de uma ferramenta de linha de comando simples, facilmente extensível e com recursos modernos, como realce de sintaxe, preenchimento automático inteligente, ajuda contextual e mensagens de erro.

A ferramenta está disponível como um Couchbase Apoio da comunidade projeto.

Compatível com Linux, Mac, Windows (visite instalação para obter a lista completa).

Principais recursos

    • Pipelines de comando, realce de sintaxe e completador automático
    • Gerenciamento de conexões
    • Carregando dados
    • Exportação de dados
    • Pesquisa de vetores
    • Suporte à operação de chave-valor (KV)
    • Consulta de dados usando SQL++

Aqui estão alguns dos recursos de destaque do Couchbase Shell. 

Pipelines de comando, realce de sintaxe e completador automático

Em resumo, dutos permitem a combinação de vários comandos, semelhante aos pipes (|) do Linux. O Cbsh se baseia nisso adicionando comandos personalizados do Couchbase para interagir com seu cluster. Além disso, dependendo do seu shell, ele ativará o destaque de sintaxe e sugerirá o preenchimento automático. Por exemplo, o seguinte usa comandos básicos do nushell para abrir um arquivo JSON local e, em seguida, formatá-lo em uma tabela:

Observe que o realce da sintaxe pode ser diferente para você com base no shell de sua escolha

Uma vez formatado da seguinte maneira você pode canalizar o resultado para o cbsh personalizado comando doc upsert para inserir o JSON em seu cluster do Couchbase. O pipeline completo para abrir o documento, formatar e depois inserir é: 

Gerenciamento de conexões

O Couchbase Shell simplifica gerenciamento de conexõespermitindo que você estabeleça e gerencie conexões com o Couchbase com o mínimo de esforço. Os usuários têm duas opções para se conectar ao Couchbase:

Gerenciamento de conexão em linha de comando (argumentos da CLI)

Conectar-se ao Couchbase Shell por meio de argumentos da CLI é simples e permite que você comece a trabalhar rapidamente com seus clusters do Couchbase a partir da linha de comando. Os principais argumentos que você precisará fornecer são a string de conexão do cluster, seu nome de usuário e sua senha. Além disso, você pode especificar outros parâmetros, como o bucket com o qual deseja interagir, o escopo e a coleção específicos e até mesmo o mecanismo de autenticação, se necessário.

Exemplo de conexão básica

Para conectar-se a um cluster do CouchbaseVocê pode usar o seguinte comando:

Conexão a um bucket específico

Para se conectar a um bucket em um cluster do Couchbase, você pode usar o seguinte comando:

Conexão via arquivo de configuração

Na primeira vez em que você executar o ./cbsh você receberá um prompt perguntando se deseja criar um arquivo de configuração. Se você escolher "yes", o shell apresentará uma série de solicitações para fornecer informações sobre o cluster padrão. Se você escolher "no", ele tentará se conectar a um cluster local em execução no localhost usando o nome de usuário "Administrator" e a senha "password". O arquivo de configuração deve ser chamado de configuração e ser colocado em um .cbsh no seu diretório pessoal ou no diretório a partir do qual o shell está sendo executado. Mais detalhes podem ser encontrados em nosso site de documentação.

O exemplo de configuração abaixo mostra como definir dois clusters diferentes - um no Capella e outro em um cluster local do Couchbase. Opcionalmente, os usuários também podem adicionar uma configuração de modelo de linguagem grande (LLM) que descreveremos mais tarde na seção Pesquisa de vetores.

Carregando dados

Carregando dados no Couchbase usando o Couchbase Shell é um processo simples que permite preencher rapidamente o banco de dados com opções para carregar dados:

    • Arquivos JSON de documento único
    • Arquivos JSON de vários documentos
    • Arquivos CSV
    • Qualquer chamada à CLI que produza texto estruturado compatível com o nushell

Os usuários podem usar aberto ou de para primeiro carregar dados no Couchbase Shell, que podem ser enviados ao Couchbase Server usando importação de documentos ou inserção de documentos comandos.

Visite nossa documentação para amostras de código e carregar receitas de dados.

Exportação de dados

A exportação de dados do Couchbase usando o Couchbase Shell é uma maneira eficiente de fazer backup dos dados, movê-los entre ambientes ou simplesmente extraí-los para análise. A ferramenta cbsh fornece um comando simples para exportar dados diretamente do cluster do Couchbase para arquivos JSON, facilitando o manuseio de dados fora do ambiente do banco de dados. As contrapartidas de exportação para aberto e de, são salvar e para. Você pode usar os dois comandos para obter dados tabulares do shell e armazená-los em arquivos com o formato de destino necessário.

Visite nossa documentação para amostras de código e exportar receitas de dados.

Pesquisa vetorial

O principal recurso dessa versão é o suporte para pesquisa vetorial. Esse recurso permite que você realize pesquisas de similaridade em um determinado corpus de documentos, tudo a partir de uma interface de linha de comando (CLI). Isso é muito útil para experimentar e testar seus modelos e realizar pesquisas vetoriais ad-hoc facilmente por meio da linha de comando.

A pesquisa vetorial no Couchbase é alimentada pela integração de modelos de IA/ML que convertem texto, imagens ou outros tipos de dados em vetores. Esses vetores podem então ser comparados para encontrar itens semelhantes, proporcionando uma experiência de pesquisa mais relevante em comparação com as abordagens tradicionais baseadas em palavras-chave.

Antes de iniciar a pesquisa de vetores, os usuários precisam definir qual modelo de linguagem grande (LLM) desejam usar. Atualmente, o cbsh é compatível com os seguintes LLMs:

    1. OpenAI
    2. Gemini (Google)
    3. Bedrock (AWS)

Visite o Documentação do LLM para amostras de configuração.

Normalmente, a pesquisa de vetores é um processo de três etapas:

1 - Gerar embeddings para campos em uma coleção

Normalmente, isso é feito quando os documentos são criados ou atualizados ou, se já houver um conjunto de dados existente, é feito como uma operação em massa. Com o cbsh, isso pode ser feito usando o comando vetor enrich-doc comando. Por exemplo, o exemplo a seguir tem 3 partes canalizadas juntas:

    1. Consulta de documentos na coleção de referência.
    2. Enviar o conteúdo da parte anterior do campo conjunto de resultados para o LLM para gerar embeddings de vetores. Nessa etapa, o campo especificado é enviado ao ponto de extremidade do LLM e a resposta é capturada. Observe que você deve ter a definição do LLM configurada no arquivo de configuração. Se você tiver vários modelos que deseja experimentar, poderá definir vários LLMs no arquivo de configuração e alternar o LLM usando cb-env LLM <identifier> comando. Todos os LLMs retornam um número padrão de dimensões, mas você pode substituí-lo usando o comando -dimensões opções. Esse comando, por padrão, armazena o vetor em um campo chamado fieldVector, que é contentVector em nosso exemplo, já que o nome do nosso campo é conteúdo. Você pode substituir o nome padrão do campo vetorial usando o parâmetro -vectorField opção.
    3. Salve os embeddings de vetor inserindo-os novamente no banco de dados. 

Esse comando envia o campo especificado (conteúdo) para o LLM definido no arquivo de configuração, que gera e retorna embeddings de vetor. Os embeddings de vetor retornados são salvos no documento, supondo que o documento canalizado tenha um campo de identificação e conteúdo. Caso contrário, o usuário pode especificar um ID e um campo de conteúdo personalizados.

Observe que esse comando pressupõe que o bucket padrão esteja definido como amostra de viagem.

2 - Criar um índice vetorial para as incorporações salvas

Isso é sempre executado após a etapa 1. Com o cbsh, isso pode ser feito usando o comando criar índice O comando a seguir criará um novo índice de vetor chamado índice do vetor de conteúdo de referência sobre vetores com dimensão 1024. Observe que as dimensões especificadas aqui devem corresponder ao valor das dimensões na etapa 1. Se você usar o valor padrão de dimensão do seu LLM, poderá verificar esse número na documentação do LLM ou simplesmente contar o número de elementos do vetor que foram gerados na etapa 1:

3 - Gerar incorporação de vetor para a palavra-chave de pesquisa

Etapa 3: Gerar incorporação de vetor para uma palavra-chave de pesquisa usando vetor enriquecer-texto e realizar uma pesquisa vetorial no índice vetorial usando o comando pesquisa vetorial comando:

Por fim, o resultado de uma pesquisa vetorial pode ser canalizado para um documento ou subdoc obter para recuperar o conteúdo dos documentos encontrados. Além disso, podemos tornar a saída mais bonita imprimindo apenas os campos relevantes:

Suporte à operação Key-Value (KV)

O shell do Couchbase suporta nativamente a execução de operações de valor-chave. As operações de valor-chave são exclusivas do Couchbase e fornecem operações CRUD muito rápidas para documentos armazenados no Couchbase. 

Comando cbsh para ler documentos por meio do serviço KV

Você pode recuperar um documento com doc get:

Para distinguir o conteúdo real dos metadados, o conteúdo é aninhado no campo de conteúdo. Se você quiser ter tudo no nível superior, poderá usar o pipe para o comando flatten:

E você pode obter vários documentos usando um comando como o abaixo:

Comando cbsh para gravar documentos por meio do serviço KV

Os documentos podem ser alterados com inserção de documentos, inserção de documentos e doc replace.

Todos esses três comandos recebem argumentos semelhantes. Se você quiser alterar apenas um único documento, passar o ID e o conteúdo como argumentos é a maneira mais simples:

Os documentos podem ser removidos com remoção de documentos.

Há muitas outras operações de KV que você pode fazer, como subdoc get. Acesse nossa documentação para saber mais sobre as operações do KV.

Consultar dados usando SQL++

Em execução Consultas SQL++ usando o Shell do Couchbase é um dos recursos mais avançados da ferramenta, permitindo que você interaja com os dados do Couchbase de maneira flexível e eficiente. O SQL++, uma extensão do SQL projetada para dados JSON, permite que você realize consultas complexas, inclusive uniões, agregações e subconsultas, diretamente da linha de comando com o cbsh.

Por exemplo, podemos ver quantas companhias aéreas estão operando na "França" nos dados da amostra de viagens:

O SQL++ é ainda mais avançado, pois os usuários podem usar parâmetros nomeados e também usar piping (|) para redirecionar o conjunto de resultados do comando de consulta para outros comandos. Visite nosso documentação para obter mais detalhes.

Comece a usar

Para ajudá-lo a começar a usar o cbsh, preparamos um guia de introdução detalhado em nosso documentação site. Aqui está uma visão geral rápida de como começar:

    • Obtendo o cbsh: Faça o download do cbsh para seu sistema operacional no site Site do shell do Couchbase.
    • Conecte-se ao seu cluster: A maneira recomendada é criar um arquivo de configuração conforme especificado em arquivo de configuração documentação.
    • Executar operações CRUD, executar consultasou Pesquisa de vetorese aproveitar os recursos avançados do Couchbase. Para que você possa começar rapidamente, nossa documentação fornece receitas para alguns casos de uso comuns.

Suporte à comunidade e ao código aberto

Acreditamos no poder da comunidade e no desenvolvimento de código aberto. Couchbase cbsh é de código abertoe incentivamos você a contribuir, fornecer feedback e participar da conversa. Participe do Fóruns do Couchbase ou Discórdia do Couchbase.

Leitura adicional

Para saber mais, confira nosso site de documentação. Ele entra em mais detalhes sobre vários comandos e configurações suportados, especialmente em relação às credenciais de conexão, e exemplos de comandos de piping juntos para alcançar os resultados desejados.

Feliz shell de comando!

A equipe do Couchbase



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

Autor

Postado por Vishal Dhiman, gerente sênior de produtos Gerente de produtos

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.