Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

LangChain統合を始める

項目一覧

  • バックグラウンド
  • 前提条件
  • 環境を設定する
  • Atlas をベクトル ストアとして使用
  • Atlas Vector Search インデックスの作成
  • ベクトル検索クエリの実行
  • データに関する質問に答えます

注意

このチュートリアルでは、Lgachein の Python ライブラリ を使用します 。JavaScriptライブラリを使用するチュートリアルについては、 「 Lgachein JavaScript / Typescript統合を使い始める 」を参照してください。

Atlas Vector Searchと Lgachein を統合できますLLM アプリケーションを構築し、検索拡張生成(RAG )を実装します。このチュートリアルでは、Lgachein と Atlas Vector Search の使用を開始し、データに対してセマンティック検索を実行し、 RAG実装を構築する方法を説明します。 具体的には、次のアクションを実行します。

  1. 環境を設定します。

  2. カスタム データを Atlas に保存します。

  3. データに Atlas Vector Search インデックスを作成します。

  4. 次のベクトル検索クエリを実行します。

    • セマンティック検索。

    • スコア付きのセマンティック検索。

    • メタデータの事前フィルタリングによるセマンティック検索。

  5. Atlas Vector Search を使用してデータの質問に答え、 RAGを実装します。

LLMは、「チェーン」の使用を通じて LVM アプリケーションの作成を簡素化するオープンソースのフレームワークです。 チェーンは 、 RAGを含むさまざまな AI ユースケースで組み合わせることができる Lgachein 固有のコンポーネントです。

RAGと統合することで、Atlas Vector Search Atlasをベクトルデータベースとして使用し、 を使用してセマンティックで類似したドキュメントを検索して RG を実装することができます。Atlas Vector SearchRAGRGRAG Atlas Vector Searchの詳細については、「 による検索拡張生成( ) 」を してください。

Atlas の サンプル データ セット からの映画データを含むコレクションを使用します。

  • MongoDB バージョン 6.0.11 を実行している Atlas クラスター、 7.0.2、またはそれ以降( RCを含む)。

  • OpenAI API キー。 API リクエストに使用できるクレジットを持つ有料の OpenAI アカウントが必要です。

  • Comb などのインタラクティブ Python ノートを実行するための環境。

    注意

    Colab を使用している場合は、ノートブックセッションの IP アドレスが Atlas プロジェクトのアクセスリストに含まれていることを確認します。

最初に、このチュートリアルの環境を設定する必要があります。 .ipynb拡張機能のファイルを保存して、インタラクティブ Python ノートを作成し、ノート内で次のコード スニペットを実行します。

1

次のコマンドを実行します:

%pip install --upgrade --quiet langchain langchain-community langchain-core langchain-mongodb langchain-openai pymongo pypdf

次に、次のコードを実行して必要なパッケージをインポートします。

import getpass, os, pymongo, pprint
from langchain_community.document_loaders import PyPDFLoader
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
from langchain_mongodb import MongoDBAtlasVectorSearch
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain.prompts import PromptTemplate
from langchain.text_splitter import RecursiveCharacterTextSplitter
from pymongo import MongoClient
from pymongo.operations import SearchIndexModel
2

次のコードを実行し、プロンプトが表示されたら、次の内容を提供します。

os.environ["OPENAI_API_KEY"] = getpass.getpass("OpenAI API Key:")
ATLAS_CONNECTION_STRING = getpass.getpass("MongoDB Atlas SRV Connection String:")

注意

接続stringには、次の形式を使用する必要があります。

mongodb+srv://<db_username>:<db_password>@<clusterName>.<hostname>.mongodb.net

次に、カスタム データを Atlas にロードし、Atlas をベクトルデータベースとしてインスタンス化します。これは ベクトルストア とも呼ばれますが、 。次のコード スニペットをコピーして、ノートに貼り付けます。

1

次のコードを実行して、Atlas クラスターへの接続を確立します。 これは、以下を指定します。

  • langchain_db.test データをロードするコレクションの名前である。

  • vector_index データのクエリに使用する Atlas Vector Search インデックスの名前として 。

