Skip to content

Commit 89c371a

Browse files
committed
Ollama support
1 parent 5b3b940 commit 89c371a

File tree

145 files changed

+9670
-8493
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+9670
-8493
lines changed

.github/workflows/cicd.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ jobs:
118118
- name: Test with real APIs before publishing
119119
if: steps.check_version.outputs.version_changed == 'true'
120120
run: |
121-
echo "Removing all VCR cassettes to test against real APIs..."
122-
rm -rf spec/fixtures/vcr_cassettes
121+
echo "Removing VCR cassettes except Ollama ones..."
122+
find spec/fixtures/vcr_cassettes -type f ! -name '*ollama*' -delete
123123
124124
echo "Running tests with real API calls..."
125125
env -u CI bundle exec rspec --fail-fast
@@ -129,6 +129,7 @@ jobs:
129129
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
130130
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
131131
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
132+
OLLAMA_API_BASE: http://localhost:11434/v1 # dummy
132133
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
133134
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
134135

README.md

+28-23
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,36 @@
22

33
A delightful Ruby way to work with AI. No configuration madness, no complex callbacks, no handler hell – just beautiful, expressive Ruby code.
44

5-
<div style="display: flex; align-items: center; flex-wrap: wrap; margin-bottom: 1em">
6-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openai.svg" alt="OpenAI" height="40">
7-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openai-text.svg" alt="OpenAI" height="40" width="120">
8-
&nbsp;&nbsp;
9-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/anthropic-text.svg" alt="Anthropic" height="40" width="120">
10-
&nbsp;&nbsp;
11-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/gemini-brand-color.svg" alt="Gemini" height="40" width="120">
12-
&nbsp;&nbsp;
13-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/bedrock-color.svg" alt="Bedrock" height="40">
14-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/bedrock-text.svg" alt="Bedrock" height="40" width="120">
15-
&nbsp;&nbsp;
16-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openrouter.svg" alt="OpenRouter" height="40">
17-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openrouter-text.svg" alt="OpenRouter" height="40" width="120">
18-
&nbsp;&nbsp;
19-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/deepseek-color.svg" alt="DeepSeek" height="40">
20-
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/deepseek-text.svg" alt="DeepSeek" height="40" width="120">
21-
&nbsp;&nbsp;
5+
<div class="provider-icons">
6+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/anthropic-text.svg" alt="Anthropic" class="logo-small">
7+
&nbsp;
8+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/bedrock-color.svg" alt="Bedrock" class="logo-medium">
9+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/bedrock-text.svg" alt="Bedrock" class="logo-small">
10+
&nbsp;
11+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/deepseek-color.svg" alt="DeepSeek" class="logo-medium">
12+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/deepseek-text.svg" alt="DeepSeek" class="logo-small">
13+
&nbsp;
14+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/ollama.svg" alt="Ollama" class="logo-medium">
15+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/ollama-text.svg" alt="Ollama" class="logo-medium">
16+
&nbsp;
17+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openai.svg" alt="OpenAI" class="logo-medium">
18+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openai-text.svg" alt="OpenAI" class="logo-medium">
19+
&nbsp;
20+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/gemini-brand-color.svg" alt="Gemini" class="logo-large">
21+
&nbsp;
22+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openrouter.svg" alt="OpenRouter" class="logo-medium">
23+
<img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openrouter-text.svg" alt="OpenRouter" class="logo-small">
24+
&nbsp;
2225
</div>
2326

