aia 0.8.0 → 0.8.1

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: 3a77cfcc71cea66fafd6eb8c17666eee983f7903a60f528e3bb396d8bdac0488
4
- data.tar.gz: c9424c2a40f886a231b10fe569276ba0b8e3e9feb435b38a0257852a91103629
3
+ metadata.gz: 54144943e09896335df01ec5d720b7f753aa183e5a01eebc866f6272b45f937b
4
+ data.tar.gz: c345ed440cf3ebb81f6c63d984731fb169e3893b6094297c9ee635c3cff00c2b
5
5
  SHA512:
6
- metadata.gz: 6f96bdaafd932c34637cbd05415dc4a5c856ecaf386780426d10db5f1dade03a2368c7a767698c385754467b3882bf50faa972a8dedfcd0a5b040777b86d4bb7
7
- data.tar.gz: 0cfd3aa1b9750a7ae83dbb21ef737647f64b9cf67cb2a428864b7f22edbccaf317c9dbee205e2995cfdb3809b883f792722aac281a82869477caba3e70d04d23
6
+ metadata.gz: 4f293b0ec3c8e45c9e07783cd5f453cc05d64ca5b804c1ef662fd4b9f23f0cbdc3f603801b667adf406bc549a856c4ae973739115d5f35884a6df9f3c9fab1b2
7
+ data.tar.gz: 399e4581d7459a1df068a7cc739a05782bc159dabc7f5ac7f6bedf5e4a485ea4ebae709347dc0a791d1290e2bbffacf32615d7364f700eb8fae57840ef73eaf6
data/.version CHANGED
@@ -1 +1 @@
1
- 0.8.0
1
+ 0.8.1
@@ -0,0 +1,92 @@
1
+ # lib/aia/tools/ai_client_backend.rb
2
+
3
+ # This is WIP in the `develop` branch
4
+ # do not use.
5
+
6
+ require 'ai_client'
7
+ require_relative 'backend_common'
8
+
9
+ class AIA::AiClientBackend < AIA::Tools
10
+ include AIA::BackendCommon
11
+
12
+ meta(
13
+ name: 'ai_client',
14
+ role: :backend,
15
+ desc: 'AI Client integration for unified model access',
16
+ url: 'https://github.com/path/to/ai_client', # TODO: Update URL
17
+ install: 'gem install ai_client',
18
+ )
19
+
20
+ attr_reader :client, :raw_response
21
+
22
+ DEFAULT_PARAMETERS = ''
23
+ DIRECTIVES = %w[
24
+ model
25
+ temperature
26
+ max_tokens
27
+ top_p
28
+ frequency_penalty
29
+ presence_penalty
30
+ ]
31
+
32
+ def initialize(text: "", files: [])
33
+ super
34
+ @client = AiClient.new
35
+ end
36
+
37
+ def build_command
38
+ # No-op - ai_client doesn't use command line
39
+ @parameters = ""
40
+ end
41
+
42
+ def run
43
+ handle_model(AIA.config.model)
44
+ rescue => e
45
+ puts "Error handling model #{AIA.config.model}: #{e.message}"
46
+ end
47
+
48
+ private
49
+
50
+ def handle_model(model_name)
51
+ case model_name
52
+ when /vision/
53
+ image2text
54
+ when /^gpt/
55
+ text2text
56
+ when /^dall-e/
57
+ text2image
58
+ when /^tts/
59
+ text2audio
60
+ when /^whisper/
61
+ audio2text
62
+ else
63
+ raise "Unsupported model: #{model_name}"
64
+ end
65
+ end
66
+
67
+ def text2text
68
+ response = client.complete(
69
+ prompt: text,
70
+ model: AIA.config.model,
71
+ temperature: AIA.config.temp
72
+ )
73
+ response.completion
74
+ end
75
+
76
+ # Placeholder methods to maintain API compatibility
77
+ def image2text
78
+ raise "Not yet implemented for ai_client"
79
+ end
80
+
81
+ def text2image
82
+ raise "Not yet implemented for ai_client"
83
+ end
84
+
85
+ def text2audio
86
+ raise "Not yet implemented for ai_client"
87
+ end
88
+
89
+ def audio2text
90
+ raise "Not yet implemented for ai_client"
91
+ end
92
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aia
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dewayne VanHoozer
@@ -292,6 +292,7 @@ files:
292
292
  - lib/aia/prompt_handler.rb
293
293
  - lib/aia/session.rb
294
294
  - lib/aia/shell_command_executor.rb
295
+ - lib/aia/tools/ai_client_backend.rb
295
296
  - lib/aia/ui_presenter.rb
296
297
  - lib/aia/utility.rb
297
298
  - lib/aia/version.rb