Digital_Detectives_RAG_System / mongodb_atlas_vector_search_setup.md
GeorgiosIoannouCoder's picture
Update mongodb_atlas_vector_search_setup.md
e62ab21 verified
|
raw
history blame
3.05 kB

Author : Georgios Ioannou

Copyright © 2024 by Georgios Ioannou

Setting Up MongoDB with Atlas Vector Search

Initial Setup

  1. Create and log in to your MongoDB account at mongodb.com

  2. Create Organization and Project

    • Note that if you first create an account you have a default organization and project so you may need to skip Step 2.
    • Create a new MongoDB organization
    • Name your organization as desired
    • Create a new MongoDB project
    • Name your project as desired
  3. Create Cluster

    • Select M0 (FREE) tier
    • Make sure to uncheck "Preload sample dataset"
    • Keep everything else default.
    • Wait 1-3 minutes for cluster creation

Security Setup

  1. Create Database User

    • Create username and password
    • Then, click on continue.
    • Then, just close no need to choose a connection method.
    • Important: Save these credentials securely
  2. Configure Network Access

    • Navigate on the left menu to Security -> Network Access
    • Add IP Address: 0.0.0.0/0 (Allows access from anywhere)

Database Creation

  1. Set Up Database and Collection
    • Click "Clusters" on the left under "Database".
    • Click "Browse Collections"
    • Click "Add My Own Data"
    • Create database (e.g., "txts")
    • Create collection (e.g., "txts_collection")
    • No need to select any additional preferences.
    • Click "Create"

Vector Search Configuration

  1. Create Vector Search Index
    • Click "Search Indexes" (This will bring you to "Atlas Search" tab)
    • Click "Create Search Index"
    • Select "JSON Editor" under "Atlas Vector Search"
    • Click "Next"
    • Configure index settings:
          {
             "fields": [
                         {
                            "numDimensions": 768, // Adjust based on your model. (e.g., 768 for all-mpnet-base-v2 )
                            "path": "embedding", // Adjust it to your index/embedding column.
                            "similarity": "euclidean", // Adjust it to your desired similarity function.
                            "type": "vector"
                         },
                         {
                            "path": "source", // Adjust it to the column you would like to filter with.
                            "type": "filter"
                         }
                       ]
       }
      
    • Assign your index to the collection name created in step 6 using the drop down menu on the left.
    • Click "Next"
    • Click "Create Search Index"
    • Wait for status to change from "Pending" to "Active"

Note: While vector search index creation can be done programmatically, the GUI method described above is recommended for simplicity.

Connection String

  1. Get Your MongoDB URI
    • Click "Clusters" under DATABASE on the left menu
    • Click "Connect" next to name of your cluster
    • Select "Drivers"
    • Copy the connection/MongoURI string at the very end of the modal that just opened
    • Replace <password> with your database user password