RubyLLM: Um Framework Ruby para Todos os Principais Provedores de IA

RubyLLM 1.16.0 é um framework Ruby que fornece uma interface unificada para todos os principais provedores de IA, incluindo OpenAI, xAI, Anthropic, Gemini, VertexAI, Bedrock, DeepSeek, Mistral, Ollama, OpenRouter, Perplexity, GPUStack e qualquer API compatível com OpenAI. Ele suporta chat, visão, áudio, documentos, geração de imagens, embeddings, moderação, ferramentas, agentes, saída estruturada, streaming e integração com Rails.
Início Rápido
Adicione ao Gemfile: gem 'ruby_llm', depois bundle install.
Configure as chaves de API:
RubyLLM.configure do |config|
config.openai_api_key = ENV['OPENAI_API_KEY']
end
Principais Funcionalidades
- Chat:
RubyLLM.chat.ask('pergunta') - Visão: Analise imagens e vídeos —
chat.ask('Descreva', with: 'foto.jpg') - Áudio: Transcreva e entenda fala —
RubyLLM.transcribe('reuniao.wav') - Documentos: Extraia de PDFs, CSVs, JSON, qualquer tipo de arquivo
- Geração de imagens:
RubyLLM.paint('prompt') - Embeddings:
RubyLLM.embed('texto') - Moderação:
RubyLLM.moderate('texto') - Ferramentas: Deixe a IA chamar seus métodos Ruby subclassificando
RubyLLM::Tool - Agentes: Assistentes reutilizáveis com
RubyLLM::Agent - Saída estruturada: Esquemas JSON com
RubyLLM::Schema - Streaming: Respostas em tempo real com blocos
- Rails: Integração com ActiveRecord via
acts_as_chate Chat UI opcional - Assíncrono: Concorrência baseada em Fibers
- Registro de modelos: 800+ modelos com detecção de capacidade e preços
Exemplos de Código
Chat com visão:
chat = RubyLLM.chat
chat.ask('O que há nesta imagem?', with: 'ruby_conf.jpg')
chat.ask('Resuma este documento', with: 'contrato.pdf')
Usando ferramentas:
class Clima < RubyLLM::Tool
desc 'Obter clima atual'
def execute(latitude:, longitude:)
JSON.parse(Faraday.get('https://api.open-meteo.com/...').body)
end
end
chat.with_tool(Clima).ask('Qual é o clima em Berlim?')
Saída estruturada:
class SchemaProduto < RubyLLM::Schema
string :nome
number :preco
array :caracteristicas do
string
end
end
resposta = chat.with_schema(SchemaProduto).ask('Analise', with: 'produto.txt')
Integração com Rails
bin/rails generate ruby_llm:install
bin/rails db:migrate
bin/rails generate ruby_llm:chat_ui
Em seguida, crie um modelo Chat com acts_as_chat e visite /chats para uma UI pronta para uso.
RubyLLM tem apenas três dependências: Faraday, Zeitwerk e Marcel.
📖 Leia a fonte completa: HN AI Agents
👀 See Also

PocketTeam: Um Pipeline de Código Claude com Segurança Baseada em Hooks e Agentes de Aprendizado
PocketTeam é um pipeline Claude Code que implementa 9 camadas de segurança no nível de chamada de ferramentas para bloquear operações perigosas como gravações em .env ou comandos rm -rf. O sistema inclui um agente Observador que analisa tarefas concluídas e grava aprendizados estruturados para melhorar o desempenho futuro dos agentes.

Arquitetura de Memória do Vektori: Princípios do Sistema Vazado do Claude
O Vektori implementa um grafo hierárquico de sentenças em três camadas para a memória de IA, inspirado nos princípios vazados da arquitetura do Claude. O sistema usa filtros de qualidade rigorosos, recuperação cética com uma pontuação mínima de 0,3 e mantém o histórico de correções entre sessões.

AiPayGen: Um Marketplace de Agentes de IA com Integração MCP para Claude Code
AiPayGen é um marketplace com 142 agentes de IA em 27 categorias, incluindo finanças, jurídico, saúde, DevOps, segurança e marketing. Funciona como um servidor MCP para uso direto no Claude Code, permitindo que os usuários naveguem, invoquem e gerenciem agentes por meio de comandos específicos.

Comparando Agentes de IA Locais vs. na Nuvem: OpenClaw e Twin.so
OpenClaw é um agente de IA local de código aberto que roda na sua máquina com controle total dos dados, enquanto Twin.so é uma plataforma baseada em nuvem com mais de 200.000 agentes construídos pela comunidade para automação 24/7.