# Connect to your Atlas cluster
client = MongoClient(ATLAS_CONNECTION_STRING)
# Define collection and index name
db_name = "langchain_db"
collection_name = "test"
atlas_collection = client[db_name][collection_name]
vector_search_index = "vector_index"
2

このチュートリアルでは、「 MongoDB Atlas のベストプラクティス 」というタイトルの一般にアクセス可能な PDF ドキュメントを使用します。 ベクトル ストアのデータソースとして。このドキュメントでは、Atlas 配置を管理するためのさまざまな推奨事項と主要概念について説明します。

サンプル データをロードするには、次のコード スニペットを実行します。 この処理では、次の処理が行われます。

  • 指定された URL から PDF を検索し、未加工のテキスト データを読み込みます。

  • テキストスプリット を使用する データを小さなドキュメントに分割します。

  • 各ドキュメントの文字数と連続する 2 つのドキュメント間で重複する文字数を決定する チャンク パラメータを指定します。

# Load the PDF
loader = PyPDFLoader("https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP")
data = loader.load()
# Split PDF into documents
text_splitter = RecursiveCharacterTextSplitter(chunk_size=200, chunk_overlap=20)
docs = text_splitter.split_documents(data)
# Print the first document
docs[0]
Document(page_content='Mong oDB Atlas Best P racticesJanuary 20 19A MongoD B White P aper', metadata={'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 0})
3

次のコードを実行して、サンプル ドキュメントからvector_storeという名前のベクトル ストアを作成します。 このスニペットは、 MongoDBAtlasVectorSearch.from_documentsメソッドを使用して、次のパラメータを指定します。

  • ベクトルデータベースに保存する サンプル ドキュメント 。

  • embeddingフィールドのベクトル埋め込みにテキストを変換するために使用されるモデルとしての OpenAI の埋め込みモデル。

  • langchain_db.test ドキュメントを保存する Atlas コレクションとして。

  • vector_index ベクトル ストアをクエリするために使用するインデックスとして 。

# Create the vector store
vector_store = MongoDBAtlasVectorSearch.from_documents(
documents = docs,
embedding = OpenAIEmbeddings(disallowed_special=()),
collection = atlas_collection,
index_name = vector_search_index
)

Tip

サンプル コードを実行した後、クラスター内のlangchain_db.testコレクションに移動すると、Atlas UI でベクトル埋め込みを表示できます。

注意

Atlas Vector Search インデックスを作成するには、Atlas プロジェクトに対するProject Data Access Admin以上のアクセス権が必要です。

ベクトル ストアでベクトル検索クエリを有効にするには、 langchain_db.testコレクションに Atlas Vector Search インデックスを作成します。

ノート次のコードを実行して、次のフィールドのインデックス作成を指定するvectorSearchタイプのインデックスを作成します。

  • embedding ベクトル型としての フィールド。 embeddingフィールドには、OpenAI のtext-embedding-ada-002埋め込みモデルを使用して作成された埋め込みが含まれます。 インデックス定義では、 1536ベクトル次元を指定し、 cosineを使用して類似性を測定します。

  • page PDF 内のページ番号でデータを事前にフィルタリングするためのフィルタータイプとしての フィールド。

1# Create your index model, then create the search index
2search_index_model = SearchIndexModel(
3 definition={
4 "fields": [
5 {
6 "type": "vector",
7 "path": "embedding",
8 "numDimensions": 1536,
9 "similarity": "cosine"
10 },
11 {
12 "type": "filter",
13 "path": "page"
14 }
15 ]
16 },
17 name="vector_index",
18 type="vectorSearch"
19)
20
21atlas_collection.create_search_index(model=search_index_model)

インデックスの構築には約 1 分かかります。 構築中、インデックスは最初の同期状態になります。 構築が完了したら、コレクション内のデータのクエリを開始できます。

Atlas がインデックスをビルドしたら、データに対してベクトル検索クエリを実行します。 次の例は、ベクトル化されたデータに対して実行できるさまざまなクエリを示しています。

次のクエリは、 similarity_searchメソッドを使用して、string MongoDB Atlas securityの基本的なセマンティック検索を実行します。 関連性順にランク付けされたドキュメントのリストが返されます。

query = "MongoDB Atlas security"
results = vector_store.similarity_search(query)
pprint.pprint(results)
[Document(page_content='To ensure a secure system right out of the b ox,\nauthentication and I P Address whitelisting are\nautomatically enabled.\nReview the security section of the MongoD B Atlas', metadata={'_id': ObjectId('65c2e8f480f26794dedad8d5'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='MongoD B Atlas team are also monitoring the underlying\ninfrastructure, ensuring that it is always in a healthy state.\nApplication L ogs And Database L ogs', metadata={'_id': ObjectId('65c2e8f480f26794dedad8a0'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 15}),
Document(page_content='MongoD B.\nMongoD B Atlas incorporates best practices to help keep\nmanaged databases healthy and optimized. T hey ensure\noperational continuity by converting comple x manual tasks', metadata={'_id': ObjectId('65c2e8f380f26794dedad883'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 13}),
Document(page_content='Atlas provides encryption of data at rest with encrypted\nstorage volumes.\nOptionally , Atlas users can configure an additional layer of\nencryption on their data at rest using the MongoD B', metadata={'_id': ObjectId('65c2e8f480f26794dedad8e3'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 18})]

次のクエリは、 similarity_search_with_scoreメソッドを使用して string MongoDB Atlas securityのセマンティック検索を実行し、返されるドキュメント数を3に制限するためにkパラメーターを指定します。

注意

この例のkパラメータは、同じ名前のknnBeta演算子オプションではなく、 similarity_search_with_scoreメソッド オプションを参照します。

最も関連性の高い 3 つのドキュメントと、 01の間の関連性スコアが返されます。

query = "MongoDB Atlas security"
results = vector_store.similarity_search_with_score(
query = query, k = 3
)
pprint.pprint(results)
[(Document(page_content='To ensure a secure system right out of the b ox,\nauthentication and I P Address whitelisting are\nautomatically enabled.\nReview the security section of the MongoD B Atlas', metadata={'_id': ObjectId('65c2e8f480f26794dedad8d5'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
0.935082197189331),
(Document(page_content='MongoD B Atlas team are also monitoring the underlying\ninfrastructure, ensuring that it is always in a healthy state.\nApplication L ogs And Database L ogs', metadata={'_id': ObjectId('65c2e8f480f26794dedad8a0'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 15}),
0.9335962533950806),
(Document(page_content='MongoD B.\nMongoD B Atlas incorporates best practices to help keep\nmanaged databases healthy and optimized. T hey ensure\noperational continuity by converting comple x manual tasks', metadata={'_id': ObjectId('65c2e8f380f26794dedad883'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 13}),
0.9317940473556519)]

MQLブール値、数値、または の値とインデックス付きフィールドを比較するstring マッチ式を使用して、データを事前にフィルタリングできます。フィルタリングするメタデータ フィールドはすべてfilterタイプとしてインデックス化する必要があります。 詳細については、「ベクトル検索のフィールドにインデックスを作成する方法 」を参照してください。

注意

このチュートリアルのインデックスを作成したときに、 pageフィールドをフィルターとして指定しました。

次のクエリは、 similarity_search_with_scoreメソッドを使用して string MongoDB Atlas securityのセマンティック検索を実行します。 また、次の項目も指定します。

  • 返されるドキュメント数を3に制限するkパラメーター。

  • $eq演算子を使用して17ページにのみ表示されるドキュメントを照合するpageフィールドの事前フィルタリング。

ページ17から最も関連性の高いドキュメント 3 つと、 01の間の関連性スコアが返されます。

query = "MongoDB Atlas security"
results = vector_store.similarity_search_with_score(
query = query,
k = 3,
pre_filter = { "page": { "$eq": 17 } }
)
pprint.pprint(results)
[(Document(page_content='To ensure a secure system right out of the b ox,\nauthentication and I P Address whitelisting are\nautomatically enabled.\nReview the security section of the MongoD B Atlas', metadata={'_id': ObjectId('65c2e8f480f26794dedad8d5'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
0.935082197189331),
(Document(page_content='Security\nAs with all software, MongoD B administrators must\nconsider security and risk e xposure for a MongoD B\ndeployment. T here are no magic solutions for risk', metadata={'_id': ObjectId('65c2e8f480f26794dedad8d0'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
0.920635461807251),
(Document(page_content='number of diff erent methods for managing risk and\nreducing risk e xposure.\nMongoD B Atlas f eatures e xtensive capabilities to def end,\ndetect, and control access to MongoD B, off ering among', metadata={'_id': ObjectId('65c2e8f480f26794dedad8d2'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
0.9206267595291138)]

Tip

以下も参照してください。

セマンティック検索メソッドの完全なリストについては、 API リファレンスを参照してください。

このセクションでは、RAG Atlas Vector Searchと を使用してアプリケーションに RG を実装する方法を説明します。Atlas Vector Searchを使用してセマンティックに類似したドキュメントを検索したので、次のコード例を実行して、それらのドキュメントに基づいて質問に答えるようにLLMに指示します。

この例では、次の処理を行います。

  • Atlas Vector Search をレプリカとして インスタンスk 10は、類似したドキュメントをクエリします。これには、最も関連性の高いドキュメントのみを検索するためのオプションの パラメーターも含まれています。

  • LgChuin プロンプトのテンプレート を定義するLLM は、これらのドキュメントをクエリのコンテキストとして使用するように指示します。LgChart はこれらのドキュメントを{context}入力変数に渡し、クエリを{question}変数に渡します。

  • 連鎖 を構築します は、以下を指定します。

    • Atlas Vector SearchとしてLLMによってコンテキストとして使用されるドキュメントを検索するためのドライバーとしての Atlas Vector Search 。

    • 構築した プロンプト テンプレート。

    • コンテキスト対応の応答を生成するために使用される LM としてのLLMのチャット モデル。

  • Atlas のセキュリティ推奨事項に関するサンプル クエリでチェーンをプロンプトします。

  • LLMの応答とコンテキストとして使用されたドキュメントを返します。 生成される応答は異なる場合があります。

# Instantiate Atlas Vector Search as a retriever
retriever = vector_store.as_retriever(
search_type = "similarity",
search_kwargs = { "k": 10 }
)
# Define a prompt template
template = """
Use the following pieces of context to answer the question at the end.
If you don't know the answer, just say that you don't know, don't try to make up an answer.
{context}
Question: {question}
"""
custom_rag_prompt = PromptTemplate.from_template(template)
llm = ChatOpenAI()
def format_docs(docs):
return "\n\n".join(doc.page_content for doc in docs)
# Construct a chain to answer questions on your data
rag_chain = (
{ "context": retriever | format_docs, "question": RunnablePassthrough()}
| custom_rag_prompt
| llm
| StrOutputParser()
)
# Prompt the chain
question = "How can I secure my MongoDB Atlas cluster?"
answer = rag_chain.invoke(question)
print("Question: " + question)
print("Answer: " + answer)
# Return source documents
documents = retriever.invoke(question)
print("\nSource documents:")
pprint.pprint(documents)
Question: How can I secure my MongoDB Atlas cluster?
Answer: To secure your MongoDB Atlas cluster, you can enable
authentication and IP address whitelisting, review the security section
in the MongoDB Atlas dashboard, encrypt data at rest with encrypted storage
volumes, optionally configure an additional layer of encryption on your
data, set up global clusters on Amazon Web Services, Microsoft Azure,
and Google Cloud Platform, and ensure operational continuity by choosing
appropriate instance size, storage size, and storage speed options.
Additionally, consider setting up a larger number of replica nodes for
increased protection against database downtime.
Source documents:
[Document(page_content='To ensure a secure system right out of the b ox,\nauthentication and I P Address whitelisting are\nautomatically enabled.\nReview the security section of the MongoD B Atlas', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe0436'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='MongoD B Atlas team are also monitoring the underlying\ninfrastructure, ensuring that it is always in a healthy state.\nApplication L ogs And Database L ogs', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe0401'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 15}),
Document(page_content='All the user needs to do in order for MongoD B Atlas to\nautomatically deploy the cluster is to select a handful of\noptions:\n•Instance size\n•Storage size (optional)\n•Storage speed (optional)', metadata={'_id': ObjectId('65fb4f046979cf7cbbfe03ef'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 14}),
Document(page_content='MongoD B.\nMongoD B Atlas incorporates best practices to help keep\nmanaged databases healthy and optimized. T hey ensure\noperational continuity by converting comple x manual tasks', metadata={'_id': ObjectId('65fb4f046979cf7cbbfe03e4'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 13}),
Document(page_content='You can set up global clusters — available on Amazon W eb\nServices, Microsoft Azure, and Google Cloud Platform —\nwith just a f ew clic ks in the MongoD B Atlas U I. MongoD B', metadata={'_id': ObjectId('65fb4f046979cf7cbbfe03bb'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 12}),
Document(page_content='Table of Contents\n1 Introduction\n2 Preparing for a MongoD B Deployment\n9 Scaling a MongoD B Atlas Cluster\n11 Continuous A vailability & Data Consistency\n12 Managing MongoD B\n16 Security', metadata={'_id': ObjectId('65fb4f026979cf7cbbfe02d6'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 1}),
Document(page_content='Atlas provides encryption of data at rest with encrypted\nstorage volumes.\nOptionally , Atlas users can configure an additional layer of\nencryption on their data at rest using the MongoD B', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe0444'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 18}),
Document(page_content='Disaster Recovery\nCreated by the engineers who develop the database,\nMongoD B Atlas is the simplest way to run MongoD B,\nmaking it easy to deploy , monitor , backup, and scale\nMongoD B.', metadata={'_id': ObjectId('65fb4f046979cf7cbbfe03e3'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 13}),
Document(page_content='Security\nAs with all software, MongoD B administrators must\nconsider security and risk e xposure for a MongoD B\ndeployment. T here are no magic solutions for risk', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe0431'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='A larger number of replica nodes provides increased\nprotection against database downtime in case of multiple\nmachine failures.\nMongoD B Atlas replica sets have a minimum of 3 nodes', metadata={'_id': ObjectId('65fb4f046979cf7cbbfe03ca'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 12})]

この例では、次の処理を行います。

  • Atlas Vector Search をレプリカとして インスタンス 化 次の任意のパラメーターを含む類似したドキュメントをクエリします。

    • k 最も関連性の高い10のみを検索するには

    • score_threshold 関連性スコアが0.75を超えるドキュメントのみを使用するようにします。

      注意

      このパラメーターは、Atlas Search クエリで使用される関連性スコアではなく、Lgache が結果を正規化するために使用する関連性スコアを示します。 RAG実装で Atlas Search スコアを使用するには、 similarity_search_with_scoreメソッドを使用し、Atlas Search スコアでフィルタリングするカスタム リージョンを定義します。

    • pre_filter ページ17にのみ表示されるドキュメントをpageフィールドでフィルタリングします。

  • LgChuin プロンプトのテンプレート を定義するLLM は、これらのドキュメントをクエリのコンテキストとして使用するように指示します。LgChart はこれらのドキュメントを{context}入力変数に渡し、クエリを{question}変数に渡します。

  • 連鎖 を構築します は、以下を指定します。

    • Atlas Vector SearchとしてLLMによってコンテキストとして使用されるドキュメントを検索するためのドライバーとしての Atlas Vector Search 。

    • 構築した プロンプト テンプレート。

    • コンテキスト対応の応答を生成するために使用される LM としてのLLMのチャット モデル。

  • Atlas のセキュリティ推奨事項に関するサンプル クエリでチェーンをプロンプトします。

  • LLMの応答とコンテキストとして使用されたドキュメントを返します。 生成される応答は異なる場合があります。

# Instantiate Atlas Vector Search as a retriever
retriever = vector_store.as_retriever(
search_type = "similarity",
search_kwargs = {
"k": 10,
"score_threshold": 0.75,
"pre_filter": { "page": { "$eq": 17 } }
}
)
# Define a prompt template
template = """
Use the following pieces of context to answer the question at the end.
If you don't know the answer, just say that you don't know, don't try to make up an answer.
{context}
Question: {question}
"""
custom_rag_prompt = PromptTemplate.from_template(template)
llm = ChatOpenAI()
def format_docs(docs):
return "\n\n".join(doc.page_content for doc in docs)
# Construct a chain to answer questions on your data
rag_chain = (
{ "context": retriever | format_docs, "question": RunnablePassthrough()}
| custom_rag_prompt
| llm
| StrOutputParser()
)
# Prompt the chain
question = "How can I secure my MongoDB Atlas cluster?"
answer = rag_chain.invoke(question)
print("Question: " + question)
print("Answer: " + answer)
# Return source documents
documents = retriever.invoke(question)
print("\nSource documents:")
pprint.pprint(documents)
Question: How can I secure my MongoDB Atlas cluster?
Answer: To secure your MongoDB Atlas cluster, you can enable
authentication and IP Address whitelisting, define permissions
for users and applications, use VPC Peering for secure connectivity,
implement a Defense in Depth approach for securing deployments, and
consider using LDAP integration for centralized authorization
management. It is important to regularly review the security section
of MongoDB Atlas and continuously monitor and update security measures
to mitigate risk and maintain a secure deployment.
Source documents:
[Document(page_content='To ensure a secure system right out of the b ox,\nauthentication and I P Address whitelisting are\nautomatically enabled.\nReview the security section of the MongoD B Atlas', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe0436'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='Security\nAs with all software, MongoD B administrators must\nconsider security and risk e xposure for a MongoD B\ndeployment. T here are no magic solutions for risk', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe0431'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='number of diff erent methods for managing risk and\nreducing risk e xposure.\nMongoD B Atlas f eatures e xtensive capabilities to def end,\ndetect, and control access to MongoD B, off ering among', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe0433'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='permissions for a user or application, and what data it can\naccess when querying MongoD B. MongoD B Atlas provides\nthe ability to provision users with roles specific to a', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe043b'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='connectivity without using public I P addresses, and without\nneeding to whitelist every client in your MongoD B Atlas\ngroup.\nAuthorization\nMongoD B Atlas allows administrators to define', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe043a'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='mitigation, and maintaining a secure MongoD B deployment\nis an ongoing process.\nDefense in Depth\nA Def ense in Depth approac h is recommended for\nsecuring MongoD B deployments, and it addresses a', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe0432'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='optimization.\nIn addition, MongoD B Atlas provides pac kaged integration\nwith the New Relic platform. K ey metrics from MongoD B\nAtlas are accessible to the AP M for visualization, enabling', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe042e'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='their I P address (or a C IDR covering their I P address) has\nbeen added to the IP whitelist for your MongoD B Atlas\ngroup.\nVPC P eering\nVirtual P rivate Cloud (VPC) P eering allows users to create', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe0438'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='dedicated A tlas clusters using credentials that are verified\nby a centralized L DAP server . Authorization management is\nsimplified by allowing control at the L DAP group level.', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe043d'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17}),
Document(page_content='database, making it possible to realize a separation of\nduties between diff erent entities accessing and managing\nthe data.\nAtlas supports L DAP integration, allowing users to login to', metadata={'_id': ObjectId('65fb4f056979cf7cbbfe043c'), 'source': 'https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4HkJP', 'page': 17})]

戻る

LgChuin