Благодаря тому, что OpenAI теперь поддерживает модели вплоть до GPT-4 Turbo, у разработчиков Python появилась невероятная возможность исследовать передовые функции ИИ. В этом руководстве подробно рассказывается о том, как интегрировать API ChatGPT в ваши скрипты на Python, как пройти через начальные этапы настройки и эффективно использовать API.

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

Поскольку GPT-4 Turbo более совершенен и в три раза дешевле GPT-4, еще никогда не было лучшего времени для использования этого мощного API в Python, так что давайте начнем!

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

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

Установка необходимых библиотек Python

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

python -m venv chatgpt_env

Активируйте виртуальную среду, выполнив команду:

  • chatgpt_env\Scripts\activate (Windows)
  • источник chatgpt_env/bin/activate (macOS или Linux)

Далее вам нужно установить необходимые библиотеки Python, которые включают клиентскую библиотеку OpenAI Python для взаимодействия с API OpenAI и пакет python-dotenv для работы с конфигурацией. Чтобы установить оба пакета, выполните следующую команду:

pip install openai python-dotenv

Настройка доступа к API OpenAI

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

  1. Зайдите на страницу API-ключей OpenAI и создайте новую учетную запись или войдите в систему, если у вас уже есть аккаунт.
  2. Войдя в систему, перейдите в раздел API-ключей и нажмите на кнопку Создать новый секретный ключ.
  3. Скопируйте сгенерированный ключ API для последующего использования. В противном случае вам придется генерировать новый ключ API, если вы его потеряете. Вы не сможете просмотреть API-ключи на сайте OpenAI.
OpenAI's API keys page

Страница API-ключей OpenAI

Generated API key that can be used now

Сгенерированный ключ API, который можно использовать прямо сейчас

Ключ API и аутентификация

После получения ключа API мы рекомендуем сохранить его в качестве переменной окружения в целях безопасности. Для управления переменными окружения используйте пакет python-dotenv. Чтобы создать переменную окружения, содержащую ваш API-ключ, выполните следующие действия:

  1. Создайте файл с именем . env в каталоге проекта.

  2. Добавьте следующую строку в файл .env , заменив ваш_api_key на реальный ключ API, который вы скопировали ранее: CHAT_GPT_API_KEY=ваш_api_key .

  3. В коде Python загрузите ключ API из файла .env с помощью функции load_dotenv из пакета python-dotenv:

import openai from openai import OpenAI import os from dotenv import load_dotenv # Загружаем ключ API из файла .env load_dotenv ( ) client = OpenAI ( api_key = os.environ.get ( "CHAT_GPT_API_KEY" ))

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

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

Не забудьте добавить приведенный выше фрагмент кода в каждый раздел кода ниже перед запуском.

Использование API OpenAI в Python

После загрузки API из файла . env мы можем начать использовать его в Python. Чтобы использовать OpenAI API в Python, мы можем делать вызовы API с помощью объекта-клиента. Затем мы можем передать API серию сообщений в качестве входных данных и получить сгенерированное моделью сообщение в качестве выходного.

Создание простого запроса ChatGPT

  1. Убедитесь, что вы выполнили предыдущие шаги: создали виртуальную среду, установили необходимые библиотеки, сгенерировали секретный ключ OpenAI и файл .env в директории проекта.

  2. Используйте следующий фрагмент кода, чтобы настроить простой запрос ChatGPT:

# Создание завершения чата chat_completion = client . chat . completions . create ( model = "gpt-4" , messages = [ { "role" : "user" , "content" : "query" } ] ) print ( chat_completion . choices [ 0 ] . message . content )

Здесь client.chat.completions.create - это вызов метода на объекте клиента. Атрибут chat открывает доступ к специфическим для чата функциям API, а completions.create - это метод, который запрашивает модель искусственного интеллекта сгенерировать ответ или завершение на основе предоставленных данных.

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

Обработка ошибок

При выполнении запросов могут возникнуть различные проблемы, включая проблемы с подключением к сети, превышение лимита скорости или другие нестандартные коды состояния ответа. Поэтому очень важно правильно обрабатывать эти коды состояния. Мы можем использовать блоки try и except в Python для поддержания потока программы и лучшей обработки ошибок:

