Как использовать искусственный интеллект для создания схем баз данных?
Проектирование базы данных для эффективного бэкэнд-решения – сложная задача. Выяснение всех необходимых классов, связей и т. д. может занять очень много времени.
Более того, принятие неверных решений на этапе проектирования может иметь пагубные последствия в дальнейшем производстве.
В этой статье мы обсудим использование искусственного интеллекта для генерации схем баз данных. Мы рассмотрим преимущества использования ИИ и его подводные камни, а также приведем несколько практических примеров.
Кроме того, вы узнаете, как использовать искусственный интеллект для создания полноценного бэкенда без написания кода!
Contents
- 1 Преимущества использования искусственного интеллекта для проектирования баз данных
- 2 Подводные камни при использовании искусственного интеллекта для проектирования баз данных
- 3 Как использовать искусственный интеллект для создания схемы базы данных?
- 4 Заключение
Преимущества использования искусственного интеллекта для проектирования баз данных
Давайте сначала рассмотрим преимущества использования искусственного интеллекта.
Автоматизация и экономическая эффективность
Первое и, вероятно, самое очевидное преимущество внедрения искусственного интеллекта в проектирование баз данных – это возможность автоматизировать различные задачи.
Сюда входит создание схемы базы данных, оптимизация базы данных, настройка индексов, написание расширенных запросов и т.д.
Все вышеперечисленное позволяет значительно сэкономить время и средства.
Оптимизация
ИИ играет важнейшую роль в оптимизации структур баз данных. С помощью передовых алгоритмов и машинного обучения ИИ может анализировать шаблоны использования данных и рекомендовать улучшения в схеме базы данных.
Такая оптимизация может привести к повышению производительности и отзывчивости вашего приложения.
Интеграция с существующими базами данных
Еще одно преимущество использования искусственного интеллекта заключается в том, что он может помочь вам модернизировать существующие базы данных.
Все, что вам нужно сделать, – это описать агенту ИИ текущую базу данных или сгенерировать дамп базы данных, а затем описать желаемые обновления.
Это становится еще проще, если вы используете Back4app Agent. Вместо того чтобы генерировать дамп базы данных, вы можете указать агенту подключиться к существующему приложению:
Connect to my "movie-reviews" app and create a new database class named `Watchlist`.
ИИ-агент соберет весь необходимый контекст и соответствующим образом обновит вашу базу данных.
Меньше подвержены ошибкам
Интеграция искусственного интеллекта в проектирование баз данных снижает вероятность человеческих ошибок.
Традиционные процессы проектирования и оптимизации баз данных часто предполагают ручное вмешательство, что повышает риск таких ошибок, как неправильное построение схемы, неэффективные запросы или неоптимальный выбор индекса.
Простая визуализация
Используя возможности искусственного интеллекта, вы можете легко визуализировать структуру базы данных. Для визуализации базы данных попросите агента искусственного интеллекта сгенерировать код визуализации для вашего любимого инструмента построения ER-диаграмм.
Вот пример для Mermaid:
Generate Mermaid ER diagram visualization code for my database.
Результат:
erDiagram
USER ||--o{ REVIEW : writes
MOVIE ||--o{ REVIEW : has
MOVIE ||--o{ MOVIEGENRE : has
USER {
username String
email String
emailVerified Boolean
displayName String
}
MOVIE {
title String
releaseDate Date
duration Number
director String
cast Array
synopsis String
}
// ...
Подводные камни при использовании искусственного интеллекта для проектирования баз данных
Галлюцинации
Агенты искусственного интеллекта иногда предоставляют правдоподобно звучащую, но неверную или нелепую информацию. Это известно как галлюцинации, и такое случается с большинством больших языковых моделей (LLM).
В связи с этим разработчикам, только начинающим работать с базами данных, не стоит использовать ИИ для создания схем баз данных.
Производительность
Не гарантируется, что сгенерированная ИИ схема базы данных будет оптимальной. Агент ИИ может неправильно понять, что вы пытаетесь создать, и предоставить вам неоптимальную или несовершенную схему базы данных.
Проектирование баз данных с помощью ИИ – это итеративный процесс. Если вы заметили, что агент ИИ допустил ошибку, укажите ему на это. Возможно, он сможет исправить ее или улучшить схему.
Краевые случаи
Использование искусственного интеллекта может оказаться не самой лучшей идеей, если ваш бизнес требует нетипичного дизайна базы данных. Большинство агентов ИИ были обучены на большом количестве типовых приложений.
Они не имеют представления о том, как работать с вашей специализированной базой данных.
В этом случае вам лучше положиться на экспертов, а не на общие решения на основе искусственного интеллекта.
Как использовать искусственный интеллект для создания схемы базы данных?
В этом разделе статьи мы рассмотрим три практических примера использования искусственного интеллекта для создания схемы базы данных. Примеры включают в себя простое приложение для блога, сайт электронной коммерции и сайт рецензий на фильмы.
После этого мы рассмотрим некоторые другие возможности ИИ-агента Back4app.
Следующие шаги потребуют от вас наличия учетной записи Back4app. Если у вас его еще нет, зарегистрируйтесь бесплатно.
Цели
- Создайте схему базы данных
- Создайте базу данных, используя схему
- Проанализируйте автоматически созданный RESTful и GraphQL API
- Просмотр автоматически генерируемой документации
- Использование функций облачного кода
Что такое Back4app Agent?
Back4app Agent – это агент на базе искусственного интеллекта, который позволяет выполнять задачи, связанные с облачными вычислениями, используя силу разговора.
Это и создание приложений, и развертывание приложений, и проектирование базы данных, и написание Docker-файлов или внешнего кода.
Используя Back4app Agent, вы получите своего личного DevOps-ассистента, работающего с вами 24 часа в сутки 7 дней в неделю. Самое замечательное в нем то, что он может обучаться на лету и совершенствоваться по мере того, как вы работаете.
Агент тесно интегрирован с Back4app и Back4app Containers. Агент просто необходим, если вы уже используете какую-либо из служб Back4app!
Помните, что агент ИИ – это не волшебный инструмент. Это большая, сложная языковая модель (LLM), которая может совершать ошибки. Если это произойдет, исправлять их придется вам. Кроме того, на одни и те же запросы (как и я) могут быть разные ответы.
Пример 1: Блог-сайт
В первом примере мы предложим агенту ИИ разработать схему базы данных блога. В этом примере мы предоставим как можно меньше информации, чтобы посмотреть, сможет ли агент ИИ догадаться о недостающих деталях.
Перейдите на страницу Back4app Agent, создайте нового агента и задайте ему следующий запрос:
Create a database schema for a simple blog. Each article in the blog should have a `title`, `shortContent`, `content`, `tags`, and other administrative data. The articles should be filterable by `tags`.
Диаграмма “сущность-связь” (ER) созданной схемы:
Как видите, агент успешно создал корректную схему базы данных. Он включил все необходимые классы и обработал отношения между ними. Кроме того, он включил административные поля Parse, такие как createdAt
, updatedAt
и ACL
.
Пример 2: Веб-сайт электронной коммерции
Двигаясь дальше, попробуем использовать более сложную схему базы данных. На этот раз для сайта электронной коммерции.
Отправьте агенту AI следующее приглашение:
Create a database schema for an e-commerce website. The database should allow sellers
to post listings. After a listing is posted, a user can open an order for it. The
order should be associated with the user's shipping address. Amazon is a good example
of what I'm looking for.
Агент создал следующую схему базы данных:
И снова агент вернул правильную схему базы данных.
Единственное, что я бы здесь изменил, – это перевернуть связь между заказом
и адресом
. Было бы более логично, если бы заказ был связан с одним адресом, а адрес можно было бы использовать во всех заказах.
Пример 3: Обзор веб-сайта
В последнем примере мы создадим схему базы данных рецензий на фильмы. Здесь мы предоставим как можно больше контекста, чтобы посмотреть, сможет ли агент ИИ создать схему, соответствующую нашим подробным инструкциям.
Предложите агенту ИИ следующее:
Create a database schema for a movie review website. The database should contain
the following models: `Movie`, `MovieGenre`, `Review`, and `User` (Parse).
Notes:
- A `Movie` can have multiple genres
- The `Review` should contain at least `title`, `content`, `rating`, and `is_critic`
- Each `Review` should be associated with a `User`
Make sure to include all the Parse administrative fields, such as `createdAt`,
`updatedAt`, and `ACL`.
Агент искусственного интеллекта создал следующую схему базы данных:
Еще одна замечательная схема.
Все классы были обработаны, и отношения выглядят хорошо. Здесь агент ИИ даже сгенерировал промежуточную модель, которая обрабатывает отношения M:N
между классами Movie
и Genre
.
Генерация базы данных
Как говорится во введении, Back4app Agent тесно интегрирован с другими сервисами Back4app.
Создание схемы базы данных – это лишь одна из задач, которые может выполнять агент ИИ. Получив схему, мы можем быстро создать базу данных.
Задайте агенту следующий вопрос:
Create a Back4app app called "back4app-reviews" using the generated database schema.
Отлично, похоже, агент успешно создал приложение и нужную структуру базы данных.
Затем попросите агента заполнить базу данных некоторыми данными:
Populate the database with sample users, movie genres, and reviews.
Убедитесь, что база данных создана и заполнена, перейдя на приборную панель Back4app, выбрав свое приложение и проверив записи в базе данных.
Вот и все!
Теперь у нас есть полнофункциональная база данных для сайта кинорецензий.
Автоматически создаваемые API
Back4app позволяет вам общаться с вашим бэкендом через:
- Автоматически генерируемый RESTful API
- Автоматически генерируемый API GraphQL
- Parse SDK
Давайте рассмотрим каждый из них.
RESTful API
REST основан на протоколе HTTP и использует различные методы HTTP, такие как GET
, POST
, PUT
и DELETE
для работы с ресурсами.
Эти операции часто называют CRUD (Create, Retrieve, Update, Delete). REST поддерживает множество форматов данных, но предпочтительным форматом является JSON.
Чтобы протестировать REST API, перейдите в свое приложение и на боковой панели выберите “API > Консоль > REST”.
Заполните форму, указав следующую информацию:
- Тип запроса GET
- Конечная точка: classes/Movie
- Мастер-ключ: Правда
Затем нажмите “Отправить запрос”, чтобы выполнить запрос.
Вы должны получить ответ, похожий на этот:
{
"results": [
{
"objectId": "AD1r4b9Oie",
"title": "The Fast Saga",
"duration": 120,
"director": "Justin Lin",
"cast": [
"Vin Diesel",
"Michelle Rodriguez"
],
"synopsis": "Street racing, heists, and espionage.",
"createdAt": "2024-02-03T21:53:54.724Z",
"updatedAt": "2024-02-03T21:53:54.724Z",
},
{
"objectId": "Sr6FQjnckj",
"title": "The Serious Case",
"duration": 140,
"director": "Christopher Nolan",
"cast": [
"Christian Bale",
"Michael Caine"
],
"synopsis": "An intricate story of human emotions and relationships",
"createdAt": "2024-02-03T21:53:54.724Z",
"updatedAt": "2024-02-03T21:53:54.724Z",
},
// ...
]
}
Операция со списком работает хорошо. Фильмы были успешно сериализованы и возвращены в формате JSON. Чтобы понять, как работает RESTful API, я предлагаю вам протестировать и другие операции.
Чтобы узнать больше о RESTful API, прочитайте статью Как создать RESTful API?
API GraphQL
GraphQL служит одновременно языком запросов и серверной средой выполнения, облегчающей разработку интерфейсов прикладного программирования (API).
Эта технология позволяет клиентам указывать данные, которые они требуют от API, избавляя их от необходимости зависеть от бэкенда в отношении заранее определенного набора данных.
Чтобы протестировать запросы GraphQL, перейдите в раздел “API > Консоль > GraphQL” на боковой панели.
Далее выполните следующий GraphQL-запрос:
{
reviews {
count
edges {
node {
objectId
rating
}
}
}
}
Как видите, запрос получил все отзывы, но включил только их objectId
и рейтинг.
Опять же, не стесняйтесь тестировать различные запросы и манипуляции.
Чтобы узнать больше о GraphQL, прочитайте статью Как создать GraphQL API?
Parse SDK
Parse SDK – это рекомендуемый способ соединения фронтенда с бэкендом. Он является наиболее надежным и наименее подверженным ошибкам.
Parse SDK поддерживает множество языков программирования и фреймворков, включая JavaScript, TypeScript, Objective-C и др.
Он позволяет выполнять операции CRUD, расширенные запросы и многое другое.
Чтобы узнать, как использовать Parse SDK, прочитайте статью Как разместить фронтенд и бэкенд?
Автоматически генерируемая документация
Еще одна замечательная особенность Back4app – автоматическая генерация документации для всех ваших моделей баз данных.
Вы получите простые, доступные для понимания текстовые объяснения и удобные фрагменты кода для различных языков программирования, таких как JavaScript, TypeScript, Objective-C, Swift и других.
Чтобы получить доступ к документам, перейдите в свое приложение и выберите “API > API Reference” на боковой панели:
Вот скриншот того, как выглядят документы:
Облачный код
Back4app позволяет выполнять пользовательский JavaScript-код с помощью так называемых функций Cloud Code.
С помощью этих функций можно выполнять сложные операции, такие как агрегация данных, экспорт и т. д.
Функция Cloud Code может быть вызвана запросами Parse или HTTP или запланирована для выполнения в будущем.
Функция облачного кода
Предположим, нам нужна функция Cloud Code, которая вычисляет средний рейтинг фильма. Мы могли бы написать и развернуть ее сами, но проще попросить об этом агента ИИ.
Перейдите на экран агента AI Agent и задайте ему следующие вопросы:
Please write me a Cloud Code function that calculates a movie's average rating. The the function should take in the movie's `objectId` and return a float (average rating).
Проверьте его с помощью следующей команды cURL:
$ curl -X POST \
-H "X-Parse-Application-Id: <your_app_id>" \
-H "X-Parse-REST-API-Key: <your_rest_api_key>" \
-H "Content-Type: application/json" \
-d '{"movieId": "<movie_object_id>"}' \
https://parseapi.back4app.com/functions/calculateAverageRating
Убедитесь, что вы заменили местоимения (
<your_app_id>
,<your_rest_api_key>
, и<movie_object_id>
) на реальные значения. Чтобы получить “Идентификатор приложения” и “Ключ REST API”, перейдите в свое приложение и выберите “Настройки приложения > Безопасность и ключи” на боковой панели.
Вы должны получить аналогичный ответ:
{
"result": 4.25
}
Чтобы увидеть код, сгенерированный в фоновом режиме, перейдите к разделу “Код облака > Функции и веб-хостинг” на боковой панели. Затем выберите файл main.js в папке облака.
Планирование облачного кода
Наконец, предложите агенту ИИ запланировать еженедельную работу:
Create and deploy a Cloud Code job named `clearRatings()`, which deletes all
the ratings. Schedule it to run every week.
Агент успешно создал задание и запланировал его на неделю.
Заключение
Итак, мы успешно использовали искусственный интеллект для создания схемы базы данных.
Мы также узнали, как создать приложение и базу данных Back4app, сгенерировать примерные данные и реализовать пользовательские функции Cloud Code, и все это с помощью общения.
Помните, что создание схемы базы данных с помощью ИИ – это итерационный процесс. Если вы считаете, что что-то можно реализовать лучше, объясните это агенту, и он изменит вашу схему соответствующим образом.
Дополнительные ресурсы статьи доступны на репо back4app-ai-agent-schema.