Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Junte-se a nós no Amazon Web Services re:Invent 2024! Saiba como usar o MongoDB para casos de uso de AI .
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
MongoDBchevron-right

Aproveite o Atlas Vector Search com o HashiCorp Terraform: capacitando a pesquisa semântica em aplicativos modernos

Rutuja Rajwade, Zuhair Ahmed4 min read • Published May 02, 2024 • Updated May 02, 2024
TerraformMongoDB
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Atlas Vector Search​embeddings) criado por modelos de aprendizado de máquina.
Isso permite que os desenvolvedores criem aplicativos inteligentes que podem entender e processar a linguagem humana de uma maneira que os métodos tradicionais de pesquisa baseados em texto não podem, pois produzirão apenas uma correspondência exata para a consulta.
Por exemplo, pesquisar por “warm winter jackets” em um site de comércio eletrônico que só oferece suporte à pesquisa baseada em texto pode retornar produtos com as palavras-chave de correspondência exata " warm, " " winter, " e " jackets. " A pesquisa vetorial, por outro lado, entende o significado semântico de "warm winter jackets'' como vestuário projetado para temperaturas frias. Ele recupera itens que não são apenas rotulados como "jaquetas de inverno", mas são projetados especificamente para o calor, incluindo produtos que podem ser descritos com termos relacionados como "isolado", oferecendo aos usuários resultados de pesquisa mais úteis.
Integrar o MongoDB Atlas Vector Search com ferramentas de infraestrutura como código (IaC), como o HashiCorp Terraform, pode então simplificar e otimizar seus fluxos de trabalho de desenvolvimento, garantindo que recursos sofisticados de pesquisa sejam incorporados diretamente ao processo de implantação da infraestrutura.
Este guia mostrará como começar a usar o Atlas Vector Search por meio do nosso fornecedor HashiCorp Terraform Atlas. Vamos começar!

Pré-requisitos

Etapa 1: Implemente o cluster dedicado do Atlas com nós do Atlas Search

Primeiro, precisamos implantar recursos básicos do Atlas para começar. Isso inclui um projeto Atlas, um cluster Atlas dedicado M10 (que é pago conforme o uso, ótimo para desenvolvimento e aplicativos de baixo tráfego), um usuário de banco de dados e uma entrada de lista de acesso IP.
Observação: ao configurar seu MongoDB Atlas cluster com Terraform, é importante restringir o acesso IP apenas ao endereço IP a partir do qual o script Terraform será implantado. Isso minimiza o risco de acesso não autorizado.
Além disso, como parte deste tutorial, usaremos Atlas Search Nodes (opcional). Eles fornecem infraestrutura dedicada para cargas de trabalhoAtlas Search e MongoDB Atlas Vector Search, permitindo que você dimensione totalmente a pesquisa independentemente das necessidades do banco de dados. A incorporação de Atlas Search Nodes em sua Atlas permite melhor desempenho em escala e oferece isolamento de carga de trabalho, maior disponibilidade e a capacidade de otimizar o uso de recursos.
Por último, ao usar o Terraform para gerenciar a infraestrutura, é recomendável manter práticas organizadas de gerenciamento de arquivos. Normalmente, suas configurações/scripts do Terraform serão gravados em arquivos com a extensão.tf, como main.tf. Esse arquivo, que estamos usando neste tutorial, contém os principais detalhes de configuração para distribuir recursos e deve estar localizado idealmente em um diretório de projeto dedicado em sua máquina local ou na Terraform Cloud.
Veja o script do Terraform abaixo como parte do nosso arquivomain.tf:
1terraform {
2 required_providers {
3 mongodbatlas = {
4 source = "mongodb/mongodbatlas"
5 }
6 }
7 required_version = ">= 0.13"
8}
9
10resource "mongodbatlas_project" "exampleProject" {
11 name = "exampleProject"
12 org_id = "63234d3234ec0946eedcd7da"
13}
14
15resource "mongodbatlas_advanced_cluster" "exampleCluster" {
16 project_id = mongodbatlas_project.exampleProject.id
17 name = "ClusterExample"
18 cluster_type = "REPLICASET"
19
20 replication_specs {
21 region_configs {
22 electable_specs {
23 instance_size = "M10"
24 node_count = 3
25 }
26 provider_name = "AWS"
27 priority = 7
28 region_name = "US_EAST_1"
29 }
30 }
31}
32
33resource "mongodbatlas_search_deployment" "exampleSearchNode" {
34 project_id = mongodbatlas_project.exampleProject.id
35 cluster_name = mongodbatlas_advanced_cluster.exampleCluster.name
36 specs = [
37 {
38 instance_size = "S20_HIGHCPU_NVME"
39 node_count = 2
40 }
41 ]
42}
43
44resource "mongodbatlas_database_user" "testUser" {
45 username = "username123"
46 password = "password-test123"
47 project_id = mongodbatlas_project.exampleProject.id
48 auth_database_name = "admin"
49
50 roles {
51 role_name = "readWrite"
52 database_name = "dbforApp"
53 }
54}
55
56resource "mongodbatlas_project_ip_access_list" "test" {
57 project_id = mongodbatlas_project.exampleProject.id
58 ip_address = "174.218.210.1"
59}
Observação: antes de distribuir, certifique-se de armazenar suas chaves de API programáticas do MongoDB Atlas criadas como parte dos pré-requisitos como variáveis de ambiente. Para implementar, você pode usar os comandos abaixo do terminal:
1terraform init
2terraform plan
3terraform apply

