Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 66 additions & 2 deletions docs/_reference/ecosystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
layout: default
title: RubyLLM Ecosystem
nav_order: 3
description: Extend RubyLLM with MCP servers, structured schemas, OpenTelemetry instrumentation and community-built tools for production AI apps.
description: Extend RubyLLM with MCP servers, structured schemas, instrumentation, monitoring and community-built tools for production AI apps.
---

# {{ page.title }}
Expand All @@ -26,6 +26,8 @@ After reading this guide, you will know:

* What the Model Context Protocol (MCP) is and how `RubyLLM::MCP` brings it to Ruby
* How `RubyLLM::Schema` simplifies structured data definition for AI applications
* How `RubyLLM::Instrumentation` exposes RubyLLM events through ActiveSupport notifications
* How `RubyLLM::Monitoring` provides dashboards and alerts for RubyLLM activity
* How `RubyLLM::RedCandle` enables local model execution from Ruby
* How OpenTelemetry instrumentation for RubyLLM provides observability into your LLM applications
* Where to find community projects and how to contribute your own
Expand Down Expand Up @@ -97,6 +99,68 @@ For detailed documentation and examples, visit the [RubyLLM::Schema repository](

---

## RubyLLM::Instrumentation

**ActiveSupport::Notifications instrumentation for RubyLLM**

[`RubyLLM::Instrumentation`](https://github.com/sinaptia/ruby_llm-instrumentation) is a Rails plugin that instruments RubyLLM events with the built-in [ActiveSupport::Notifications](https://api.rubyonrails.org/classes/ActiveSupport/Notifications.html) API.

### Why Use RubyLLM::Instrumentation?

When building LLM applications, you may need custom monitoring, analytics, or logging pipelines based on your RubyLLM activity.

### Key Features

- Event instrumentation for key RubyLLM operations
- Native integration with `ActiveSupport::Notifications`
- Event hooks for chat completion, tools, embeddings, images, moderation, and transcription
- Easy integration with existing Rails observability stacks

### Supported Events

- `complete_chat.ruby_llm` when `RubyLLM::Chat#ask` is called
- `execute_tool.ruby_llm` when a tool call is executed
- `embed_text.ruby_llm` when `RubyLLM::Embedding.embed` is called
- `paint_image.ruby_llm` when `RubyLLM::Image.paint` is called
- `moderate_text.ruby_llm` when `RubyLLM::Moderation.moderate` is called
- `transcribe_audio.ruby_llm` when `RubyLLM::Transcription.transcribe` is called

### Installation

```bash
gem install ruby_llm-instrumentation
```

For detailed documentation and examples, visit the [RubyLLM::Instrumentation repository](https://github.com/sinaptia/ruby_llm-instrumentation).

---

## RubyLLM::Monitoring

**RubyLLM monitoring within your Rails application**

[`RubyLLM::Monitoring`](https://github.com/sinaptia/ruby_llm-monitoring) is a Rails engine that provides a dashboard for cost, throughput, response time, and error aggregations. It also supports configurable alerts through channels such as email or Slack.

### Why Use RubyLLM::Monitoring?

When running RubyLLM-powered features in production, you need ongoing visibility into performance, cost, and failure patterns.

### Key Features

- Captures events from `RubyLLM::Instrumentation`
- Dashboard metrics for cost, throughput, latency, and error rates
- Rule-based alerting for operational thresholds and regressions

### Installation

```bash
gem install ruby_llm-monitoring
```

For detailed documentation and examples, visit the [RubyLLM::Monitoring repository](https://github.com/sinaptia/ruby_llm-monitoring).

---

## RubyLLM::RedCandle

**Local LLM Execution with Quantized Models**
Expand Down Expand Up @@ -188,6 +252,6 @@ The RubyLLM ecosystem is growing! If you've built a library or tool that extends

- Opening a PR to add your project to this page
- Sharing it in our GitHub Discussions
- Using the `ruby_llm` topic on your GitHub repository
- Using the `ruby-llm` topic on your GitHub repository
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub doesn't support topics with underscores.


Together, we're building a comprehensive ecosystem for LLM-powered Ruby applications.