graniet/llm

A powerful Rust library and CLI tool to unify and orchestrate multiple LLM, Agent and voice backends (OpenAI, Claude, Gemini, Ollama, ElevenLabs...) with a single, extensible API. Build, chain, evaluate, and serve complex multi-step AI workflows — including speech-to-text, text-to-speech, completions, vision, and reasoning.

What it solves

OpenAI, Anthropic, Google, Ollama 등 여러 LLM 제공자를 위한 통합 Rust 라이브러리를 제공하여, 각각에 대한 전용 코드를 작성할 필요가 없습니다. 모델 간 전환이나 서로 다른 백엔드를 하나의 워크플로우로 결합하는 과정을 단순화합니다.

How it works

이 라이브러리는 빌더 패턴과 통합 트레이트(ChatProviderCompletionProvider)를 사용해 다양한 AI 백엔드에 요청을 보내는 방식을 표준화합니다. 단일 API를 통해 모델, temperature, 토큰 수를 설정할 수 있습니다. 또한 각 단계마다 다른 백엔드를 사용할 수 있는 다단계 체인 생성도 지원하며, 이러한 체인을 OpenAI 표준 형식의 REST API로 제공할 수 있습니다.

Who it’s for

깨끗하고 제공자에 구애받지 않는 코드베이스를 유지하면서 애플리케이션에 여러 AI 모델을 통합하고자 하는 Rust 개발자를 위한 것입니다.

Highlights

  • Multi-backend support: OpenAI, Anthropic, Ollama, DeepSeek, xAI, Phind, Groq, Google, Cohere, Mistral, Hugging Face, ElevenLabs 를 지원합니다.
  • Advanced Orchestration: 다단계 체인, 공유 메모리를 갖는 반응형 에이전트, 최적 응답 선택을 위한 다중 제공자 병렬 평가를 지원합니다.
  • Rich Feature Set: 비전, 추론, 구조화된 JSON 출력, 음성 인식/음성 합성 기능을 내장하고 있습니다.
  • Developer Tooling: 빠른 모델 상호 작용을 위한 명령줄 인터페이스(CLI)와 지수 백오프 및 지터와 같은 복원력 기능을 제공합니다.