Create projects and chat with your resources

Try it now

Table of Contents

    Как исправить ошибки ограничения скорости и таймаута OpenAI.

    LLM начинают использоваться в самых разных сферах. К ним относятся перевод, анализ настроений, генерация кода, блоги, электронные письма и т. д. Однако при интеграции API OpenAI непосредственно в производство возникают некоторые проблемы, поскольку они появились относительно недавно. API не предоставляет никаких SLA и гарантий работоспособности или даже производительности сервиса. До сих пор существуют ограничения по количеству токенов в секунду и запросов в секунду.

    LLM начинают использоваться в самых разных сферах. К ним относятся перевод, анализ настроений, генерация кода, блогов, электронных писем и т. д. Однако при интеграции API OpenAI непосредственно в производство возникают некоторые проблемы, так как он является относительно новым. API не предоставляет никаких SLA и гарантий работоспособности или даже производительности сервиса. До сих пор существуют ограничения на количество токенов в секунду и запросов в секунду.

    OpenAI рекомендует использовать различные техники для смягчения этой проблемы. Давайте вкратце рассмотрим некоторые из них.

    Экспоненциальный откат

    Экспоненциальный откат - это стратегия, используемая для борьбы с ограничениями скорости путем постепенного увеличения времени между последующими повторными попытками в случае ошибки, ограничивающей скорость. Ниже приведен пример на Node.Js:

    const axios = require('axios'); // Обязательно установите axios с помощью npm или yarn. const BASE_URL = 'https://api.openai.com/v1/chat/completions'; async function makeRequestWithBackoff(endpoint, params, retries = 3, backoffDelay = 500) { try { const response = await axios.post(endpoint, params, { headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer YOUR_OPENAI_API_KEY`, }, }); return response.data; } catch (error) { if (error.response && error.response.status === 429 && retries > 0) { // 429 - это код статуса HTTP для Too Many Requests // Ждем случайной задержки, которая экспоненциально увеличивается с каждой повторной попыткой const delay = Math.random() * backoffDelay; console.log(`Rate limit hit, retrying in ${delay}ms`); await new Promise((resolve) => setTimeout(resolve, delay)); return makeRequestWithBackoff(endpoint, params, retries - 1, backoffDelay * 2); } else { // Если это не ошибка ограничения скорости или у нас закончились повторные попытки, бросаем ошибку throw error; } } } const params = { messages: [ { {role : "user", content: "Hi, Who are you?" } } max_tokens: 50, model: "gpt-3.5-turbo" }; makeRequestWithBackoff(BASE_URL, params) .then(data => console.log(data)) .catch(error => console.error(error));
    

    Вы даже можете изменить логику, чтобы заменить экспоненциальный бэкофф на линейный или случайный.

    Пакетные запросы

    OpenAI также позволяет выполнять пакетные запросы на конечной точке /completions. Это может сработать, если вы получаете запросы в секунду, а токены в секунду. Но помните, что этот API обесценивается. Используем тот же пример, что и выше:

    const BASE_URL = "https://api.openai.com/v1/completions"; const params = { model: "curie", prompts: [ "Жила-была собака", "Жила-была кошка", "Жил-был человек" ] } }; makeRequestWithBackoff(BASE_URL, params) .then(data => console.log(data)) .catch(error => console.error(error));
    

    Существуют и другие техники, которые вы можете использовать помимо этих.

    Кэширование

    Очень часто пользователи запрашивают одно и то же, поэтому простой или семантический слой кэширования над запросами может помочь вам сэкономить стоимость и время запроса. Но в данном контексте это уменьшит количество обращений к OpenAI.

    Переключение между OpenAI и Azure.

    Вы можете обратиться к сервису OpenAI в Azure и настроить балансировку нагрузки между обоими провайдерами. Таким образом, даже если один из них не работает или работает медленно, вы сможете переключиться на другого провайдера.

    Всегда потоковые ответы

    API OpenAI предоставляет возможность потоковой передачи данных, что позволяет нам получать частичные ответы модели в режиме реального времени, по мере их генерации. Такой подход дает значительное преимущество перед традиционными непотоковыми вызовами, при которых вы можете не знать о возможных таймаутах до тех пор, пока не истечет вся продолжительность ответа, которая может варьироваться в зависимости от ваших начальных параметров, таких как сложность запроса и количество заданных max_tokens.

    Потоковая передача гарантирует, что, независимо от размера запроса или заданного max_tokens, модель начнет выдавать токены, как правило, в течение первых 5-6 секунд. Если задержка выходит за пределы этого короткого окна, это ранний признак того, что запрос может быть отложен или обработан не так, как ожидалось. Мы можем прервать такие запросы и повторить их снова.

    Настройка обратных связей

    Для специфических случаев, когда необходимо получать ответы от других моделей, можно настроить обратную связь с другими моделями. Лучшими альтернативами могут быть Llama-70b, Gemini или другие небольшие модели, такие как MIXTRAL 8X7B, Claude Instant и т. д. Это некоторые общие приемы, которые можно использовать для уменьшения ошибок в приложениях производственного класса.

    На этом все, спасибо, что прочитали, и следите за нами в Merlin @ Twitter Мы в Merlin API предоставляем все эти функции и многое другое с 20+ моделями на выбор. Мы фокусируемся на надежности API и делаем все переключения, возвраты, кэширование и обработку ограничений скорости. Мы предоставляем единый унифицированный API и используем один формат ответа для всех моделей.

    Небольшой пример использования Merlin API с Node.js:

    import { Merlin } from "merlin-node"; // npm install merlin-node // WARNING: test api key. // Replace with your API key from Merlin Dashboard // https://api.getmerlin.in const apiKey = "merlin-test-3b7d-4bad-9bdd-2b0d7b3dcb6d"; const Merlin = new Merlin({ merlinConfig: { apiKey } }); const initChat = { role: "system", content: "Вы - полезный помощник". 
    } async function createCompletion() { try { const completion = await Merlin.chat.completions.create({ messages: [initChat], model: "gpt-3.5-turbo", // 20+ моделей по мере необходимости }); } catch (error) { console.error("Ошибка при создании завершения:", error); } } createCompletion();
    

    Experience the full potential of ChatGPT with Merlin

    Author
    Kalpna Thakur

    Kalpna Thakur

    She is Marketing powerhouse of Merlin AI, Automation master & Growth extraordinaire, brings 10X growth with every initiative!

    Published on : 19th December 2023, Tuesday

    Last Updated : 18th December 2024, Wednesday

    Read more blogs

    Cover Image for OpenAI O1: новая парадигма в искусственном интеллекте
    OpenAI O1: новая парадигма в искусственном интеллекте
    2024-09-12 | 3 min. read
    OpenAI запустила новую флагманскую модель под названием O1, которая может "рассуждать" сама с собой, что приведет к новой парадигме в ИИ и LLM
    Cover Image for ChatGPT 4 Vs ChatGPT 4o | Является ли GPT 4o лучше, чем GPT 4?
    ChatGPT 4 Vs ChatGPT 4o | Является ли GPT 4o лучше, чем GPT 4?
    2024-06-03 | 5 min. read
    Вы когда-нибудь задавались вопросом, действительно ли ChatGPT-4o является обновлением ChatGPT-4? Вы не одиноки. В этом блоге мы рассмотрим все детали, которые отличают эти две модели ИИ друг от друга.
    Cover Image for Инсайдерские советы: Как доминировать в GPT-4, GPT-4 Turbo и GPT-4o
    Инсайдерские советы: Как доминировать в GPT-4, GPT-4 Turbo и GPT-4o
    2024-05-30 | 5 min. read
    Представьте, что у вас под рукой мощь передовых моделей искусственного интеллекта. В этом руководстве мы расскажем вам об особенностях использования GPT-4, GPT-4 Turbo и GPT-4o. Независимо от того, являетесь ли вы любителем технологий или профессионалом, желающим использовать ИИ в своих проектах, мы предоставим вам практические советы и пошаговые инструкции.
    Cover Image for Получите ChatGPT-4o БЕСПЛАТНО с неограниченным количеством подсказок! - Как использовать GPT 4o
    Получите ChatGPT-4o БЕСПЛАТНО с неограниченным количеством подсказок! - Как использовать GPT 4o
    2024-05-28 | 6 min. read
    В этом исчерпывающем руководстве вы узнаете, как максимально эффективно использовать мощную языковую модель OpenAI, не потратив при этом ни копейки. Улучшите создание контента, автоматизируйте задачи и откройте для себя безграничный потенциал искусственного интеллекта с помощью наших пошаговых инструкций и ценных советов.
    Cover Image for Искусство задавать ChatGPT правильные вопросы : Раскройте скрытые возможности чат-ботов в 2024 году
    Искусство задавать ChatGPT правильные вопросы : Раскройте скрытые возможности чат-ботов в 2024 году
    2024-05-27 | 6 min. read
    Овладение искусством задавать вопросы чатботу может значительно улучшить ваше взаимодействие и повысить его результативность. Узнайте, как использовать тонкие возможности чат-ботов, что позволит вам получить доступ к скрытым функциям и возможностям, которые сделают ваше взаимодействие более продуктивным и глубоким в 2024 году. Это руководство - от практических советов до рекомендаций экспертов - станет вашим ключом к повышению эффективности работы с чатботами.
    Cover Image for Лучшие задания для написания исследований ChatGPT, которые вам необходимо знать
    Лучшие задания для написания исследований ChatGPT, которые вам необходимо знать
    2024-04-29 | 4 min. read
    Раскройте возможности ChatGPT с помощью персонализированных подсказок! Оптимизируйте взаимодействие, экономьте время, получайте индивидуальные ответы на все ваши вопросы и многое другое.
    Cover Image for GPT-4 против GPT-4 Turbo: Какой из них использовать?
    GPT-4 против GPT-4 Turbo: Какой из них использовать?
    2024-04-16 | 5 min. read
    Модели GPT-4 и GPT-4 Turbo AI формируют ландшафт искусственного интеллекта благодаря своим расширенным возможностям. Тем не менее, между ними есть различия, основанные на сценарии использования, скорости, эффективности и стоимости. В этом блоге мы подробно рассмотрим эти различия, чтобы сделать идеальный выбор для вас.
    Cover Image for Лучшие инструменты искусственного интеллекта для преподавателей высших учебных заведений
    Лучшие инструменты искусственного интеллекта для преподавателей высших учебных заведений
    2024-04-16 | 5 min. read
    Откройте для себя лучшие инструменты искусственного интеллекта для педагогов! Персонализируйте обучение, повышайте производительность и создавайте увлекательные уроки для учеников, чтобы сделать обучение насыщенным.