omniai-deepseek 2.2.0 → 2.6.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: 831334611611aac507527b06ecb972eb042713b505ba5e7b0b0408c9c50ee91f
4
- data.tar.gz: 99239c83cd5bf1e5101c92ee41846b6239505ab524b7dfa371199e6f728113cd
3
+ metadata.gz: 894b3ca0ba0f10512501ac38a5a70aa7f5e7adfc720c4c3f39544408a1af83f6
4
+ data.tar.gz: 11fd9326d3b497d28f0bf4090f89dbeaad2740cdc0595b3ca317a3609bf23ea9
5
5
  SHA512:
6
- metadata.gz: d3e943f32ef307e8c168804b377c45ed734a27e95d39fcee8dd0924cd205a73e960dfea2df1433562f1ad1d939df856c0f43968cb8c114a3421a10bfa7adbb7f
7
- data.tar.gz: d3555b1bbbc93c61f6daad2e87cc328f833500ac53678d0feed3ca382d64e2ce8c3f86f2db1bad478d6da2c4e31789debcdf6a04c5a005568a47d7cab03f789c
6
+ metadata.gz: bcd7d7203d9aa5baf4c2aec935275948ace1a777eac0cb51984c5467ce9020f4cd3c733e9518fd7370bedc44b18b029a3770d108c0648b9578d006e736432242
7
+ data.tar.gz: b5253226d33073e5b90f665e29bcce6fa335094d7d5082c65ccbdb978ebb35685615cbba70742ffdb0b0a50f07ffaa2b5f474b5846d0b1dae098f14c9f875949
data/Gemfile CHANGED
@@ -7,6 +7,7 @@ gemspec
7
7
  gem "irb"
8
8
  gem "logger"
9
9
  gem "rake"
10
+ gem "redcarpet"
10
11
  gem "rspec"
11
12
  gem "rspec_junit_formatter"
12
13
  gem "rubocop"
@@ -12,7 +12,11 @@ module OmniAI
12
12
  # end
13
13
  # completion.choice.message.content # '...'
14
14
  class Chat < OmniAI::Chat
15
- JSON_RESPONSE_FORMAT = { type: "json_object" }.freeze
15
+ module ResponseFormat
16
+ TEXT_TYPE = "text"
17
+ JSON_TYPE = "json_object"
18
+ SCHEMA_TYPE = "json_schema"
19
+ end
16
20
 
17
21
  module Model
18
22
  CHAT = "deepseek-chat"
@@ -30,7 +34,7 @@ module OmniAI
30
34
  model: @model,
31
35
  stream: stream? || nil,
32
36
  temperature: @temperature,
33
- response_format: (JSON_RESPONSE_FORMAT if @format.eql?(:json)),
37
+ response_format:,
34
38
  tools: (@tools.map(&:serialize) if @tools&.any?),
35
39
  }).compact
36
40
  end
@@ -39,6 +43,20 @@ module OmniAI
39
43
  def path
40
44
  "/chat/completions"
41
45
  end
46
+
47
+ # @raise [ArgumentError]
48
+ #
49
+ # @return [Hash, nil]
50
+ def response_format
51
+ return if @format.nil?
52
+
53
+ case @format
54
+ when :text then { type: ResponseFormat::TEXT_TYPE }
55
+ when :json then { type: ResponseFormat::JSON_TYPE }
56
+ when OmniAI::Schema::Format then { type: ResponseFormat::SCHEMA_TYPE, json_schema: @format.serialize }
57
+ else raise ArgumentError, "unknown format=#{@format}"
58
+ end
59
+ end
42
60
  end
43
61
  end
44
62
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OmniAI
4
4
  module DeepSeek
5
- VERSION = "2.2.0"
5
+ VERSION = "2.6.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniai-deepseek
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Sylvestre
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-27 00:00:00.000000000 Z
10
+ date: 2025-05-08 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: event_stream_parser
@@ -29,14 +29,14 @@ dependencies:
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '2.2'
32
+ version: '2.6'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '2.2'
39
+ version: '2.6'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: zeitwerk
42
42
  requirement: !ruby/object:Gem::Requirement