Rig: библиотека для интеграции LLM в приложения на Rust

Rig: библиотека для интеграции LLM в приложения на Rust

Rig — это библиотека для создания модульных и масштабируемых приложений с использованием LLM (Large Language Models) на Rust.

Основная задача Rig — упростить разработку и интеграцию LLM в проекты, позволяя пользователям легко подключать различные компоненты и модули. В отличие от более распространённых решений, библиотека ориентирована на высокую производительность и безопасность, присущие языку Rust, что может быть полезно для разработчиков, которые ищут более надёжные и эффективные инструменты для работы с большими объемами данных.

Для запуска проекта потребуется Rust. Более подробную информацию о настройке и использовании можно найти в официальной документации на сайте проекта. Будь внимателен, проект ещё на ранней стадии разработки и авторы предупреждают о возможных нестабильностях в будущем.

Проект Rig — это библиотека на языке Rust, предназначенная для создания масштабируемых и модульных приложений, использующих возможности больших языковых моделей (LLM). Основная цель Rig — предоставить разработчикам удобный интерфейс для интеграции LLM в свои приложения с минимальными затратами на подготовку кода.

Особенности

Ключевые особенности Rig включают:

  • Поддержка многоразовых потоковых и промптинг-рабочих процессов.
  • Классический агентный runtime, работающий по умолчанию.
  • Совместимость с GenAI Semantic Convention.
  • Более 20 провайдеров моделей и 10 интеграций векторов через единый интерфейс.
  • Поддержка завершения и встроивания LLM, а также транскрипции, генерации аудио и изображений.
  • Поддержка браузеров с использованием WebAssembly.

Как установить и запустить

Чтобы начать работу с Rig, установи библиотеку с помощью cargo:

cargo add rig
# или: cargo add rig-core

В проекте также предоставлен простой пример использования:

use rig::prelude::*;
use rig::providers::openai::{self, OpenAI};

#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
    let comedian_agent = OpenAI::from_env()?
        .bound()?
        .agent(openai::GPT_5_2)
        .preamble("You are a comedian here to entertain the user using humour and jokes.")
        .build();

    let response = comedian_agent.prompt("Entertain me!").await?;
    println!("{}", response.output);
    
    Ok(())
}

Не забудь подключить необходимые зависимости, такие как tokio, если они нужны для кода.

Архитектура и выбор runtime

Проект разделяет контракты поставщиков от оркестрации агентов:

  • rig-core: содержит нейтральные к провайдеру сообщения и модели завершения, контракты инструментов и памяти.
  • rig-agent: реализует логику агентов и потоков, включая типизированные хуки и состояние.

Основной интерфейс rig предоставляет доступ как к rig-core, так и к rig-agent.

Ограничения и предостережения

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

Rig активно используется различными организациями, включая St Jude и Coral Protocol, для создания чат-ботов, инструментов визуализации и других приложений с AI. Если ты также используешь Rig, можешь открыть issue на GitHub, чтобы добавить свою компанию в список пользователей!

Открыть на GitHub: 0xPlaygrounds/rig →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте