ruby_llm 0.1.0.pre48 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93bca3eb1b8f4fe872f0c7ca05604aaa8ee472edcfde8c2859a309f635bac0a6
4
- data.tar.gz: b73f4db74067fcdeb6d7ba4fa1d5333c4599e2b776a90dbc2392793a1e5474b9
3
+ metadata.gz: c357c02ad6d779fab06975f3e06d6d699fe8860b99f05af4f4f89116c0c02868
4
+ data.tar.gz: e1379dcae9b2077b5bde9dd2a1f1a110151db15286ffa3503e9f596f64eb05fb
5
5
  SHA512:
6
- metadata.gz: 0ca1b2967aaa1aed0b4a9636e5f3f1c5ca172b511e527666f90605fa58c4c48fdf923244d9c48999e916cac840ba2439147547750c7c3686f6fbb354f528e5fc
7
- data.tar.gz: 5656e43b90e3822a7b11a3b25a64a70d609064da651df1f7a2123109fc06e2184a74df61651e1108d8b4c229172f38f49ef98f348d22178bf32090a9306b71ca
6
+ metadata.gz: 131ffdba032ec5844b1cd893ab3c712ee0a821faedc640ea4a2affc399f8c497a85b7a4c4e98daf13b7b7f52a1905e9135da4e94fd13967b96f47b02cd42a524
7
+ data.tar.gz: 75415cab8eba778d7b5d7918309dea8ea0e48bca1aca0ef13214835aec8ee9993bd943ff08efd827c5577636c6aa60ad998a6c81eac973e7cadd0061ce428fa2
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # RubyLLM
1
+ <img src="/docs/assets/images/logotype.svg" alt="RubyLLM" height="120" width="250">
2
2
 
3
3
  A delightful Ruby way to work with AI. No configuration madness, no complex callbacks, no handler hell – just beautiful, expressive Ruby code.
4
4
 
5
- <p align="center">
5
+ <div style="display: flex; align-items: center; flex-wrap: wrap; gap: 4px;">
6
6
  <img src="https://upload.wikimedia.org/wikipedia/commons/4/4d/OpenAI_Logo.svg" alt="OpenAI" height="40" width="120">
7
7
  &nbsp;&nbsp;&nbsp;&nbsp;
8
8
  <img src="https://upload.wikimedia.org/wikipedia/commons/7/78/Anthropic_logo.svg" alt="Anthropic" height="40" width="120">
@@ -10,14 +10,12 @@ A delightful Ruby way to work with AI. No configuration madness, no complex call
10
10
  <img src="https://upload.wikimedia.org/wikipedia/commons/8/8a/Google_Gemini_logo.svg" alt="Google" height="40" width="120">
11
11
  &nbsp;&nbsp;&nbsp;&nbsp;
12
12
  <img src="https://upload.wikimedia.org/wikipedia/commons/e/ec/DeepSeek_logo.svg" alt="DeepSeek" height="40" width="120">
13
- </p>
13
+ </div>
14
14
 
15
- <p align="center">
16
- <a href="https://badge.fury.io/rb/ruby_llm"><img src="https://badge.fury.io/rb/ruby_llm.svg" alt="Gem Version" /></a>
17
- <a href="https://github.com/testdouble/standard"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Ruby Style Guide" /></a>
18
- <a href="https://rubygems.org/gems/ruby_llm"><img alt="Gem Downloads" src="https://img.shields.io/gem/dt/ruby_llm"></a>
19
- <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>
20
- </p>
15
+ <a href="https://badge.fury.io/rb/ruby_llm"><img src="https://badge.fury.io/rb/ruby_llm.svg" alt="Gem Version" /></a>
16
+ <a href="https://github.com/testdouble/standard"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Ruby Style Guide" /></a>
17
+ <a href="https://rubygems.org/gems/ruby_llm"><img alt="Gem Downloads" src="https://img.shields.io/gem/dt/ruby_llm"></a>
18
+ <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>
21
19
 
22
20
  ðŸĪš Battle tested at [💎 Chat with Work](https://chatwithwork.com)
23
21
 
@@ -27,6 +25,17 @@ Every AI provider comes with its own client library, its own response format, it
27
25
 
28
26
  RubyLLM fixes all that. One beautiful API for everything. One consistent format. Minimal dependencies — just Faraday and Zeitwerk. Because working with AI should be a joy, not a chore.
29
27
 
28
+ ## Features
29
+
30
+ - 💎 **Chat** with OpenAI, Anthropic, Gemini, and DeepSeek models
31
+ - 👁ïļ **Vision and Audio** understanding
32
+ - 📄 **PDF Analysis** for analyzing documents
33
+ - 🖞ïļ **Image generation** with DALL-E and other providers
34
+ - 📊 **Embeddings** for vector search and semantic analysis
35
+ - 🔧 **Tools** that let AI use your Ruby code
36
+ - 🚂 **Rails integration** to persist chats and messages with ActiveRecord
37
+ - 🌊 **Streaming** responses with proper Ruby patterns
38
+
30
39
  ## What makes it great
31
40
 
32
41
  ```ruby
@@ -23,8 +23,6 @@ module RubyLLM
23
23
  # Class method to refresh model data
24
24
  def self.refresh!
25
25
  models = RubyLLM.providers.flat_map(&:list_models).sort_by(&:id)
26
- # Write to models.json
27
- File.write(File.expand_path('models.json', __dir__), JSON.pretty_generate(models.map(&:to_h)))
28
26
  @instance = new(models)
29
27
  end
30
28
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyLLM
4
- VERSION = '0.1.0.pre48'
4
+ VERSION = '1.0.0'
5
5
  end
@@ -76,6 +76,8 @@ namespace :models do # rubocop:disable Metrics/BlockLength
76
76
 
77
77
  # Refresh models (now returns self instead of models array)
78
78
  models = RubyLLM.models.refresh!.all
79
+ # Write to models.json
80
+ File.write(File.expand_path('../ruby_llm/models.json', __dir__), JSON.pretty_generate(models.map(&:to_h)))
79
81
 
80
82
  puts "Updated models.json with #{models.size} models:"
81
83
  RubyLLM::Provider.providers.each do |provider_sym, provider_module|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre48
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carmine Paolino
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-02-28 00:00:00.000000000 Z
11
+ date: 2025-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: event_stream_parser