Телеграм-бот на GPT-4o: как использовать бесплатную квоту в 100 сообщений
Сегодня мы рассмотрим, как создать простого, но функционального Telegram-бота на основе GPT-4o, используя FutureForge API, доступное на платформе RapidAPI. Особое внимание уделим тому, как правильно интегрировать API в ваш проект и воспользоваться его бесплатной квотой в 100 сообщений в день. В этом руководстве я подробно объясню каждую строку кода, чтобы даже новички смогли легко справиться с задачей.
Шаг 1: Подготовка к разработке
Прежде чем начать, убедитесь, что у вас установлены следующие инструменты и библиотеки:
Python: основной язык программирования, который мы будем использовать.
Aiogram: библиотека для создания Telegram-ботов на Python. В этой статье мы будем использовать версию
aiogram==3.0.0
.FutureForge API на RapidAPI: это API предоставляет доступ к моделям GPT-4o и доступно через платформу RapidAPI.
Установка необходимых библиотек
Начнем с установки библиотеки aiogram
, которая поможет нам создать нашего Telegram-бота. Для этого откройте командную строку или терминал и выполните следующую команду:
pip install aiogram==3.0.0
Эта команда установит необходимую версию библиотеки aiogram
.
Шаг 2: Регистрация в FutureForge API на RapidAPI
Для использования GPT-4o вам необходимо зарегистрироваться на RapidAPI и подписаться на FutureForge API. После регистрации вам будет доступен API-ключ, который мы будем использовать для отправки запросов к модели GPT-4o.
Преимущества использования FutureForge API на RapidAPI
Бесплатная квота: Одним из главных преимуществ является возможность отправлять до 100 запросов в день бесплатно, что делает это API идеальным для личного использования и тестирования.
Широкий выбор моделей: Вы можете выбрать любую модель, которую предоставляет FutureForge, например,
gpt-4o-mini-2024-07-18
,gpt-4o-2024-05-13
, и другие.
Шаг 3: Создание Телеграм-бота
Теперь перейдем непосредственно к созданию бота. Ниже приведен код нашего бота с подробными комментариями, которые помогут вам разобраться в каждом шаге.
import json
import aiohttp
from aiogram import Bot, Dispatcher, types
from aiogram.filters import Text
from aiogram.types import Message
from aiogram.utils import executor
# 1. Замените на ваш Telegram токен, который вы получили у BotFather.
API_TOKEN = 'ваш_телеграм_токен'
# 2. Замените на ваш RapidAPI ключ, который вы получили после регистрации.
RAPIDAPI_KEY = 'ваш_rapidapi_ключ'
# 3. Инициализация бота и диспетчера.
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
# 4. Функция для отправки сообщения в FutureForge API и получения ответа.
async def get_ai_response(user_message):
# URL-адрес API на RapidAPI.
url = 'https://openai-llm-models-5-500k-requests.p.rapidapi.com/v1/chat/completions'
# Заголовки запроса, включая ключ RapidAPI.
headers = {
'Content-Type': 'application/json',
'X-RapidAPI-Key': RAPIDAPI_KEY,
'X-RapidAPI-Host': 'openai-llm-models-5-500k-requests.p.rapidapi.com',
}
# Тело запроса, в котором указываются параметры модели и само сообщение.
data = {
"messages": [
{"role": "system", "content": "You are a helpful and informative AI assistant."},
{"role": "user", "content": user_message}
],
"model": "gpt-4o-mini-2024-07-18", # Выбираем модель GPT-4o.
"frequency_penalty": 0,
"max_tokens": 1000, # Ограничение на максимальное количество токенов в ответе.
"presence_penalty": 0,
"stream": False, # Отключаем стриминг, чтобы получить ответ целиком.
"temperature": 1, # Параметр temperature, определяющий степень креативности модели.
"top_p": 0.95 # Параметр top_p, определяющий какие токены учитывать при генерации.
}
# Отправка POST-запроса в API и получение ответа.
async with aiohttp.ClientSession() as session:
async with session.post(url, headers=headers, json=data) as response:
result = await response.json()
# Возвращаем текст ответа от модели.
return result['choices'][0]['message']['content']
# 5. Обработчик сообщений от пользователей.
@dp.message_handler(Text)
async def echo(message: Message):
user_message = message.text
# Получаем ответ от AI и отправляем его пользователю.
response = await get_ai_response(user_message)
await message.answer(response)
# 6. Запуск бота.
if __name__ == '__main__':
executor.start_polling(dp)
Разбор кода
API_TOKEN: Это уникальный токен, который вы получили у BotFather при создании вашего Telegram-бота. Обязательно замените его на свой.
RAPIDAPI_KEY: Это ключ доступа к API, который вы получили при регистрации на RapidAPI. Он используется для аутентификации запросов.
get_ai_response: Эта функция отправляет сообщение пользователя в FutureForge API и получает ответ от модели GPT-4o. Мы используем библиотеку
aiohttp
для асинхронного выполнения HTTP-запросов.dp.message_handler: Обработчик сообщений, который вызывает функцию
get_ai_response
, когда пользователь отправляет сообщение боту. Ответ от модели возвращается пользователю через Telegram.executor.start_polling: Эта строка запускает бота и начинает обработку входящих сообщений.
Шаг 4: Выбор модели
Одним из ключевых преимуществ использования FutureForge API является возможность выбора модели, которая лучше всего подходит для ваших нужд. Например, вы можете использовать:
gpt-4o-mini-2024-07-18: Упрощенная версия GPT-4o с меньшим количеством параметров, но высоким контекстным окном.
gpt-4o-2024-05-13: Основная версия GPT-4o с отличным балансом между производительностью и качеством.
Просто замените значение параметра "model"
в теле запроса на нужную вам модель.
Заключение
Создание Telegram-бота с использованием GPT-4o через FutureForge API на RapidAPI — это увлекательный проект, который позволяет автоматизировать взаимодействие с пользователями. Благодаря бесплатной квоте в 100 сообщений в день, это решение идеально подходит для личного использования и тестирования.
В следующей статье я расскажу, как можно заработать на использовании API, и какие модели лучше всего подходят для монетизации ваших ботов. Не пропустите!
Зарегистрируйтесь на RapidAPI, подпишитесь на FutureForge API и начните создавать свои боты уже сегодня!