Оглавление

Сервис Together AI представил вторую версию своего Python SDK, инструмента для взаимодействия с платформой для запуска открытых языковых моделей. Основными нововведениями стали нативная поддержка асинхронных операций (async/await) и удобный интерфейс для потоковой передачи ответов моделей (streaming).

Что изменилось в новой версии

SDK был полностью переписан, чтобы соответствовать современным стандартам разработки на Python. Теперь разработчики могут использовать привычный асинхронный синтаксис для неблокирующих вызовов к API, что критически важно для создания отзывчивых приложений, особенно веб-сервисов и чат-ботов.

Ключевые улучшения включают:

  • Полная асинхронность: Все основные методы (запросы к моделям, работа с файлами, управление инференсом) теперь поддерживают async/await.
  • Потоковая передача из коробки: Новая функция streaming позволяет получать ответы моделей по частям, по мере их генерации, что создает эффект «печатающегося» текста и сокращает задержку.
  • Упрощенный API: Переработанные классы и методы делают код более читаемым и предсказуемым.
  • Расширенная документация: Добавлены подробные руководства и примеры использования новых функций.

Пример использования потоковой передачи

Новый API для потоковой передачи интуитивно понятен. Вот как выглядит код для получения ответа модели Llama-3.1-70B в реальном времени:

import asyncio
from together import TogetherAsync

async def main():
    client = TogetherAsync(api_key="your_api_key")

    stream = await client.chat.completions.create(
        model="meta-llama/Llama-3.1-70B",
        messages=[{"role": "user", "content": "Напиши короткий рассказ о космосе."}],
        stream=True
    )

    async for chunk in stream:
        if chunk.choices[0].delta.content is not None:
            print(chunk.choices[0].delta.content, end="", flush=True)

asyncio.run(main())

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

Контекст и рыночное позиционирование

Together позиционирует себя как альтернативу крупным облачным провайдерам, предлагая доступ к широкому спектру открытых моделей (Meta Llama, Mistral, Qwen и другие) через единый API. Улучшение инструментария разработчика — это прямой ответ на растущую конкуренцию в сфере MLOps и AI-инфраструктуры. Удобный SDK снижает порог входа и повышает лояльность разработчиков, которые ищут простые способы интегрировать LLM в свои продукты.

Выход SDK 2.0 — это классический ход в борьбе за сердца и умы разработчиков. В мире, где модели становятся всё более похожими по качеству, удобство API и скорость интеграции начинают играть решающую роль. Асинхронность и стриминг — не просто технические «плюшки», а базовые требования для любого серьёзного продакшена. Пока гиганты вроде OpenAI и Anthropic сосредоточены на создании моделей-монстров, такие платформы, как Together, выигрывают войну на периферии, предоставляя лучший инструментарий для работы с уже существующим модельным зоопарком. Вопрос теперь в том, смогут ли они поддерживать низкие задержки и стабильность при массовом потоковом использовании.

Что это значит для разработчиков

Обновление делает Together более привлекательной платформой для:

  • Разработчиков веб-приложений и чат-ботов: Асинхронность позволяет обрабатывать множество одновременных запросов без блокировки сервера.
  • Создателей интерактивных интерфейсов: Потоковая передача незаменима для создания эффекта «живого» общения с AI.
  • Команд, которые хотят быстро прототипировать: Упрощенный API ускоряет процесс интеграции и тестирования разных моделей.

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

По сообщению Together AI, SDK 2.0 уже доступен для установки через pip (pip install --upgrade together), а исходный код опубликован на GitHub.