Этот урок посвящен практическому применению 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 не создаст приложение самостоятельно, но ускорит разработку, генерируя код и помогая решать задачи.