Последняя глава моей миссии по созданию и развертыванию API на основе ИИ для пассивного дохода завершена. После больших усилий и самоотверженности я создал машину, которая зарабатывает деньги с минимальными усилиями.

В предыдущем разделе я подробно описал конструкцию API. Теперь вы можете прочитать это здесь, а вот репозиторий GitHub, содержащий сам код.

Привет! Если вы читаете это, я хотел бы пригласить вас попробовать мой API, размещенный на торговой площадке Rapid API. Он имеет дополнительные функции и работает быстрее, чем другие API, так почему бы не попробовать?

Кроме того, используя мой API, вы будете помогать мне и давать ценные отзывы о том, как улучшить код. Так что не медлите — попробуйте прямо сейчас!

Спецификация API.

Спецификация API — это технический документ, описывающий все тонкости работы интерфейса прикладного программирования (API). Это похоже на план API — он точно сообщает разработчикам, что им нужно сделать, чтобы их приложение работало с API. Думайте об этом как о кулинарной книге, но вместо рецептов вы получаете код!

API генерации текста

Эта конечная точка предоставляет разработчикам возможность создавать открытый текст с заданными подсказками. Он принимает запрос POST, который содержит в качестве параметров подсказку, уровень случайности и количество токенов (слов). Ответ представляет собой массив сгенерированных текстов на основе заданных входных данных.

Endpoint = /api/v1/text-generation
Method = POST
Json = {
    "prompt": "write a short story about a dragon and knight",
    "random": 0.5,
    "token": 900
  }

RESULT
"text":"Once upon a time, there was a brave knight named Sir Galahad who lived
in a small kingdom. He had always dreamed of becoming a hero and one day, 
he received an invitation from the King to join his court. Sir Galahad accepted the invitation and soon found himself in the King's court. 
But little did he know that this would be no ordinary court meeting. 
For today, the King had summoned him to fight a dragon! 
The dragon was huge and powerful and it seemed almost impossible for 
Sir Galahad to defeat it. But he was determined not to give up without a fight. 
He took out his sword and shield and charged towards the dragon with all his might. 
The dragon roared back at him with its fiery breath but Sir Galahad held his ground and fought bravely. 
After what seemed like an eternity of clashing swords, Sir Galahad finally 
managed to slay the dragon with one mighty stroke of his sword. 
As the dragon lay dead, Sir Galahad felt a great sense of pride for having achieved something so difficult. 
He was now truly a knight worthy of being called heroic! 
The King praised Sir Galahad for his courage and bravery and rewarded him with riches beyond his wildest dreams. 
From that day forward, Sir Galahad was known as one of the bravest knights in all the land!"

Конечная точка создания изображения

Эта конечная точка предоставляет разработчикам возможность создавать изображения на основе заданных запросов. Он принимает запрос POST, который содержит приглашение и количество изображений в качестве параметров. Ответ представляет собой массив сгенерированных изображений на основе заданных входных данных.

Endpoint = /api/vi/image-generation
Method = POST
Json = {
    "prompt": "an oil painting of a dancing cat",
    "number": 1
}

Конечная точка варианта изображения

Этот API предоставляет разработчикам возможность создавать варианты существующих изображений, применяя к ним различные фильтры или эффекты. Он принимает запрос POST, который содержит URL-адрес изображения, количество вариантов и является ли это ссылкой или файлом в качестве параметров. Ответ представляет собой массив измененных изображений на основе заданных входных данных.

Endpoint = /api/vi/image-generation
Method = POST
Json = {
    "image": "https://resources.bestfriends.org/sites/default/files/styles/large/public/2019-01/introducing-dogs-cats-resource_0.jpg",
    "number": 1,
    "is_link": 1
}

Развертывание.

Создание файла Requirements.txt с помощью pipreqs

Первым шагом при создании API является создание файла requirements.txt, в котором указано, какие пакеты необходимы для проекта.

Для этого мы будем использовать pipreqs — инструмент, который упрощает создание файлов требований из проектов Python. Чтобы установить pipreqs, просто запустите команду в окне терминала.

pip install pipreqs
###USAGE
pipreqs <path/to/project>

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

Добавление Gunicorn «Green Unicorn» в качестве HTTP-сервера Python WSGI для UNIX

Создав файл requirements.txt, вы можете добавить Gunicorn в качестве HTTP-сервера Python WSGI для UNIX. Это позволит вашему приложению взаимодействовать с веб-серверами и обеспечит быстрое время отклика при обработке запросов от пользователей или других служб.

Для этого вам необходимо установить правильную версию Gunicorn в вашей системе и добавить ее в файл требований.

pip install gunicorn

Flask==2.2.2
Flask_RESTful==0.3.9
## Add this line to your requirements.txt.
gunicorn==20.1.0 
## NOTE: use pip show gunicorn to get the current version
openai==0.25.0
Pillow==9.3.0

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

Загрузка файла кода и требований в общедоступный репозиторий

Наконец, когда все настроено правильно, вы можете загрузить свой код и файл требований в общедоступный репозиторий на GitHub или на любой другой хостинг-сайт, поддерживающий системы контроля версий, такие как Git или Mercurial. При этом убедитесь, что оба файла находятся на корневом уровне вашей структуры папок, чтобы render.com мог легко получить к ним доступ.

Развертывание на render.com

Сначала зайдите на Render.com и создайте учетную запись. Не забудьте подключить свою учетную запись GitHub, чтобы вы могли легко получить доступ к любым репозиториям кода, которые вы могли там сохранить.

После создания учетной записи нажмите синюю кнопку с надписью «Создать» и выберите «Веб-служба». Здесь вы сможете выбрать репозиторий, содержащий код для вашего веб-сервиса, а также ввести соответствующую информацию, такую ​​как имя веб-сервиса, регион, в котором он должен быть размещен, ветку репозитория для использования, корневую папку, команду сборки, и запустить команду.

После того, как вся эта информация заполнена правильно, нажмите «Создать веб-сервис» внизу страницы, и пусть Render позаботится обо всем остальном!

Попадание в Rapid API Marketplace

Для начала создайте учетную запись в RapidAPI, если у вас ее еще нет. Вам будет предложено ввести личную информацию (имя, адрес электронной почты), а также установить имя пользователя и пароль для новой учетной записи. После завершения вы получите электронное письмо с уведомлением о том, что ваша учетная запись создана и готова к использованию.

После регистрации перейдите в раздел «Мои API» на верхней панели и нажмите «Добавить новый API». Затем вы можете ввести сведения о своем API, такие как его имя, описание, номер версии и конечную точку URL.

Далее нужно настроить аутентификацию для вашего API. Вы можете выбрать либо Basic Auth, либо OpenAuth2, в зависимости от того, что вам больше подходит. Basic Auth требует, чтобы пользователи вашего API вводили имя пользователя и пароль, в то время как OpenAuth2 позволяет пользователям входить в систему, используя свои учетные данные OAuth (Google+, Facebook).

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

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

Это позволяет потенциальным клиентам понять, что они получают от использования вашего продукта или услуги, прежде чем брать на себя финансовые обязательства!

Наконец нажмите «Отправить» — поздравляем! Ваш API был успешно загружен на торговую площадку RapidAPI, где разработчики со всего мира теперь могут легко найти его и получить к нему доступ!