dspy-gemini 1.0.3 → 1.0.4

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: 0d8c3a914bf14371393cd8666e8fe6dde619beba003ad16513e3ecb077239b06
4
- data.tar.gz: fdd2ee0fd8710a95653626ccf32a529fe491efefcb5bbe3f7c4422586a056733
3
+ metadata.gz: 3c7ede5395b56b65a0bc339369a0d8c998ecf4316d77f2863d39aacb9d550b41
4
+ data.tar.gz: 84d6adac01d530c2a907f4f220724f403fb9b078b085b223466287c85db17a39
5
5
  SHA512:
6
- metadata.gz: efedc61fd10498ee0efff8f03d1b55c8f9e2407fe7afaad7b99e2489fb184ebbec468a3ffc85054ece684bcaaa8cd8e112ce4a4a64a9ec32e39ad823d8d1256d
7
- data.tar.gz: 05203eb5b8bc7b61ec438fb65d0c289c59a2cb7a97dc5e8bd64e195f64f183879392d701da50d94af66fc62b81383b8520125a7181850001e4c3cb19b3fed4c0
6
+ metadata.gz: 7bec96952b3d33201d6c2ad5d7e0351a6bb390f0d35ad689acdde02cebf5aba25dee0152c62c2a3db83f6be64dcf93e336e2f99a05aed92ed624bd1cdf3dd836
7
+ data.tar.gz: ec1455e4602379edd52634ce533b1b8bba8807df230f42de7003161804bb0ec987b5e66038d0d000d4fbc470becbe277e0d0ae7871dcda6a37b08f06ba1e0e80
data/README.md CHANGED
@@ -9,6 +9,7 @@
9
9
  **Build reliable LLM applications in idiomatic Ruby using composable, type-safe modules.**
10
10
 
11
11
  DSPy.rb is the Ruby port of Stanford's [DSPy](https://dspy.ai). Instead of wrestling with brittle prompt strings, you define typed signatures and let the framework handle the rest. Prompts become functions. LLM calls become predictable.
12
+ The `1.x` line is the stable release track for production Ruby LLM applications.
12
13
 
13
14
  ```ruby
14
15
  require 'dspy'
@@ -5,9 +5,6 @@ require 'json'
5
5
  require 'dspy/lm/vision_models'
6
6
  require 'dspy/lm/adapter'
7
7
 
8
- require 'dspy/gemini/guardrails'
9
- DSPy::Gemini::Guardrails.ensure_gemini_installed!
10
-
11
8
  module DSPy
12
9
  module Gemini
13
10
  module LM
@@ -52,7 +49,9 @@ module DSPy
52
49
  # Validate vision support if images are present
53
50
  if contains_images?(normalized_messages)
54
51
  DSPy::LM::VisionModels.validate_vision_support!('gemini', model)
55
- # Convert messages to Gemini format with proper image handling
52
+ end
53
+
54
+ if contains_media?(normalized_messages)
56
55
  normalized_messages = format_multimodal_messages(normalized_messages, 'gemini')
57
56
  end
58
57
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module DSPy
4
4
  module Gemini
5
- VERSION = '1.0.3'
5
+ VERSION = '1.0.4'
6
6
  end
7
7
  end
data/lib/dspy/gemini.rb CHANGED
@@ -2,8 +2,5 @@
2
2
 
3
3
  require 'dspy/gemini/version'
4
4
 
5
- require 'dspy/gemini/guardrails'
6
- DSPy::Gemini::Guardrails.ensure_gemini_installed!
7
-
8
5
  require 'dspy/gemini/lm/adapters/gemini_adapter'
9
6
  require 'dspy/gemini/lm/schema_converter'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dspy-gemini
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vicente Reig Rincón de Arellano
@@ -15,28 +15,40 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '0.30'
18
+ version: 0.30.1
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '2.0'
19
22
  type: :runtime
20
23
  prerelease: false
21
24
  version_requirements: !ruby/object:Gem::Requirement
22
25
  requirements:
23
26
  - - ">="
24
27
  - !ruby/object:Gem::Version
25
- version: '0.30'
28
+ version: 0.30.1
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '2.0'
26
32
  - !ruby/object:Gem::Dependency
27
33
  name: gemini-ai
28
34
  requirement: !ruby/object:Gem::Requirement
29
35
  requirements:
30
36
  - - ">="
31
37
  - !ruby/object:Gem::Version
32
- version: '0'
38
+ version: 4.3.0
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '5.0'
33
42
  type: :runtime
34
43
  prerelease: false
35
44
  version_requirements: !ruby/object:Gem::Requirement
36
45
  requirements:
37
46
  - - ">="
38
47
  - !ruby/object:Gem::Version
39
- version: '0'
48
+ version: 4.3.0
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '5.0'
40
52
  description: Provides the GeminiAdapter so Gemini-compatible providers can be added
41
53
  to DSPy.rb projects independently of the core gem.
42
54
  email:
@@ -49,7 +61,6 @@ files:
49
61
  - README.md
50
62
  - lib/dspy/gemini.rb
51
63
  - lib/dspy/gemini/README.md
52
- - lib/dspy/gemini/guardrails.rb
53
64
  - lib/dspy/gemini/lm/adapters/gemini_adapter.rb
54
65
  - lib/dspy/gemini/lm/schema_converter.rb
55
66
  - lib/dspy/gemini/version.rb
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'dspy/lm/errors'
4
-
5
- module DSPy
6
- module Gemini
7
- class Guardrails
8
- SUPPORTED_GEMINI_VERSIONS = "~> 4.3".freeze
9
-
10
- def self.ensure_gemini_installed!
11
- require 'gemini-ai'
12
-
13
- spec = Gem.loaded_specs["gemini-ai"]
14
- unless spec && Gem::Requirement.new(SUPPORTED_GEMINI_VERSIONS).satisfied_by?(spec.version)
15
- msg = <<~MSG
16
- DSPY requires `gemini-ai` gem #{SUPPORTED_GEMINI_VERSIONS}.
17
- Please Install or upgrade it with `bundle add gemini-ai --version "#{SUPPORTED_GEMINI_VERSIONS}"`.
18
- MSG
19
- raise DSPy::LM::UnsupportedVersionError, msg
20
- end
21
- end
22
- end
23
- end
24
- end
25
-