AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

RubyLLM – Ruby와 Rails에서 여러 AI 제공자를 하나의 인터페이스로 쓰는 프레임워크

RubyLLM은 Ruby 애플리케이션에서 여러 AI 제공자를 같은 인터페이스로 쓰게 해주는 프레임워크다. OpenAI, Anthropic, Gemini, Vertex AI, Bedrock, DeepSeek, Mistral, Ollama, OpenRouter, Perplexity, GPUStack, OpenAI 호환 API를 지원하며, 챗봇·에이전트·RAG·멀티모달 워크플로를 Ruby 코드로 구성할 수 있다.

GitHub 저장소는 2026년 6월 기준 약 4.1k 스타를 보유하고 MIT 라이선스로 공개되어 있다.

왜 Ruby 개발자에게 유용한가

AI 제공자마다 메시지 형식, 파일 입력, 스트리밍, tool calling, structured output 방식이 다르다. RubyLLM은 이를 Ruby 객체와 블록 중심 API로 감싼다. Rails 앱에 AI 기능을 넣을 때 공급자별 SDK를 직접 다루는 부담을 줄이는 것이 목적이다.

주요 기능

기능설명
ChatRubyLLM.chat로 대화형 AI 호출
Vision·Audio·Documents이미지, 영상, 음성, PDF, CSV, JSON 등 파일 입력
ToolsRuby 메서드를 AI가 호출할 수 있는 도구로 노출
Agents지시문과 도구를 묶은 재사용 가능한 assistant 정의
Structured outputRuby schema로 JSON 응답 구조 지정
Embeddings텍스트 임베딩 생성
Rails integrationActiveRecord 기반 채팅 저장과 UI generator
Model registry800개 이상 모델의 capability와 가격 정보 관리

코드 감각

기본 호출은 Ruby답게 짧다.

chat = RubyLLM.chat
chat.ask "What's the best way to learn Ruby?"

도구도 클래스로 정의한다.

class Weather < RubyLLM::Tool
  desc "Get current weather"

  def execute(latitude:, longitude:)
    JSON.parse(Faraday.get("https://api.open-meteo.com/v1/forecast?latitude=#{latitude}&longitude=#{longitude}&current=temperature_2m").body)
  end
end

chat.with_tool(Weather).ask "What's the weather in Berlin?"

적합한 사용 사례

  • Rails SaaS에 고객지원 챗봇이나 문서 요약 기능 추가
  • Ruby 백엔드에서 provider-agnostic AI 호출 계층 구성
  • 파일 업로드 기반 멀티모달 분석 기능 구현
  • 내부 도구를 tool calling으로 노출하는 업무 에이전트
  • ActiveRecord에 대화 기록을 남기는 AI 워크플로

관련 문서

  • pydantic-ai — 타입 안전한 Python 에이전트 프레임워크
  • haystack — 프로덕션 RAG와 에이전트 파이프라인
  • llamaindex — 데이터를 LLM 앱과 연결하는 RAG 프레임워크
  • agent-skills — AI 에이전트의 능력을 확장하는 스킬 시스템

참고 자료



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)