Начало работы с MyScale через клиент Python

Старт работы с MyScale посредством клиента Python

Данные занимают важное место в практически каждой организации сегодня. Поскольку объемы данных продолжают расти, компании должны находить способы эффективного хранения, обработки и анализа своих данных. Это привело к взрыву рынка баз данных, с использованием как традиционных SQL-баз данных, так и новых векторных баз данных для выполнения различных задач.

Однако каждый тип баз данных имеет свои недостатки. Традиционные SQL-базы данных предлагают надежность, точность и удобство использования для структурированных данных, в то время как векторные базы данных оптимизированы для скорости и масштабируемости, особенно при больших объемах неструктурированных данных. Но вдруг не нужно делать выбор? Что, если бы существовала база данных, предлагающая лучшее из обоих миров?

В этом блоге мы рассмотрим MyScale, начиная с основ, таких как создание таблиц и определение индексов, до продвинутого поиска с помощью векторов на SQL. В конце мы также сравним MyScale с другими базами данных на рынке и посмотрим, почему MyScale лучше. Итак, давайте начнем.

Что такое MyScale?

MyScale (открывается в новом окне) – это облачная SQL-векторная база данных, специально разработанная и оптимизированная для управления большими объемами данных, используемых для приложений искусственного интеллекта. Она основана на ClickHouse (открывается в новом окне) (SQL-база данных), объединяющей возможность поиска по векторам с полной поддержкой SQL. В рамках одного интерфейса SQL-запрос может одновременно и быстро использовать различные модальности данных для обработки сложных требований ИИ, которые в противном случае потребуют больше шагов и времени.

В отличие от специализированных векторных баз данных, MyScale гармонично сочетает алгоритмы поиска по векторам с структурированными базами данных, позволяя управлять как векторами, так и структурированными данными в рамках одной базы данных. Это сочетание обеспечивает такие преимущества, как упрощенное взаимодействие, адаптируемая фильтрация метаданных, поддержка SQL и совместных запросов по векторам, а также совместимость с зрелыми инструментами, обычно связанными с универсальными базами данных общего назначения. В сущности, MyScale предлагает объединенное решение, обеспечивая всесторонний, эффективный и простой подход к решению сложностей управления данными ИИ.

Как запустить кластер в MyScale

Перед тем, как начать использовать MyScale в своем проекте, первое, что вам нужно сделать, это создать учетную запись и создать кластер, в котором будут храниться ваши данные. Вот шаги:

  • Войдите в аккаунт MyScale на myscale.com (открывается в новом окне)
  • После создания аккаунта нажмите кнопку «+ Новый кластер» на правой стороне страницы
  • Введите имя кластера и нажмите кнопку «Далее»
  • Подождите, пока кластер создастся; это займет несколько секунд

После создания кластера вы увидите текст “Кластер успешно запущен” на всплывающей кнопке.

Теперь следующий шаг – настройка рабочей среды и доступ к работающему кластеру. Давайте это сделаем.

Настройка среды

Для использования MyScale в вашей среде вам нужно иметь:

  • Python: MyScale предоставляет библиотеку клиента Python для взаимодействия с базой данных, поэтому на вашей системе должен быть установлен Python. Если у вас не установлен Python на вашем ПК, вы можете загрузить его с официального сайта Python (открывается в новом окне).
  • MyScale Python Client: Установите пакет клиента ClickHouse (открывается в новом окне) с помощью pip:

Подключение к кластеру

Следующий шаг – подключить приложение Python к кластеру, для этого нам понадобятся следующие данные:

  • Хост кластера
  • Имя пользователя
  • Пароль

Чтобы получить данные, вы можете вернуться в свой профиль MyScale, навести указатель мыши на три вертикально выровненных точки под текстом “Действия” и нажать на “Подробная информация о подключении”.

Как только вы нажмете на “Подробная информация о подключении”, вы увидите следующее окно:

Вот детали подключения, которые вам понадобятся для подключения к кластеру. Просто создайте файл блокнота Python в своем каталоге, скопируйте и вставьте следующий код в ячейку вашего блокнота и запустите ячейку. Он установит соединение с вашим кластером.

Создание базы данных

Следующий шаг – создать базу данных в кластере. Посмотрим, как это сделать:

Создание таблицы с использованием MyScale

Базовый синтаксис для создания таблицы в MyScale выглядит следующим образом:

Ключевую фразу ENGINE = engine_type важно использовать для определения хранения и обработки данных. Вы можете указать ORDER BY expression, который определяет, как данные физически хранятся в таблице. Это PRIMARY KEY expression используется для улучшения эффективности выборки данных. В отличие от традиционных SQL баз данных, первичный ключ в ClickHouse не обеспечивает уникальность, но используется в качестве инструмента оптимизации производительности для ускорения обработки запросов.

Импортирование данных для таблицы и создание индекса

Давайте приступим к практике, импортируя набор данных, а затем вы узнаете, как создать столбец на основе этого набора данных.

Вставка данных в определенную таблицу

После процесса создания таблицы следующим шагом является вставка данных в таблицу. Итак, мы вставим скачанные ранее данные.

Создать индекс вектора

