Асинхронный Scala-клиент для OpenAI API и многих других LLM-провайдеров: чат, Responses, потоковая передача, пакетные запросы и многое другое.
jeremychone/rust-genai
Библиотека на Rust с единым API для общения с разными AI-провайдерами через их нативные протоколы.
- Звёзды
- 936
- Форки
- 197
- Открытые issues
- 42
- Последний коммит
- 3 дня назад
Что это?
genai — клиентская библиотека на Rust для генеративных AI-моделей. Она предоставляет единый API для чата с разными провайдерами, включая OpenAI, Anthropic, Gemini, Ollama (для локальных моделей), Groq, xAI, DeepSeek, Cohere, Mistral и многих других. Адаптер выбирается по префиксу имени модели или задаётся явно с помощью неймспейса, например `groq::` или `ollama_cloud::`.
Если у провайдера есть собственный протокол, библиотека использует его, чтобы можно было работать с такими специфичными возможностями, как настройки рассуждений, лимиты на размышления, метаданные потоковой передачи и мультимодальные входные данные. Если провайдер в основном предлагает API, совместимый с OpenAI, genai использует этот интерфейс. Пользовательские OpenAI-совместимые конечные точки можно настроить через переменные окружения или ServiceTargetResolver, который позволяет задать собственные параметры авторизации и адреса.
Библиотека ориентирована на текстовый чат, работу с изображениями и вызов функций. В её основе — удобные API с общим набором возможностей, а не полная поддержка SDK каждого провайдера. TLS-бэкенд можно выбрать с помощью Cargo features.
Ключевые возможности
- 01Единый API для чата с множеством AI-провайдеров, включая локальные модели Ollama
- 02Адаптер модели автоматически выбирается по её имени или задаётся явно через неймспейс
- 03Поддержка нативных протоколов, если они доступны, и переход на OpenAI-совместимый API в остальных случаях
- 04Настройка пользовательских конечных точек и авторизации через переменные окружения или резолвер целей
- 05Поддержка входных изображений и вызова функций
- 06Выбор TLS-бэкенда: rustls по умолчанию или native-tls
Сценарии использования
- Создание приложения на Rust, которое переключается между моделями OpenAI, Anthropic и Gemini без переписывания вызовов
- Запуск локальных моделей через Ollama с тем же API, что и для облачных провайдеров
- Подключение сервиса на Rust к собственному серверу инференса с OpenAI-совместимым API
- Добавление поддержки изображений или вызова инструментов в бэкенд на Rust
Быстрый старт
- 1
Добавьте crate в Cargo.toml
cargo add genai - 2
Создайте клиент и вызовите exec_chat, указав имя модели
Что важно знать
- Версия до 1.0 (0.7.x): между минорными версиями возможны несовместимые изменения.
В подборках
Темы
Частые вопросы
- Что такое rust-genai?
- Библиотека на Rust с единым API для общения с разными AI-провайдерами через их нативные протоколы. genai — клиентская библиотека на Rust для генеративных AI-моделей. Она предоставляет единый API для чата с разными провайдерами, включая OpenAI, Anthropic, Gemini, Ollama (для локальных моделей), Groq, xAI, DeepSeek, Cohere, Mistral и многих других. Адаптер выбирается по префиксу имени модели или задаётся явно с помощью неймспейса, например `groq::` или `ollama_cloud::`.
- rust-genai можно использовать бесплатно? Какая у него лицензия?
- rust-genai распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- rust-genai всё ещё поддерживается?
- Активно поддерживается. Последний коммит в rust-genai — 4 нояб. 2026 г..
- Для чего можно использовать rust-genai?
- Создание приложения на Rust, которое переключается между моделями OpenAI, Anthropic и Gemini без переписывания вызовов Запуск локальных моделей через Ollama с тем же API, что и для облачных провайдеров Подключение сервиса на Rust к собственному серверу инференса с OpenAI-совместимым API Добавление поддержки изображений или вызова инструментов в бэкенд на Rust
- Как установить rust-genai?
- Добавьте crate в Cargo.toml: cargo add genai Создайте клиент и вызовите exec_chat, указав имя модели
- Где скачать rust-genai?
- Исходный код и инструкции по установке — на GitHub: https://github.com/jeremychone/rust-genai
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Единый Ruby API для чата, работы с речью и генерации эмбеддингов у разных AI-провайдеров: OpenAI, Anthropic, Google, Mistral и DeepSeek.
Независимый от провайдера TypeScript-инструментарий для создания приложений и агентов на базе AI с React, Next.js, Svelte, Vue и Node.js.
Самостоятельно размещаемый AI-шлюз, объединяющий API-ключи и подписки разных провайдеров за одной точкой доступа, с балансировкой, переключением при сбоях и журналами использования.
Типобезопасный SDK для TypeScript, независимый от провайдера: потоковый чат, вызов инструментов, агенты и мультимодальные приложения для популярных LLM-провайдеров и UI-фреймворков.
Клиентская библиотека Python, которая предоставляет единый простой интерфейс к API разных AI-провайдеров для работы с текстом, структурированными данными и диалогами.