Repolode
jeremychone

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. 1

    Добавьте crate в Cargo.toml

    cargo add genai
  2. 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 обновляется ежедневно.

Похожие проекты

Самостоятельно размещаемый AI-шлюз, объединяющий API-ключи и подписки разных провайдеров за одной точкой доступа, с балансировкой, переключением при сбоях и журналами использования.

7,2 тыс.+13 за неделю797GoMITАктивно поддерживаетсяОбновлён позавчера

Типобезопасный SDK для TypeScript, независимый от провайдера: потоковый чат, вызов инструментов, агенты и мультимодальные приложения для популярных LLM-провайдеров и UI-фреймворков.

3,3 тыс.+44 за неделю386TypeScriptMITОбновлён 22 часа назад