# Попытка создать завершение чата try : chat_completion = client . chat . completions . create ( model = "gpt-4" , messages = [ { "role" : "user" , "content" : "query" } ] , temperature = 1 , max_tokens = 150 # Настраиваем количество токенов по мере необходимости ) print ( chat_completion . choices [ 0 ] . message . content ) except openai . APIConnectionError as e : print ( "До сервера не удалось дозвониться" ) print ( e . __cause__ ) except openai . RateLimitError as e : print ("Получен код состояния 429; мы должны немного отступить.") except openai . APIStatusError as e : print ("Получен другой код состояния, не относящийся к диапазону 200" ) print ( e . status_code ) print ( e . response )

Примечание: чтобы использовать любую модель API OpenAI, вам необходимо иметь доступные кредитные гранты. Если с момента создания вашей учетной записи прошло более трех месяцев, скорее всего, срок действия бесплатных кредитных грантов истек, и вам придется приобрести дополнительные кредиты (минимум $5).

Вот несколько способов дополнительной настройки API-запросов:

  • Max Tokens. Ограничьте максимально возможную длину выходных данных в соответствии с вашими потребностями, задав параметр max_tokens . Это может быть экономией средств, но учтите, что это просто отсекает сгенерированный текст от превышения лимита, а не делает общий вывод короче.
  • Temperature. Настройте параметр Temperature, чтобы контролировать случайность (более высокие значения делают ответы более разнообразными, в то время как более низкие значения дают более последовательные ответы).

Если какой-либо параметр не задан вручную, то используется значение по умолчанию для соответствующей модели, например 0 - 7 и 1 для GPT-3.5-turbo и GPT-4 соответственно.

Помимо вышеперечисленных параметров, существует множество других параметров и настроек, позволяющих использовать возможности GPT именно так, как вам нужно. Для ознакомления рекомендуется изучить документацию OpenAI по API.

Тем не менее, эффективные и контекстные подсказки по-прежнему необходимы, независимо от количества настроек параметров.

Продвинутые техники интеграции API

В этом разделе мы рассмотрим продвинутые методы интеграции OpenAI API в ваши Python-проекты, сосредоточившись на автоматизации задач, использовании Python-запросов для получения данных и управлении крупномасштабными API-запросами.

Автоматизация задач с помощью API OpenAI

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

Вот пример того, как можно автоматизировать задачу с помощью API OpenAI:

def automated_task ( prompt ) : try : chat_completion = client . chat . completions . create ( model = "gpt-4" , messages = [ { "role" : "user" , "content" : prompt } ], max_tokens = 250 ) return chat_completion . choices [ 0 ] . message . content except Exception as e : return str ( e ) # Пример использования generated_text = automated_task ( "Напишите короткую заметку, состоящую менее чем из 50 слов, команде разработчиков с просьбой сообщить текущий статус обновления программного обеспечения" ) print ( generated_text )

Эта функция принимает запрос и возвращает сгенерированный текст в качестве вывода.

Использование запросов Python для получения данных

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

Следующий пример требует наличия библиотеки requests (если у вас ее нет, то сначала выполните pip install requests ):