24-
<a href="https://badge.fury.io/rb/ruby_llm"><img src="https://badge.fury.io/rb/ruby_llm.svg" alt="Gem Version" /></a>
25-
<a href="https://github.com/testdouble/standard"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Ruby Style Guide" /></a>
26-
<a href="https://rubygems.org/gems/ruby_llm"><img alt="Gem Downloads" src="https://img.shields.io/gem/dt/ruby_llm"></a>
27-
<a href="https://codecov.io/gh/crmne/ruby_llm"><img src="https://codecov.io/gh/crmne/ruby_llm/branch/main/graph/badge.svg" alt="codecov" /></a>
27+
<div class="badge-container">
28+
<a href="https://badge.fury.io/rb/ruby_llm"><img src="https://badge.fury.io/rb/ruby_llm.svg" alt="Gem Version" /></a>
29+
<a href="https://github.com/testdouble/standard"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Ruby Style Guide" /></a>
30+
<a href="https://rubygems.org/gems/ruby_llm"><img alt="Gem Downloads" src="https://img.shields.io/gem/dt/ruby_llm"></a>
31+
<a href="https://codecov.io/gh/crmne/ruby_llm"><img src="https://codecov.io/gh/crmne/ruby_llm/branch/main/graph/badge.svg" alt="codecov" /></a>
32+
</div>
2833

