Сегодня мы рассмотрим, как создать простого, но функционального 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)

Разбор кода

  1. API_TOKEN: Это уникальный токен, который вы получили у BotFather при создании вашего Telegram-бота. Обязательно замените его на свой.

  2. RAPIDAPI_KEY: Это ключ доступа к API, который вы получили при регистрации на RapidAPI. Он используется для аутентификации запросов.

  3. get_ai_response: Эта функция отправляет сообщение пользователя в FutureForge API и получает ответ от модели GPT-4o. Мы используем библиотеку aiohttp для асинхронного выполнения HTTP-запросов.

  4. dp.message_handler: Обработчик сообщений, который вызывает функцию get_ai_response, когда пользователь отправляет сообщение боту. Ответ от модели возвращается пользователю через Telegram.

  5. 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 и начните создавать свои боты уже сегодня!