Etapa 2: Crie suas coleções com dados vetoriais

Para este tutorial, você pode criar sua própria coleção de dados vetorizados se tiver dados para utilizar.
Como alternativa, você pode usar nossos dados de amostra. Isso é ótimo para fins de teste. A collection que você pode usar é a "sample_mflix.embedded_movies" que já tem incorporações geradas pelo Open AI.
Para utilizar dados de exemplo, a partir da UI do Atlas, acesse a página Visão Geral do cluster Atlas e selecione "Atlas Search " na parte superior do menu apresentado. (Visão geral do cluster na interface do usuário do Atlas)
Em seguida, clique em "Load a Sample Dataset. " (Menu do Atlas Search na IU do Atlas)

Etapa 3: Adicionar índice de pesquisa vetorial na configuração do Terraform

Agora, volte ao Terraform e crie um Atlas Search com o tipo "vectorSearch. ". Se você estiver usando os dados de amostra, inclua também uma referência ao banco de dados "sample_mflix " e à collection "embedded_movies. "
Por último, você precisará definir o parâmetro "fields " conforme nosso exemplo abaixo. Consulte nossa documentação para saber mais sobre como indexar campos para o Atlas Search vetorial e os parâmetros necessários associados.
1resource "mongodbatlas_search_index" "test-basic-search-vector" {
2 name = "test-basic-search-index"
3 project_id = mongodbatlas_project.exampleProject.id
4 cluster_name = mongodbatlas_advanced_cluster.exampleCluster.name
5 type = "vectorSearch"
6 database = "sample_mflix"
7 collection_name = "embedded_movies"
8 fields = <<-EOF
9 [{
10 "type": "vector",
11 "path": "plot_embedding",
12 "numDimensions": 1536,
13 "similarity": "euclidean"
14 }]
15 EOF
16}
Para implantar novamente, você pode usar os comandos abaixo do terminal:
1terraform init
2terraform plan
3terraform apply
Se sua implementação foi bem-sucedida, você será recebido com "Apply complete! " ( Terraform no terminal mostrando o sistema)
Para confirmar, você deve conseguir ver seu recurso de índice recém-criado do Atlas Search na interface do usuário do Atlas com o tipo de índice “vectorSearch” e o Status como “ACTIVE.” (UI do Atlas mostrando o sistema Vector Search)

Etapa 4: Obtenha a string de conexão e conecte-se ao MongoDB Shell para iniciar as queries do Atlas Vector Search

Enquanto ainda estiver na interface do usuário do Atlas, volte à página inicial, clique em "Connect " em seu cluster do Atlas e selecione "Shell. "
(Página UI do Atlas onde você pode escolher um método de conexão do cluster)
Isso gerará sua connection string que você pode usar no MongoDB Shell para se conectar ao seu Atlas cluster.

Tudo feito

Parabéns! Você tem tudo o que precisa agora para executar suas primeiras queries do Vector Search.
Com as etapas acima, as equipes podem aproveitar os índices do Atlas Vector Search e os nós de pesquisa dedicados para o provedor Terraform MongoDB Atlas para criar um sistema de geração, pesquisa semântica ou recomendações de recuperação com facilidade.
O provedor HashiCorp Terraform Atlas é de código aberto sob a Licença Pública do Mozilla v2.0 e agradecemos as contribuições da comunidade. Para saber mais, consulte nossas diretrizes de contribuição.
A maneira mais rápida de começar é criar uma conta MongoDB Atlas no AWS Marketplace ou noGoogle Cloud Marketplace. Para saber mais sobre o provedor Terraform, confira a documentação, oresumo da soluçãoe ostutoriais, ou comece hojemesmo.
Go construir com o MongoDB Atlas e o provedor HashiCorp Terraform Atlas hoje!
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.
Iniciar a conversa

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Início rápido

MongoDB e Node.js 3.3.2 Tutorial - Operações CRUD


Oct 01, 2024 | 17 min read
Tutorial

Tutorial de ponta a ponta do Kafka para MongoDB Atlas


Jun 07, 2023 | 6 min read
Tutorial

Otimizando o desempenho de $lookup usando o poder da indexação


Aug 30, 2024 | 7 min read
Tutorial

Um guia para novatos sobre como integrar o MongoDB com o TensorFlow usando JavaScript


Sep 04, 2024 | 15 min read
Sumário