OpenAI API: Как использовать на практике в SEO

OpenAI API: Как использовать на практике в SEO

В этой статье я постараюсь объяснить ценность использования API продуктов OpenAI простым языком на понятных примерах. Постараемся кратко поговорить об общем применении и немного углубимся в контекст SEO продвижения веб-сайтов. В конце статьи вас ждет подарок, поэтому читайте до конца.

OpenAI API: Как использовать на практике в SEO

Привет, интернет! С момента релиза ChatGPT от компании OpenAI в 2022 году использование нейросетей перешло на абсолютно новый уровень. Сегодня можно бесконечно придумывать задачи, которые успешно могут решать нейросети. И также бесконечно ностальгировать по тем временам, когда мы делали все своими ручками или ручками сотен других людей. Топ-менеджеры из Амазон понимают о чем я.

Перейдем к делу.

Какие задачи решают продукты OpenAI сегодня

  • Написать статью, реферат, сочинение, эссе.

  • Перевести текст с разных языков.

  • Ответить на любой вопрос, даже очень тупой.

  • Сгенерировать список идей.

  • Написать и поправить код программы.

  • Проанализировать данные.

  • Сгенерировать картинку.

  • Поискать информацию в интернете.

  • Сочинить песню, басню, анекдот.

  • Выступить личным психологом.

  • И т. д.

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

Но, помимо этого у OpenAI есть API - очень крутой инструмент, который можно легко интегрировать в любой продукт, приложение, веб-сайт. Он позволит пользоваться всем своим функционалом, только уже подстроившись под контекст определенных задач, которые решает ваше приложение или веб-сайт. Ну или просто работать с ним из консоли.

Например, у меня есть веб-сайт по продаже разного барахла с Алиэкспресс. У меня тысяча товаров разного назначения, и мне нужно написать для всех текст описания. Да так написать, чтобы сам текст продавал этот товар!

Здесь на помощь и приходит API. Можно просто встроить весь функционал генерации текстов в наш веб-сайт и заставить генерировать все описания для наших товаров. Ниже мы узнаем, как это сделать.

Что такое API

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

Как работать с OpenAI API

Для начала работы нужно получить специальный ключ API Key. 3 шага и 3 минуты.

  • Зарегистрируйтесь на OpenAI, если у вас еще нет аккаунта.
  • После регистрации войдите в аккаунт и перейдите на страницу API keys.
  • Нажмите на кнопку Create new secret key и сохраните ключ, это простая строка, вроде пароля. Этот ключ понадобится для доступа ко всем функциям API.
OpenAI API: Как использовать на практике в SEO

Это платный продукт, поэтому нужно будет привязывать карту. Про стоимость отдельно будет ниже (спойлер: цена вполне доступная). Как оплачивать из России, тоже, коротко расскажу чуть ниже.

Уберите от экранов программистов, дальше будут сцены с говнокодом на Python!!!

Переходим к простым примерам.

Создание простого запроса на генерацию текста

Теперь можно отправить запрос к API. Т. к. в заголовке был анонс про SEO, то вот релевантный пример. Я хочу создать продающий текст для карточки товара “Шапка викинга с бородой”. Пишем…

...
...
# импортируем библиотеку openai from openai import OpenAI # создаем объект client = OpenAI(api_key="ваш ключ api") # передаем запрос к API с помощью специальных методов completion = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "user", "content": "Напиши продающий текст описания для товара в мой интернет-магазин. Название товара: шапка викинга с бородой." } ] ) # выводим ответ - готовый текст print(completion.choices[0].message)

Запускаем код, и получаем моментальный ответ.

OpenAI API: Как использовать на практике в SEO

Все в коде пояснять не буду, объясню лишь основное, что нам интересно:

  • Задать модель, которая будет писать текст - у нас это “gpt-4o”.
  • Задать роль для модели - у нас это “user”.
  • Написать сам промпт в значение параметра “content”.
  • Далее ответ нам вернется в формате JSON, из которого мы просто извлекаем нужный нам текст.

Нужно сказать, что также существуют роли system и assistant. System - системная роль модели, она более высокоуровневая. В ней можно задать основные настройки модели, что она должна делать и как должна отвечать. Например: “Ты профессиональный SEO специалист, который отлично разбирается в алгоритмах поисковых систем.”

completion = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "system", "content": "Ты профессиональный SEO специалист, который отлично разбирается в алгоритмах поисковых систем." }, { "role": "user", "content": "Напиши seo оптимизированный текст для описания товара Шапка викинга с бородой." } ] )

