intelli_agent 0.1.2 → 0.1.3

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/intelli_agent/openai.rb +20 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5215cbeeb5f66df2815f4259cad370a962e2fc9cb8df39c55af6b1b73531f47b
4
- data.tar.gz: 9d41844c690e1ceb733d099ce73fffaba9efbe53d233abcd91963202ac9ea2fe
3
+ metadata.gz: 9cb37d7cb52a2574978fbf164f5b9eb0c92e3b71a91114c897e3bae81f51d9ef
4
+ data.tar.gz: e52d588661951e958e2d3551f2cfa92f622dacf9a84a00f50590db18d8fb0905
5
5
  SHA512:
6
- metadata.gz: d26c18ba4f481df7f2d1fc6517dc4195e1f59de1ff130795cf94e75d7c721456464566ee743740cd68728f9e62aea4feb655d5da5a020e16016b10341f03ff9d
7
- data.tar.gz: 35aedfcd5871657e690e7bb0dbfc4cf208b766872ed882d18ca6c22f9103b0fc94e70b3889f964908012e09ae0b6472357c29714fbc6e0fda7f6b59fbe8aaf64
6
+ metadata.gz: 7320d62158d94eca1db5ba269fb1a38e2c611a9772104cf718c2aa602407ff1648bcd0daeea2581c32478121fff351cb08881b8b02d8f14e4be67cbe0e726f40
7
+ data.tar.gz: a74ddef7f64bc99e3d87518ee97988dcf47f56a8d9cb3ef28bd6fed1e739ecf41ba94b4822eb1590f1bffda1badfbc5d28ec8433d9bf5e6ffaafab86274fde5d
@@ -61,6 +61,8 @@ module IntelliAgent::OpenAI
61
61
  def self.chat(messages:, model: :basic, response_format: nil, max_tokens: MAX_TOKENS)
62
62
  model = select_model(model)
63
63
 
64
+ messages = determine_message_format(messages).eql?(:short_format) ? convert_message_to_standard_format(messages) : messages
65
+
64
66
  parameters = { model:, messages:, max_tokens: }
65
67
  parameters[:response_format] = { type: 'json_object' } if response_format.eql?(:json)
66
68
 
@@ -84,4 +86,22 @@ module IntelliAgent::OpenAI
84
86
  model
85
87
  end
86
88
  end
89
+
90
+ def self.determine_message_format(messages)
91
+ case messages
92
+ in [{ role: String, content: String }, *]
93
+ :standard_format
94
+ in [{ system: String }, { user: String }, *]
95
+ :short_format
96
+ else
97
+ :unknown_format
98
+ end
99
+ end
100
+
101
+ def self.convert_message_to_standard_format(messages)
102
+ messages.map do |msg|
103
+ role, content = msg.first
104
+ { role: role.to_s, content: content }
105
+ end
106
+ end
87
107
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: intelli_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gedean Dias
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2027-08-27 00:00:00.000000000 Z
11
+ date: 2027-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-openai