MongoDB Atlas: векторный поиск — интеграция
Автор: Ai Flowi · Опубликовано
Официальный источник: документация MongoDB Atlas Vector Search
MongoDB Atlas: векторный поиск в AI Flowi Workflow настраивается через поля URI кластера, базы данных, коллекции и векторного индекса. Настройте эти поля для подготовленной развёрнутой системы, подключите совместимую модель эмбеддингов и изучите результаты поиска JSON или Table. Этот интерфейс относится к векторному поиску и загрузке данных, а не к универсальному редактору запросов MongoDB.
MongoDB Atlas описан в каталоге; не проверен Ai Flowi в рабочей среде. Специфичные для Atlas поля определяют коллекцию, векторное поле и поисковый индекс. Пошаговое описание — пример настройки, а не зафиксированный тест.
1. Определите развёрнутую систему и индекс
Для Atlas выясните, какие права на базу данных даёт URI кластера, прежде чем выбирать тестовую коллекцию.
Запишите нужную базу данных и коллекцию вместе с именем индекса и векторным полем. Это разные селекторы: коллекция определяет записи, а настройки индекса описывают цель поиска. Экспорт не демонстрирует автоматическое создание индекса и не предоставляет процедуру настройки поставщика. Проверьте подготовленную систему до передачи в неё реального содержимого.
Не включайте URI подключения в копируемые снимки экрана и общедоступные примеры процессов. Он может содержать чувствительные сведения для аутентификации. Если среда использует клиентский сертификат, выясните, как передавать его конфиденциально и обслуживать, прежде чем включать соответствующий переключатель.
2. Изучите все входы Atlas
Интерфейс Atlas имеет более явные настройки индекса, чем интерфейс PGVector. Среди полей, помеченных как обязательные, — размерность и переключатель mTLS; «обязательное» не означает, что mTLS должен быть включён.
| Поле | Что нужно определить | Тип / обязательность | Типы подключений / варианты |
|---|---|---|---|
collection_name | Используйте идентификатор нужной коллекции в выбранной базе данных. | str / Да | Atlas: input_types отсутствует |
db_name | Уточните, с какой базой данных идёт работа, отдельно от имени коллекции. | str / Да | Atlas: input_types отсутствует |
embedding | Подключите объект Embeddings, совместимый с подготовленными векторами; в экспорте это поле помечено как необязательное. | other / Нет | Подключения Atlas: Embeddings |
enable_mtls | Осознанно задайте обязательное логическое значение согласно проверенной настройке подключения. | bool / Да | Atlas: input_types отсутствует |
filter_field | Выберите только поле, подтверждённое в настройке индекса; синтаксис фильтра не описан. | str / Нет | Atlas: input_types отсутствует |
index_field | Укажите нужное векторное поле и проверьте его структуру в подготовленных записях. | str / Да | Atlas: input_types отсутствует |
index_name | Используйте идентификатор подготовленного векторного индекса; не считайте эту настройку подтверждением создания индекса. | str / Да | Atlas: input_types отсутствует |
ingest_data | Подключайте Data, DataFrame или Table только после проверки поведения загрузки. | other / Нет | Подключения Atlas: Data, DataFrame, Table |
insert_mode | Осторожно выбирайте "append" или "overwrite"; затрагиваемая область и поведение повторного запуска не указаны. | str / Нет | Atlas: input_types отсутствует; варианты: "append", "overwrite" |
mongodb_atlas_client_cert | Передавайте конфиденциальные данные сертификата только в формате, принимаемом настроенной средой. | str / Нет | Atlas: input_types имеет значение [] |
mongodb_atlas_cluster_uri | Введите URI подключения к кластеру с нужными правами конфиденциально и скройте его в общедоступных материалах. | str / Да | Atlas: input_types имеет значение [] |
number_dimensions | Согласуйте с проверенным сохранённым представлением; универсальное значение размерности здесь не приведено. | int / Да | Atlas: input_types отсутствует |
number_of_results | Используйте ограниченное число результатов для начальной проверки поиска. | int / Нет | Atlas: input_types отсутствует |
quantization | Указанные варианты — "scalar" и "binary"; проверьте совместимость до выбора любого из них. | str / Нет | Atlas: input_types отсутствует; варианты: "scalar", "binary" |
search_query | Передайте вопрос для поиска через поле запроса, совместимое с Message. | query / Нет | Подключения Atlas: Message |
should_cache_vector_store | Проверьте актуальность данных после изменения коллекции или учётных данных; поведение кэша не указано. | bool / Нет | Atlas: input_types отсутствует |
similarity | Согласуйте с подготовленным индексом, используя "cosine", "euclidean" или "dotProduct", в зависимости от настройки. | str / Нет | Atlas: input_types отсутствует; варианты: "cosine", "euclidean", "dotProduct" |
3. Определите размерность и метрику сходства до поиска
Общие понятия описаны в разделе текстовых эмбеддингов; решение для Atlas здесь касается конкретных настроек индекса.
Скопируйте number_dimensions из проверенной настройки выбранного index_field, затем согласуйте similarity с записанной настройкой этого индекса. Точные варианты — "cosine", "euclidean" и "dotProduct". Сохраните этот регистр букв: настройка, скопированная у другого поставщика, может использовать другие метки. Если в коллекции несколько возможных векторных полей, определите нужное поле до задания размерности; одного имени коллекции недостаточно для выбора.
Отдельно проверьте quantization, используя экспортированные варианты "scalar" или "binary" только после проверки подготовленного индекса. Пометка «необязательное» не задаёт значение по умолчанию и не подтверждает, что изменение параметра перестраивает существующие записи. При исследовании другого варианта сохраняйте настройки до и после изменения и сравнивайте известные исходные фрагменты, вместо того чтобы обещать экономию памяти или точность по одной метке. Каталог указывает поставщиков эмбеддингов для отдельного подключения модели.
4. Настройте один синтетический поиск
- Выберите тестовую коллекцию с известными исходными материалами, которую можно удалить и подтвердите готовность её векторного индекса в своей среде.
- Добавьте MongoDB Atlas, конфиденциально задайте
mongodb_atlas_cluster_uriи заполнитеdb_name,collection_name,index_nameиindex_fieldпо подготовленной настройке. - Задайте
number_dimensionsравным подтверждённой размерности представления, аenable_mtls— согласно проверенному режиму подключения. Если он включён, настройтеmongodb_atlas_client_certв соответствии с требованиями среды. - Подключите соответствующий компонент эмбеддингов к
embedding, введите вопрос для поиска по этой коллекции вsearch_queryи задайтеnumber_of_resultsравным3как предлагаемый предел числа результатов для проверки. - Исключите загрузку данных из начального исследования. Изучите состояние базы данных вместе с выходом поиска, поскольку отсутствие подключения загрузки не доказывает, что записи Atlas остались неизменными.
- Проверьте возвращённые ссылки на источники и принадлежность результата нужной коллекции до передачи любого текста другому узлу.
5. Изучите принимающий порт и данные
Порты поиска Atlas — JSON (search_results) и Table (dataframe). Эти типы устанавливают совместимость портов, а не фиксированную схему результата. В экспорт не включены ни ключи результата, ни столбцы таблицы.
Желаемый выход — доступное для изучения найденное содержимое из подготовленной коллекции. Определите его фактические поля текста и ссылок в синтетическом запуске до построения ответа. Если позднее примените фильтр, подтвердите, что он меняет выбранные записи как задумано; селектор Atlas filter_field не может доказать соблюдение всех прав читателя.
Границы вставки и повторных попыток
insert_mode предлагает "append" и "overwrite". Эти имена требуют проверки до подключения исходных данных, особенно если существующая коллекция содержит материал, который нужно сохранить. Область перезаписи Atlas отсутствует в экспортированном контракте: она может касаться элемента, пакета или более широкого ресурса, поэтому этот пример не утверждает ничего об удалении.
Тестируйте загрузку отдельно на тестовых записях, которые можно удалить. Изучите повторные отправки и прерванные запуски, прежде чем решать, допустима ли автоматическая повторная попытка. Ни одно поле каталога не предоставляет ключ идемпотентности, и отдельный выход ошибки для этого компонента не экспортирован.
Когда интерфейс MongoDB Atlas не подходит?
Используйте другой путь для обычных задач MongoDB CRUD или обработки событий; эти действия не описаны полями векторного хранилища. Не используйте в рабочей среде, если неизвестны совместимость индекса или работа с сертификатами либо не определена область доступа при чтении. Страница не предоставляет измеренного качества поиска или гарантии безопасной изоляции.
Страница Pinecone описывает контракт другого поставщика с селекторами индекса и пространства имён. Сравнивайте эти конкретные границы настройки, а не предполагайте, что имена полей одного поставщика можно использовать в Atlas. Каталог интеграций содержит ссылки на связанные сервисы.
Особенности использования
Каждый запуск узла расходует 1 Flowi Token. Ежемесячный объём токенов: Go — 5,000; Plus — 10,000; Pro 100 — 50,000; Pro 200 — 100,000; Pro 500 — 250,000. Заказать демо
Считайте узлы и повторные попытки, наблюдаемые в рабочем процессе, а не принимайте число результатов или настройку размерности за общий объём использования.