headers = { 'Content-Type' : 'application/json' , 'Authorization' : f'Bearer { api_key } ' , } data = { 'model' : 'gpt-4' , # Обновление до нужной модели 'messages' : [ { 'role' : 'user' , 'content' : 'Напишите интересный факт о Рождестве'. } ] } response = requests . post ( 'https://api.openai.com/v1/chat/completions' , headers = headers , json = data ) print ( response . json ( ) )

Этот фрагмент кода демонстрирует выполнение POST-запроса к API OpenAI с заголовками и данными в качестве аргументов. Ответ в формате JSON может быть разобран и использован в вашем проекте на Python.

Управление крупными запросами к API

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

  • Пакетирование. Объедините несколько запросов в один вызов API, используя параметр n в библиотеке OpenAI: n = number_of_responses_need .
  • Дросселирование. Реализуйте систему ограничения скорости выполнения вызовов API, чтобы избежать чрезмерного использования или перегрузки API.
  • Кэширование. Сохраняйте результаты выполненных API-запросов, чтобы избежать повторных вызовов по аналогичным запросам.

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

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

Практические применения: API OpenAI в реальных проектах

Внедрение API OpenAI в ваши реальные проекты может дать множество преимуществ. В этом разделе мы рассмотрим два конкретных применения: интеграцию ChatGPT в веб-разработку и создание чат-ботов с помощью ChatGPT и Python.

Интеграция ChatGPT в веб-разработку

API OpenAI можно использовать для создания интерактивного, динамического контента, адаптированного к запросам или потребностям пользователей. Например, вы можете использовать ChatGPT для создания персонализированных описаний товаров, увлекательных постов в блоге или ответов на распространенные вопросы о ваших услугах. Возможности API OpenAI и небольшого количества кода на Python безграничны.

Рассмотрим этот простой пример использования вызова API из бэкенда Python:

def generate_content ( prompt ) : try : response = client . chat . completions . create ( model = "gpt-4" , messages = [ { "role" : "user" , "content" : prompt } ] ) return response . choices [ 0 ] . message . content except Exception as e : return str ( e ) # Используйте эту функцию для генерации содержимого description = generate_content ( "Напишите краткое описание походного рюкзака" )

Вы также можете написать код для интеграции описания в HTML и JavaScript для отображения сгенерированного контента на вашем сайте.

Создание чат-ботов с помощью ChatGPT и Python

Чат-боты на базе искусственного интеллекта начинают играть важную роль в повышении качества обслуживания пользователей. Объединив возможности обработки естественного языка ChatGPT с Python, вы сможете создавать чат-боты, которые понимают контекст и разумно реагируют на ввод пользователя.

Рассмотрим пример обработки пользовательского ввода и получения ответа:

def get_chatbot_response ( prompt ) : try : response = client . chat . completions . create ( model = "gpt-4" , messages = [ { "role" : "user" , "content" : prompt } ] ) return response . choices [ 0 ] . message . content except Exception as e : return str ( e ) # Получение пользовательского ввода из командной строки user_input = input ( "Enter your prompt: " ) response = get_chatbot_response ( user_input ) print ( response )

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

Учитывая приведенную логику, наш финальный код для запуска чатбота на конечной точке OpenAI API может выглядеть следующим образом:

from openai import OpenAI import os from dotenv import load_dotenv # Загружаем ключ API из файла .env load_dotenv ( ) client = OpenAI ( api_key = os . environ . get ( "CHAT_GPT_API_KEY" ) ) def get_chatbot_response ( prompt ) : try : response = client . chat . completions . create ( model = "gpt-4" , messages = [ { "role" : "user" , "content" : prompt } ] ) return response . choices [ 0 ] . message . content except Exception as e : return str ( e ) while True : user_input = input ( "Вы: " ) if user_input . lower ( ) in [ "exit", "quit" ] : print ( "Сеанс чата завершился." ) break response = get_chatbot_response ( user_input ) print ( "ChatGPT:" , response )

Вот как это выглядит при запуске в командной строке Windows.

Running in the Windows Command Prompt

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

Ограничения и цены API OpenAI

Хотя API OpenAI очень мощный, у него есть несколько ограничений:

Хранение данных. OpenAI хранит ваши данные API в течение 30 дней, и использование API подразумевает согласие на хранение данных. Будьте внимательны к данным, которые вы отправляете.

Вместимость модели. Модели чата имеют максимальный лимит токенов. (Например, GPT-3 поддерживает 4096 токенов.) Если запрос API превышает этот лимит, вам придется усечь или опустить текст.

Ценообразование. API OpenAI не предоставляется бесплатно и имеет свою собственную схему ценообразования, отдельную от подписки на модели. Более подробную информацию о ценах можно найти на сайте OpenAI. (Опять же, GPT-4 Turbo в три раза дешевле GPT-4!).

Заключение

Использование потенциала API модели ChatGPT в Python может значительно продвинуть различные приложения, такие как поддержка клиентов, виртуальные помощники и создание контента. Интегрировав этот мощный API в свои проекты, вы сможете легко использовать возможности моделей GPT в своих приложениях на Python.

Эта статья является экземпляром Текста-спринтера. Такие тексты отлично продвигают сайты в ТОП органического поиска Яндекс и Google. Здесь я пишу об этом более подробно.

Nikita Interactive, founder

Искренне Ваш,

Nikita Interactive

Это реальная история!

Раздел с Текстами-спринтерами привлек 18 090 пользователей за 9 месяцев.
На новом сайте. Без ссылок.

Измеримые результаты и устойчивый успех.