Итак, следующим шагом является создание индекса вектора. Давайте посмотрим, как это делается.

Индекс вектора MSTG был создан компанией MyScale внутри и он значительно превзошел своих конкурентов по скорости, точности и эффективности затрат.

Чтобы проверить, успешно ли создан индекс вектора, мы попробуем выполнить следующую команду:

Написание различных типов SQL-запросов с использованием MyScale

MyScale позволяет вам написать различные типы запросов, от простых до сложных. Давайте начнем с очень простого запроса.

Это должно напечатать 10 ближайших соседей для заданной записи.

Написание запросов на естественном языке с использованием MyScale

Вы также можете делать запросы к MyScale с использованием естественного языка, но для этого нам потребуется создать еще одну таблицу с новыми данными и функциями нейронных сетей.

Перед созданием таблицы давайте загрузим данные. Оригинальный файл можно скачать здесь (открывает новое окно).

MyScale Становится Лидером на Рынке SQL Векторных Баз Данных

MyScale выделяется на рынке SQL векторных баз данных своим непревзойденным уровнем точности, производительностью и эффективностью затрат. Он превосходит другие интегрированные векторные базы данных, такие как pgvector и специализированные векторные базы данных, такие как Pinecone, обеспечивая гораздо более высокую точность поиска и более быструю обработку запросов по более низкой стоимости. Помимо производительности, интерфейс SQL максимально удобен для разработчиков, предлагая максимальную стоимость при минимальном необходимом обучении.

MyScale действительно разрабатывает новые стандарты. Это не только лучший поиск по векторам; он обеспечивает высокую точность и количество запросов в секунду (QPS) в ситуациях, связанных с сложными фильтрами метаданных. Кроме того, вот самое важное: если вы зарегистрируетесь, вы сможете бесплатно использовать пакет S1, который может обрабатывать до 5 миллионов векторов. Это выбор для всех, кто нуждается в мощном и экономичном решении для векторных баз данных.

MyScale Повышает Возможности Приложений через Интеграцию с Искусственным Интеллектом

MyScale расширяет свои возможности и позволяет вам создавать более надежные приложения с использованием интеграции с технологиями искусственного интеллекта. Давайте рассмотрим некоторые из таких интеграций, которые помогут улучшить ваше приложение MyScale.

Интеграция с LangChain

В сегодняшнем мире, где количество применений приложений искусственного интеллекта растет с каждым днем, нельзя создать надежное приложение искусственного интеллекта, просто объединив LLM с базами данных. Вам придется использовать различные фреймворки и инструменты для разработки более качественных приложений. В этом отношении MyScale предоставляет полную интеграцию с LangChain (открывает новое окно), позволяя создавать более эффективные и надежные приложения искусственного интеллекта с продвинутой стратегией извлечения. Ретриевер на основе самозвучащего запроса для MyScale (открывает новое окно) реализует гибкий и мощный метод преобразования текста в векторные запросы с фильтрацией метаданных, обеспечивая высокую точность во многих реальных сценариях.

Интеграция с OpenAI

Путем интеграции MyScale с OpenAI вы значительно улучшите точность и надежность вашего приложения искусственного интеллекта. OpenAI позволяет получить лучшие векторы вложений, сохраняя контекст и семантику. Это очень важно при использовании векторного поиска с помощью естественноязыковых запросов или извлечении вложений из ваших данных. Таким образом вы можете улучшить точность и надежность ваших приложений. Для более подробного понимания вы можете прочитать наши документы об интеграции с OpenAI (открывает новое окно).

Недавно OpenAI выпустила GPT, что позволяет разработчикам легко настраивать GPT и чат-боты. MyScale приспосабливается к этому сдвигу, преобразуя разработку системы RAG путем безшовного внедрения контекстов с серверной стороны в модели GPT. MyScale упрощает внедрение контекста с помощью фильтрации структурированных данных и семантического поиска с помощью SQL-условий WHERE, оптимизируя хранение базы знаний по цене и разрешая взаимное использование GPT. Вы можете попробовать использовать MyScaleGPT (открывает новое окно) в магазине GPT или связать вашу базу знаний с GPT с помощью MyScale (открывает новое окно).

Заключение

По мере роста искусственного интеллекта и машинного обучения возникает необходимость в базах данных, таких как MyScale, специально разработанных для современных приложений искусственного интеллекта. MyScale – это современная векторная база данных SQL, которая объединяет скорость и функционал традиционных баз данных с передовыми возможностями векторного поиска. Это идеальное сочетание для улучшения приложений искусственного интеллекта.

Самое главное, благодаря полной совместимости MyScale с синтаксисом SQL, каждый разработчик, знакомый с SQL, может быстро начать работать с MyScale. Более того, расходы на MyScale значительно ниже, чем на другие типы векторных баз данных (открывает новое окно). Это делает MyScale привлекательным выбором для предприятий, управляющих большим объемом данных, так как он предлагает преимущество при создании производственных приложений GenAI с помощью знакомого и эффективного SQL. Если вы хотите быть в курсе последних новостей о MyScale, добро пожаловать присоединиться к нам уже сегодня в Discord или Twitter.