29-
🤺 Battle tested at [💬 Chat with Work](https://chatwithwork.com)
34+
🤺 Battle tested at [💬 Chat with Work](https://chatwithwork.com)
3035

3136
## The problem with AI libraries
3237

@@ -36,7 +41,7 @@ RubyLLM fixes all that. One beautiful API for everything. One consistent format.
3641

3742
## Features
3843

39-
- 💬 **Chat** with OpenAI, Anthropic, Gemini, AWS Bedrock Anthropic, OpenRouter, and DeepSeek models
44+
- 💬 **Chat** with Anthropic, AWS Bedrock Anthropic, DeepSeek, Ollama, OpenAI, Gemini, and OpenRouter models
4045
- 👁️ **Vision and Audio** understanding
4146
- 📄 **PDF Analysis** for analyzing documents
4247
- 🖼️ **Image generation** with DALL-E and other providers

bin/console

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ RubyLLM.configure do |config|
1313
config.gemini_api_key = ENV.fetch('GEMINI_API_KEY', nil)
1414
config.deepseek_api_key = ENV.fetch('DEEPSEEK_API_KEY', nil)
1515
config.openrouter_api_key = ENV.fetch('OPENROUTER_API_KEY', nil)
16+
config.ollama_api_base = ENV.fetch('OLLAMA_API_BASE', nil)
1617
config.bedrock_api_key = ENV.fetch('AWS_ACCESS_KEY_ID', nil)
1718
config.bedrock_secret_key = ENV.fetch('AWS_SECRET_ACCESS_KEY', nil)
1819
config.bedrock_region = ENV.fetch('AWS_REGION', nil)

docs/configuration.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ After reading this guide, you will know:
3030

3131
## Global Configuration (`RubyLLM.configure`)
3232

33-
{: .note-title }
34-
> Coming in v1.3.0
33+
{: .warning }
34+
> Native OpenRouter and Ollama support is coming in v1.3.0
3535
>
36-
> OpenRouter support is coming in v1.3.0
36+
> Consider using `openai_api_base` in the meantime.
3737
3838
The primary way to configure RubyLLM is using the `RubyLLM.configure` block. This typically runs once when your application starts (e.g., in `config/initializers/ruby_llm.rb` for Rails apps, or at the top of a script).
3939

@@ -49,6 +49,7 @@ RubyLLM.configure do |config|
4949
config.gemini_api_key = ENV.fetch('GEMINI_API_KEY', nil)
5050
config.deepseek_api_key = ENV.fetch('DEEPSEEK_API_KEY', nil)
5151
config.openrouter_api_key = ENV.fetch('OPENROUTER_API_KEY', nil)
52+
config.ollama_api_base = ENV.fetch('OLLAMA_API_BASE', nil)
5253

5354
# --- AWS Bedrock Credentials ---
5455
# Uses standard AWS credential chain (environment, shared config, IAM role)
@@ -89,6 +90,7 @@ Set the corresponding `*_api_key` attribute for each provider you want to enable
8990
* `gemini_api_key`
9091
* `deepseek_api_key`
9192
* `openrouter_api_key`
93+
* `ollama_api_base`
9294
* `bedrock_api_key`, `bedrock_secret_key`, `bedrock_region`, `bedrock_session_token` (See AWS documentation for standard credential methods if not set explicitly).
9395

9496
## Custom OpenAI API Base (`openai_api_base`)

docs/guides/available-models.md

+11-17
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ For more information about working with models, see the [Working with Models](/g
4646
## Models by Type
4747
{: .d-inline-block }
4848

49-
Last updated: 2025-04-22
49+
Last updated: 2025-04-23
5050
{: .label .label-green }
5151

52-
### Chat Models (443)
52+
### Chat Models (440)
5353

5454
| ID | Type | Name | Provider | Context | MaxTok | Family | In$/M | Out$/M |
5555
| :-- | :-- | :-- | :-- | --: | --: | :-- | --: | --: |
@@ -117,9 +117,9 @@ Last updated: 2025-04-22
117117
| gemini-2.0-flash-lite-preview | chat | Gemini 2.0 Flash-Lite Preview | gemini | 1048576 | 8192 | gemini20_flash_lite | 0.08 | 0.30 |
118118
| gemini-2.0-flash-lite-preview-02-05 | chat | Gemini 2.0 Flash-Lite Preview 02-05 | gemini | 1048576 | 8192 | gemini20_flash_lite | 0.08 | 0.30 |
119119
| gemini-2.0-flash-live-001 | chat | Gemini 2.0 Flash 001 | gemini | 131072 | 8192 | gemini20_flash | 0.10 | 0.40 |
120-
| gemini-2.0-flash-thinking-exp | chat | Gemini 2.0 Flash Thinking Experimental 01-21 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
121-
| gemini-2.0-flash-thinking-exp-01-21 | chat | Gemini 2.0 Flash Thinking Experimental 01-21 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
122-
| gemini-2.0-flash-thinking-exp-1219 | chat | Gemini 2.0 Flash Thinking Experimental | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
120+
| gemini-2.0-flash-thinking-exp | chat | Gemini 2.5 Flash Preview 04-17 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
121+
| gemini-2.0-flash-thinking-exp-01-21 | chat | Gemini 2.5 Flash Preview 04-17 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
122+
| gemini-2.0-flash-thinking-exp-1219 | chat | Gemini 2.5 Flash Preview 04-17 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
123123
| gemini-2.0-pro-exp | chat | Gemini 2.0 Pro Experimental | gemini | 1048576 | 65536 | other | 0.08 | 0.30 |
124124
| gemini-2.0-pro-exp-02-05 | chat | Gemini 2.0 Pro Experimental 02-05 | gemini | 1048576 | 65536 | other | 0.08 | 0.30 |
125125
| gemini-2.5-flash-preview-04-17 | chat | Gemini 2.5 Flash Preview 04-17 | gemini | 1048576 | 65536 | other | 0.08 | 0.30 |
@@ -274,16 +274,13 @@ Last updated: 2025-04-22
274274
| google/gemini-2.0-flash-001 | chat | Google: Gemini 2.0 Flash | openrouter | 1000000 | 8192 | other | 0.10 | 0.40 |
275275
| google/gemini-2.0-flash-exp:free | chat | Google: Gemini 2.0 Flash Experimental (free) | openrouter | 1048576 | 8192 | other | 0.00 | 0.00 |
276276
| google/gemini-2.0-flash-lite-001 | chat | Google: Gemini 2.0 Flash Lite | openrouter | 1048576 | 8192 | other | 0.08 | 0.30 |
277-
| google/gemini-2.0-flash-thinking-exp-1219:free | chat | Google: Gemini 2.0 Flash Thinking Experimental (free) | openrouter | 40000 | 8000 | other | 0.00 | 0.00 |
278-
| google/gemini-2.0-flash-thinking-exp:free | chat | Google: Gemini 2.0 Flash Thinking Experimental 01-21 (free) | openrouter | 1048576 | 65536 | other | 0.00 | 0.00 |
279277
| google/gemini-2.5-flash-preview | chat | Google: Gemini 2.5 Flash Preview | openrouter | 1048576 | 65535 | other | 0.15 | 0.60 |
280278
| google/gemini-2.5-flash-preview:thinking | chat | Google: Gemini 2.5 Flash Preview (thinking) | openrouter | 1048576 | 65535 | other | 0.15 | 3.50 |
281279
| google/gemini-2.5-pro-exp-03-25:free | chat | Google: Gemini 2.5 Pro Experimental (free) | openrouter | 1000000 | 65535 | other | 0.00 | 0.00 |
282280
| google/gemini-2.5-pro-preview-03-25 | chat | Google: Gemini 2.5 Pro Preview | openrouter | 1048576 | 65535 | other | 1.25 | 10.00 |
283281
| google/gemini-flash-1.5 | chat | Google: Gemini 1.5 Flash | openrouter | 1000000 | 8192 | other | 0.08 | 0.30 |
284282
| google/gemini-flash-1.5-8b | chat | Google: Gemini 1.5 Flash 8B | openrouter | 1000000 | 8192 | other | 0.04 | 0.15 |
285283
| google/gemini-flash-1.5-8b-exp | chat | Google: Gemini 1.5 Flash 8B Experimental | openrouter | 1000000 | 8192 | other | 0.00 | 0.00 |
286-
| google/gemini-pro | chat | Google: Gemini Pro 1.0 | openrouter | 32760 | 8192 | other | 0.50 | 1.50 |
287284
| google/gemini-pro-1.5 | chat | Google: Gemini 1.5 Pro | openrouter | 2000000 | 8192 | other | 1.25 | 5.00 |
288285
| google/gemini-pro-vision | chat | Google: Gemini Pro Vision 1.0 | openrouter | 16384 | 2048 | other | 0.50 | 1.50 |
289286
| google/gemma-2-27b-it | chat | Google: Gemma 2 27B | openrouter | 8192 | 2048 | other | 0.80 | 0.80 |
@@ -366,7 +363,7 @@ Last updated: 2025-04-22
366363
| mistralai/mistral-small | chat | Mistral Small | openrouter | 32768 | | other | 0.20 | 0.60 |
367364
| mistralai/mistral-small-24b-instruct-2501 | chat | Mistral: Mistral Small 3 | openrouter | 32768 | 16384 | other | 0.07 | 0.14 |
368365
| mistralai/mistral-small-24b-instruct-2501:free | chat | Mistral: Mistral Small 3 (free) | openrouter | 32768 | | other | 0.00 | 0.00 |
369-
| mistralai/mistral-small-3.1-24b-instruct | chat | Mistral: Mistral Small 3.1 24B | openrouter | 32768 | | other | 0.10 | 0.30 |
366+
| mistralai/mistral-small-3.1-24b-instruct | chat | Mistral: Mistral Small 3.1 24B | openrouter | 128000 | 128000 | other | 0.10 | 0.30 |
370367
| mistralai/mistral-small-3.1-24b-instruct:free | chat | Mistral: Mistral Small 3.1 24B (free) | openrouter | 96000 | 96000 | other | 0.00 | 0.00 |
371368
| mistralai/mistral-tiny | chat | Mistral Tiny | openrouter | 32768 | | other | 0.25 | 0.25 |
372369
| mistralai/mixtral-8x22b-instruct | chat | Mistral: Mixtral 8x22B Instruct | openrouter | 65536 | | other | 0.90 | 0.90 |
@@ -661,9 +658,9 @@ Last updated: 2025-04-22
661658
| gemini-2.0-flash-lite-preview | chat | Gemini 2.0 Flash-Lite Preview | gemini | 1048576 | 8192 | gemini20_flash_lite | 0.08 | 0.30 |
662659
| gemini-2.0-flash-lite-preview-02-05 | chat | Gemini 2.0 Flash-Lite Preview 02-05 | gemini | 1048576 | 8192 | gemini20_flash_lite | 0.08 | 0.30 |
663660
| gemini-2.0-flash-live-001 | chat | Gemini 2.0 Flash 001 | gemini | 131072 | 8192 | gemini20_flash | 0.10 | 0.40 |
664-
| gemini-2.0-flash-thinking-exp | chat | Gemini 2.0 Flash Thinking Experimental 01-21 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
665-
| gemini-2.0-flash-thinking-exp-01-21 | chat | Gemini 2.0 Flash Thinking Experimental 01-21 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
666-
| gemini-2.0-flash-thinking-exp-1219 | chat | Gemini 2.0 Flash Thinking Experimental | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
661+
| gemini-2.0-flash-thinking-exp | chat | Gemini 2.5 Flash Preview 04-17 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
662+
| gemini-2.0-flash-thinking-exp-01-21 | chat | Gemini 2.5 Flash Preview 04-17 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
663+
| gemini-2.0-flash-thinking-exp-1219 | chat | Gemini 2.5 Flash Preview 04-17 | gemini | 1048576 | 65536 | gemini20_flash | 0.10 | 0.40 |
667664
| gemini-2.0-pro-exp | chat | Gemini 2.0 Pro Experimental | gemini | 1048576 | 65536 | other | 0.08 | 0.30 |
668665
| gemini-2.0-pro-exp-02-05 | chat | Gemini 2.0 Pro Experimental 02-05 | gemini | 1048576 | 65536 | other | 0.08 | 0.30 |
669666
| gemini-2.5-flash-preview-04-17 | chat | Gemini 2.5 Flash Preview 04-17 | gemini | 1048576 | 65536 | other | 0.08 | 0.30 |
@@ -724,7 +721,7 @@ Last updated: 2025-04-22
724721
| anthropic.claude-v2:1:200k | chat | Claude | bedrock | 200000 | 4096 | claude2 | 8.00 | 24.00 |
725722
| us.anthropic.claude-3-7-sonnet-20250219-v1:0 | chat | Claude 3.7 Sonnet | bedrock | 200000 | 4096 | claude3_sonnet | 3.00 | 15.00 |
726723

727-
### Openrouter Models (305)
724+
### Openrouter Models (302)
728725

729726
| ID | Type | Name | Provider | Context | MaxTok | Family | In$/M | Out$/M |
730727
| :-- | :-- | :-- | :-- | --: | --: | :-- | --: | --: |
@@ -811,16 +808,13 @@ Last updated: 2025-04-22
811808
| google/gemini-2.0-flash-001 | chat | Google: Gemini 2.0 Flash | openrouter | 1000000 | 8192 | other | 0.10 | 0.40 |
812809
| google/gemini-2.0-flash-exp:free | chat | Google: Gemini 2.0 Flash Experimental (free) | openrouter | 1048576 | 8192 | other | 0.00 | 0.00 |
813810
| google/gemini-2.0-flash-lite-001 | chat | Google: Gemini 2.0 Flash Lite | openrouter | 1048576 | 8192 | other | 0.08 | 0.30 |
814-
| google/gemini-2.0-flash-thinking-exp-1219:free | chat | Google: Gemini 2.0 Flash Thinking Experimental (free) | openrouter | 40000 | 8000 | other | 0.00 | 0.00 |
815-
| google/gemini-2.0-flash-thinking-exp:free | chat | Google: Gemini 2.0 Flash Thinking Experimental 01-21 (free) | openrouter | 1048576 | 65536 | other | 0.00 | 0.00 |
816811
| google/gemini-2.5-flash-preview | chat | Google: Gemini 2.5 Flash Preview | openrouter | 1048576 | 65535 | other | 0.15 | 0.60 |
817812
| google/gemini-2.5-flash-preview:thinking | chat | Google: Gemini 2.5 Flash Preview (thinking) | openrouter | 1048576 | 65535 | other | 0.15 | 3.50 |
818813
| google/gemini-2.5-pro-exp-03-25:free | chat | Google: Gemini 2.5 Pro Experimental (free) | openrouter | 1000000 | 65535 | other | 0.00 | 0.00 |
819814
| google/gemini-2.5-pro-preview-03-25 | chat | Google: Gemini 2.5 Pro Preview | openrouter | 1048576 | 65535 | other | 1.25 | 10.00 |
820815
| google/gemini-flash-1.5 | chat | Google: Gemini 1.5 Flash | openrouter | 1000000 | 8192 | other | 0.08 | 0.30 |
821816
| google/gemini-flash-1.5-8b | chat | Google: Gemini 1.5 Flash 8B | openrouter | 1000000 | 8192 | other | 0.04 | 0.15 |
822817
| google/gemini-flash-1.5-8b-exp | chat | Google: Gemini 1.5 Flash 8B Experimental | openrouter | 1000000 | 8192 | other | 0.00 | 0.00 |
823-
| google/gemini-pro | chat | Google: Gemini Pro 1.0 | openrouter | 32760 | 8192 | other | 0.50 | 1.50 |
824818
| google/gemini-pro-1.5 | chat | Google: Gemini 1.5 Pro | openrouter | 2000000 | 8192 | other | 1.25 | 5.00 |
825819
| google/gemini-pro-vision | chat | Google: Gemini Pro Vision 1.0 | openrouter | 16384 | 2048 | other | 0.50 | 1.50 |
826820
| google/gemma-2-27b-it | chat | Google: Gemma 2 27B | openrouter | 8192 | 2048 | other | 0.80 | 0.80 |
@@ -903,7 +897,7 @@ Last updated: 2025-04-22
903897
| mistralai/mistral-small | chat | Mistral Small | openrouter | 32768 | | other | 0.20 | 0.60 |
904898
| mistralai/mistral-small-24b-instruct-2501 | chat | Mistral: Mistral Small 3 | openrouter | 32768 | 16384 | other | 0.07 | 0.14 |
905899
| mistralai/mistral-small-24b-instruct-2501:free | chat | Mistral: Mistral Small 3 (free) | openrouter | 32768 | | other | 0.00 | 0.00 |
906-
| mistralai/mistral-small-3.1-24b-instruct | chat | Mistral: Mistral Small 3.1 24B | openrouter | 32768 | | other | 0.10 | 0.30 |
900+
| mistralai/mistral-small-3.1-24b-instruct | chat | Mistral: Mistral Small 3.1 24B | openrouter | 128000 | 128000 | other | 0.10 | 0.30 |
907901
| mistralai/mistral-small-3.1-24b-instruct:free | chat | Mistral: Mistral Small 3.1 24B (free) | openrouter | 96000 | 96000 | other | 0.00 | 0.00 |
908902
| mistralai/mistral-tiny | chat | Mistral Tiny | openrouter | 32768 | | other | 0.25 | 0.25 |
909903
| mistralai/mixtral-8x22b-instruct | chat | Mistral: Mixtral 8x22B Instruct | openrouter | 65536 | | other | 0.90 | 0.90 |

docs/guides/models.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permalink: /guides/models
99
# Working with AI Models
1010
{: .no_toc }
1111

12-
RubyLLM provides a unified interface to a wide array of AI models from different providers like OpenAI, Anthropic, Google, AWS Bedrock, OpenRouter and DeepSeek. This guide covers how RubyLLM discovers, manages, and allows you to interact with these models, including advanced scenarios like custom endpoints.
12+
RubyLLM provides a unified interface to a wide array of AI models from different providers like Anthropic, AWS Bedrock Anthropic, DeepSeek, Ollama, OpenAI, Gemini, and OpenRouter. This guide covers how RubyLLM discovers, manages, and allows you to interact with these models, including advanced scenarios like custom endpoints.
1313
{: .fs-6 .fw-300 }
1414

1515
## Table of contents

0 commit comments

Comments
 (0)