lammy 0.9.0 → 0.11.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: 2ff43d19861d0ae98debcecac11133a2abb26a9a7cd44636b63ba5195bf6984f
4
- data.tar.gz: 0dbe0ed8665a34ce50cc6c0862d77f926b298f353035018ebdb27dbe1e7d3674
3
+ metadata.gz: 2f3657ae5cd0f4184236eced4c05386e97c053d2c1299200583398df6b530a61
4
+ data.tar.gz: 3d4d81e7256a5eced459fe5a4ec480a4a7086714bb4648cd8476e66694888501
5
5
  SHA512:
6
- metadata.gz: 07e4aaae22128eb3e16447c136bab320c5887649611cb8acc5f29709c53841c52442040fd8a21609d2dd6df19e5565950f618334ca6fe1cb2515f71d25d09202
7
- data.tar.gz: 3b5352026f96575f874187b02f02ec57795748409853fb59e52df490223e05563ea5f53530d2c83e1930b4666601da9382c39f83bd2e43cd071c74aae52f93d0
6
+ metadata.gz: 7e723fa8684d325af83bfadf6038ce14c3df0a3335af59999723e8900a9b27c060647b4d16d7489475d6e74d7702b477dc7488f9c4abbcf1aaa246028d078d93
7
+ data.tar.gz: feba924c0c3890ea7219b04dd7705b4c1fb9756a1a80dcc0c15144663ea2af75edaaa8c282dbdb2f99bb235e76d8b06f12ed9648623ae89647edf29c1fc32a78
data/lib/lammy/chat.rb CHANGED
@@ -32,7 +32,11 @@ module Lammy
32
32
  raise "Unsupported model: #{model}"
33
33
  end
34
34
 
35
- client.chat(user_message, @system_message, @stream)
35
+ if !settings[:async] || @_with_sync_lammy
36
+ client.chat(user_message, @system_message, @stream)
37
+ else
38
+ ::Lammy::Job.perform_async(klass.name, self.id, method_name, *args)
39
+ end
36
40
  end
37
41
  end
38
42
  end
data/lib/lammy/claude.rb CHANGED
@@ -7,17 +7,11 @@ module Lammy
7
7
  # Use the Claude API's Ruby library
8
8
  class Claude
9
9
  MODELS = [
10
- /\Aclaude-3-5-sonnet-latest\z/,
11
- /\Aclaude-3-5-haiku-latest\z/,
12
- /\Aclaude-3-opus-latest\z/,
13
- /\Aclaude-3-5-sonnet-20240620\z/,
14
- /\Aclaude-3-5-haiku-20241022\z/,
15
- /\Aclaude-3-opus-20240229\z/,
16
- /\Aclaude-3-sonnet-20240229\z/,
17
- /\Aclaude-3-haiku-20240307\z/,
18
- /\Aclaude-2\.1\z/,
19
- /\Aclaude-2\.0\z/,
20
- /\Aclaude-instant-1\.2\z/
10
+ /\Aclaude-3-7-(?:sonnet|haiku|opus)(?:-\d{8}|-latest)?\z/,
11
+ /\Aclaude-3-5-(?:sonnet|haiku|opus)(?:-\d{8}|-latest)?\z/,
12
+ /\Aclaude-3-(?:sonnet|haiku|opus)(?:-\d{8}|-latest)?\z/,
13
+ /\Aclaude-2(?:\.\d)?\z/,
14
+ /\Aclaude-instant-(?:\d\.\d)?\z/
21
15
  ].freeze
22
16
 
23
17
  attr_reader :settings
data/lib/lammy/openai.rb CHANGED
@@ -8,18 +8,9 @@ module Lammy
8
8
  # Use the OpenAI API's Ruby library
9
9
  class OpenAI
10
10
  MODELS = [
11
- /^gpt-4o(?:-\d{4}-\d{2}-\d{2})?$/, /^chatgpt-4o-latest$/,
12
-
13
- /^gpt-4o-mini(?:-\d{4}-\d{2}-\d{2})?$/,
14
-
15
- /^o1(?:-preview(?:-\d{4}-\d{2}-\d{2})?)?$/,
16
-
17
- /^o1-mini(?:-\d{4}-\d{2}-\d{2})?$/,
18
-
19
- /^gpt-3\.5-turbo$/,
20
-
21
- /^gpt-4(?:-turbo(?:-\d{4}-\d{2}-\d{2})?|-32k|-\d{4}-preview|-vision-preview)?$/,
22
- /^gpt-3\.5-turbo-(?:\d{4}|\d{2}k-\d{4}|-instruct)$/,
11
+ /^gpt-.*$/,
12
+ /^chatgpt-.*$/,
13
+ /^o\d+(?:-.*)?$/,
23
14
  /^(?:davinci|babbage)-002$/
24
15
  ].freeze
25
16
 
data/lib/lammy.rb CHANGED
@@ -32,6 +32,12 @@ module L
32
32
  base.extend ClassMethods
33
33
  end
34
34
 
35
+ def _lammy_perform_now(&block)
36
+ @_with_sync_lammy = true
37
+ block.call
38
+ @_with_sync_lammy = false
39
+ end
40
+
35
41
  # Wrap generative methods with handlers
36
42
  module ClassMethods
37
43
  def llm(**kwargs)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lammy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kamil Nicieja
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-31 00:00:00.000000000 Z
11
+ date: 2025-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: anthropic