Assistant - роль помощника, это роль самой модели, которая реагирует на действия пользователя в соответствии с контекстом, заданным системой.

В простых скриптах я обычно использую только роль user. Но при разработке каких-то сложных систем, нужно задавать роли для правильной структуры и ясности, кто что пишет и как отвечает.

Зачем писать код?

В чем прикол писать код, если все это есть в UI интерфейсе намного удобнее, шире и понятнее? Дело в том, что это простой запрос с простым ответом для примера. А если таких запросов нужно сделать тысячу? Если у вас на сайте тысяча позиций, то создавать для них тексты в чате будет очень долго и утомительно. Весь смысл нейросетей - передать им обработку рутинных задач, испаряется.

Интерфейс ChatGPT, безусловно, очень удобный. Не идеальный, но удобный. Сама идея чат ботов уже давно доказала свою эффективность! Это отличное решение, когда нужно мгновенно получить какой-то ответ. Но есть задачи, которые проще и быстрее решаются с помощью подключения к API. И вот о некоторых мы сейчас поговорим.

Массовая генерация текстов

Для того, чтобы нам написать тысячу текстов за несколько минут, нужно написать несколько строк кода и запустить программу. Я взял для примера ТОП товаров с Алиэкспресс.

OpenAI API: Как использовать на практике в SEO
import time from openai import OpenAI # создаем объект класса OpenAI client = OpenAI(api_key="ваш ключ api") # функция для получения ответа от API модели gpt-4o def get_response(message): try: completion = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": message}] ) return completion.choices[0].message.content except Exception as e: # если ошибка, печатаем ее print(f"Ошибка при запросе: {e}") raise # функция для чтения текста из файла def read_file(file_path): with open(file_path, "r", encoding="utf-8") as file: # читаем все строки из файла return [line.strip() for line in file] # основная функция для запуска программы def main(): # читаем тексты из файла products = read_file("/path/to/file/products.txt") # проходим циклом по всем товарам for product in products: # генерируем текст для каждого товара response = get_response(f"Напиши seo оптимизированный текст для описания товара: {product}") # печатаем текст print(response) # делаем паузу на 1 секунду time.sleep(1) if __name__ == "__main__": main()

Это простой пример решения в лоб.

Комментарии в коде, чтобы было понятнее. Расписываю кратко, что к чему:

  • Пишем функцию для создания запроса к API get_response(), там же прописываем модель. И в аргументе message передаем параметры товара (название и какие-то уникальные характеристики), которые записаны в текстовом файле.

  • Создаем функцию для чтения параметров всех наших товаров из текстового файла read_file(). У нас это просто список названий товаров.

  • В основной функции main() пишем логику с циклом. В цикл передается список товаров и проходится по очереди, отправляя запросы к API через функцию get_response()

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

  • Запускается основная функция main().

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

OpenAI API: Как использовать на практике в SEO

Если интересна тема массовой генерации текстов, то напишите об этом в комментариях.

Что еще кроме генерации текста может этот API?

Распознавать изображения

Например, стоит задача прописать тексты в атрибуты alt, title для картинок товаров, это улучшает SEO для ваших картинок, а человек при каких-то проблемах с самой картинкой сможет понять по тексту, что там должно быть.

Вот пример запроса для распознавания изображения и создания текста:

from openai import OpenAI client = OpenAI(api_key="ваш ключ api") completion = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "user", "content": [ {"type": "text", "text": "Напиши текст для атрибута ALT этого изображения"}, { "type": "image_url", "image_url": { "url": "https://cs1.livemaster.ru/storage/66/79/b4f571cbf3a4651593914574997b--aksessuary-shapka-vikinga-s-borodoj.jpg", } }, ], } ], ) print(completion.choices[0].message)
Модель написала неплохое описание: <i>"Манекен в вязной шапке викинга с рогами и длинной коричневой бородой."</i>
Модель написала неплохое описание: "Манекен в вязной шапке викинга с рогами и длинной коричневой бородой."

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

Транскрибировать аудио в текст

Отдохнем от Алиэкспресс и перейдем к более приземленным примерам. Представим, что я веду на ютубе канал, посвященный ремонту квартиры (или что-то типа того), на котором полно ценного контента. Но сейчас ютуб работает не только лишь у всех, показы падают, есть резон перенести ролики в формате статей на сайт.

Пишем запрос к API…

...
...
from openai import OpenAI client = OpenAI(api_key="ваш ключ api") audio_file= open("/path/to/file/audio.mp3", "rb") transcription = client.audio.transcriptions.create( model="whisper-1", file=audio_file ) print(transcription.text)

