Search
Write a publication
Pull to refresh

Телеграм-бот на 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)

Разбор кода

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

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.