ChatGPT API: Python проект — интеграция и ключ

Этот урок посвящен практическому применению ChatGPT, созданию первого проекта на базе Python. Поддерживаются и другие языки, работающие с серверами. Дополнительные материалы (код, домашнее задание) доступны на it-proger.com (ссылка в описании).

Начало работы: Регистрация и получение API ключа

Для начала разработки зарегистрируйтесь на сайте ChatGPT (ссылка в описании) и получите API ключ. Регистрация бесплатна. После авторизации в личном кабинете перейдите на страницу генерации API ключей (ссылка в описании). Здесь вы найдете список ваших ключей и сможете создать новый, указав произвольное имя. Ключи следует хранить конфиденциально. Бесплатный доступ ограничен количеством запросов. Превышение лимита может привести к оплате или блокировке доступа.

Создание проекта и инициализация

Используйте PyCharm. Создайте проект и файл main.py. Создайте переменную для API ключа:

api_key = "YOUR_API_KEY" # Замените на ваш API ключ

Работа с ChatGPT API

Работа с API включает обращение к серверу по URL-адресу с передачей параметров. Рассмотрим основные:

Модели

Существуют разные модели ChatGPT. GPT-4 (платная) – самая мощная. Для обучения используем бесплатную gpt-3.5-turbo. Помимо текстовых моделей (gpt-4, gpt-3.5-turbo, gpt-3), существуют модели для изображений (dall-e) и звука (whisper).

Установка библиотеки

Установите библиотеку openai:

pip install openai

В случае ошибки:

pip3 install openai

Подключение библиотеки и регистрация API ключа

Подключите библиотеку в main.py:

import openai

openai.api_key = api_key

Генерация ответов

Функция generate_response отправляет запросы и получает ответы:

def generate_response(text):
    try:
        response = openai.Completion.create(
            prompt=text,
            engine="text-davinci-003", # Модель
            max_tokens=100, # Максимальное количество токенов
            temperature=0.7, # Температура (креативность)
            n=1, # Количество ответов
            timeout=15 # Таймаут в секундах
        )
        if response and response.choices:
            return response.choices[0].text.strip()
        else:
            return None
    except Exception as e:
        return None

Параметры:

  • prompt: текст запроса.
  • engine: модель (text-davinci-003). Подробности в документации OpenAI (ссылка в описании).
  • max_tokens: максимальное число сгенерированных токенов.
  • temperature: креативность (0-1).
  • n: количество ответов.
  • timeout: время ожидания.

Тестирование

Протестируем функцию:

answer = generate_response("Привет, как у тебя дела? Какая погода в Лондоне?")
print(answer)

Запустите скрипт. После паузы получите ответ от ChatGPT.

Возможности ChatGPT в разработке

ChatGPT упрощает разработку, генерируя код на разных языках. Например, для Java: «Сгенерируй код на Java для связи с ChatGPT API».

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

Что будем искать? Например,программа