Тут нужно пояснить. Здесь используется модель whisper, которая распознает аудио и транскрибирует его в текст. Причем название модели говорит само за себя. Реально даже очень плохого качества аудио переводится максимально точно. Понятно, что предварительно нужно вырезать аудио из ютуб видео.

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

Есть и другие модели, такие как Audio generation, Text to speech, Image generation. Но в контексте знакомства с API для задач по SEO в этой статье все расписывать нет смысла. Можете написать, какие задачи хотелось бы решать больше всего. Что больше всего интересно для вас? И ваши комменты буду учтены в следующих материалах.

Сколько стоит API от OpenAI

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

OpenAI API: Как использовать на практике в SEO

Что такое токены и как понять, сколько будет стоить генерация текста? Если очень упростить, то токены это части слов в тексте, причем разбиваться они могут специальным образом и необязательно так, как вы ожидаете. Чтобы понять, сколько токенов в тексте, используйте специальный инструмент от OpenAI - Tokenizer.

Вот у меня есть примерный текст, который я хочу получить и сам запрос, который я буду отправлять. Вставляю в поле, выбираю модель, получаю результат.

OpenAI API: Как использовать на практике в SEO

Да, важно учитывать, что сам запрос тоже считается. Цены для запросов (токенов на вход) и токенов на выход отличаются.

Рассмотрим цены на модель gpt-4o.

OpenAI API: Как использовать на практике в SEO

$0.00250 за 1 тысячу входящих токенов (запросов к модели) и $0.01000 за 1 тысячу исходящих токенов, т. е. которые отправляет модель в виде сгенерированного текста. Если ориентироваться на тексты выше, то на $1 я могу нагенерировать почти 200 текстов.

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

А теперь обещанный подарок тем, кто дошел до конца

OpenAI API: Как использовать на практике в SEO

Если у вас или у вашего клиента интернет-магазин, и нужно массово создавать тексты для большого количества позиций, а париться с питоном нет никакого желания, для вас я сделал бесплатный инструмент с интерфейсом для массовой генерации текстов с помощью моделей GPT. Ссылка на инструмент https://bulk-ai-text-gen.streamlit.app/

OpenAI API: Как использовать на практике в SEO

Короткая инструкция:

  1. Вставить ключ API key в специальное поле.
  2. Выбрать модель для генерации текста из списка.
  3. Подготовить CSV файл с параметрами ваших товаров. Это могут быть не только товары, любые позиции. Параметры в файле могут быть записаны как вам удобно: можно все записать в одном столбце, можно разбить на разные столбцы (например: название, цвет, форма, веси т. д.).
  4. Написать общий промпт для генерации. Чтобы параметры из csv файла работали, нужно указать, куда их вставить с помощью скобок {}.
  5. Нажать Start и дождаться загрузки.
  6. Скачать файл с текстами.

Инструмент работает довольно быстро, но если вы загрузите файл с 10 тыс. товарами, придется подождать.

Здесь важный момент. Если у вас параметры разбиты на несколько столбцов, то очередность скобок в промпте будет той же, что и нумерация столбцов в файле.

Пример параметров в CSV файле:

Данные разбиты на 3 столбца
Данные разбиты на 3 столбца

В промпт вставляем параметры в той же последовательности.

{} - для вставки параметра из CSV файла
{} - для вставки параметра из CSV файла

На этом пока все. Если статья была полезной, ставь лайк, пиши в комменты. Если нет - то же самое. Если у вас возникнут вопросы по работе инструмента Bulk AI Text Generation, то пишите мне в ТГ, постараюсь оперативно отреагировать. Также, я провожу консультации по SEO и PBN. Обращайтесь и до новых встреч!

44
5 комментариев

Хорошая тема, но есть пара моментов.
а) Генерация текстов и картинок - это всё же не сеошная задачка. LLM гораздо интереснее возможностью работы с семантикой на уровне машины. Извлечи векторные вложения, сопоставить с запросом, кластеризовать, визуализировать и т.п. Тут им замены нету.
б) Доступ по API можно получать у перепродавцов в РФ. Не сопоставлял цены, но 900 тысяч токенов за 1700 в месяц я ещё ни разу не потратил за месяц, хотя использую активно и для генеренки, и для извлечения эмбеддингов. Схема там абсолютно та же: выбираете модель, генерируете ключ, подставляете эти данные куда нужно.

3

Согласен в обоими пунктами. А какие модели вы используете для работы с семантикой?