maritaca-ai 1.0.1 → 1.1.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 +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +14 -5
- data/README.md +39 -23
- data/controllers/client.rb +6 -0
- data/maritaca-ai.gemspec +1 -0
- data/static/gem.rb +1 -1
- data/tasks/generate-readme.clj +1 -1
- data/template.md +19 -4
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6303b41bc438b8e903a651e906e695cca755c34820cb75c66a9f669b2b8bedc4
|
4
|
+
data.tar.gz: cf98f0c7cdd2580885e681077fb57d15c78b68d6908176bc1cff8b737adff174
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2107ca61810c3ac4c0ef71955cfd998b71451a6dd2c0ef91a3442448a38f0594d4791687c5852bf668736c5f5a3b9f954932f601cd7629c8e871592cc8a7002
|
7
|
+
data.tar.gz: bde4023b33d3afbd36cbe183a60c14fd558135d99f323686a8130b98e601d9910af4e3d81f97a08a49ffd51d1ecbec68704d3772c86c6f2a2fdaa27f982335d1
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
maritaca-ai (1.0
|
4
|
+
maritaca-ai (1.1.0)
|
5
5
|
faraday (~> 2.9)
|
6
|
+
faraday-typhoeus (~> 1.1)
|
6
7
|
|
7
8
|
GEM
|
8
9
|
remote: https://rubygems.org/
|
@@ -11,17 +12,23 @@ GEM
|
|
11
12
|
byebug (11.1.3)
|
12
13
|
coderay (1.1.3)
|
13
14
|
dotenv (2.8.1)
|
15
|
+
ethon (0.16.0)
|
16
|
+
ffi (>= 1.15.0)
|
14
17
|
faraday (2.9.0)
|
15
18
|
faraday-net_http (>= 2.0, < 3.2)
|
16
19
|
faraday-net_http (3.1.0)
|
17
20
|
net-http
|
21
|
+
faraday-typhoeus (1.1.0)
|
22
|
+
faraday (~> 2.0)
|
23
|
+
typhoeus (~> 1.4)
|
24
|
+
ffi (1.16.3)
|
18
25
|
json (2.7.1)
|
19
26
|
language_server-protocol (3.17.0.3)
|
20
27
|
method_source (1.0.0)
|
21
28
|
net-http (0.4.1)
|
22
29
|
uri
|
23
30
|
parallel (1.24.0)
|
24
|
-
parser (3.3.0.
|
31
|
+
parser (3.3.0.5)
|
25
32
|
ast (~> 2.4.1)
|
26
33
|
racc
|
27
34
|
pry (0.14.2)
|
@@ -34,11 +41,11 @@ GEM
|
|
34
41
|
rainbow (3.1.1)
|
35
42
|
regexp_parser (2.9.0)
|
36
43
|
rexml (3.2.6)
|
37
|
-
rubocop (1.
|
44
|
+
rubocop (1.60.2)
|
38
45
|
json (~> 2.3)
|
39
46
|
language_server-protocol (>= 3.17.0)
|
40
47
|
parallel (~> 1.10)
|
41
|
-
parser (>= 3.
|
48
|
+
parser (>= 3.3.0.2)
|
42
49
|
rainbow (>= 2.2.2, < 4.0)
|
43
50
|
regexp_parser (>= 1.8, < 3.0)
|
44
51
|
rexml (>= 3.2.5, < 4.0)
|
@@ -48,6 +55,8 @@ GEM
|
|
48
55
|
rubocop-ast (1.30.0)
|
49
56
|
parser (>= 3.2.1.0)
|
50
57
|
ruby-progressbar (1.13.0)
|
58
|
+
typhoeus (1.4.1)
|
59
|
+
ethon (>= 0.9.0)
|
51
60
|
unicode-display_width (2.5.0)
|
52
61
|
uri (0.13.0)
|
53
62
|
|
@@ -58,7 +67,7 @@ DEPENDENCIES
|
|
58
67
|
dotenv (~> 2.8, >= 2.8.1)
|
59
68
|
maritaca-ai!
|
60
69
|
pry-byebug (~> 3.10, >= 3.10.1)
|
61
|
-
rubocop (~> 1.
|
70
|
+
rubocop (~> 1.60, >= 1.60.2)
|
62
71
|
|
63
72
|
BUNDLED WITH
|
64
73
|
2.4.22
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ A Ruby gem for interacting with [MariTalk](https://chat.maritaca.ai) from [Marit
|
|
9
9
|
## TL;DR and Quick Start
|
10
10
|
|
11
11
|
```ruby
|
12
|
-
gem 'maritaca-ai', '~> 1.0
|
12
|
+
gem 'maritaca-ai', '~> 1.1.0'
|
13
13
|
```
|
14
14
|
|
15
15
|
```ruby
|
@@ -36,27 +36,28 @@ Result:
|
|
36
36
|
- [TL;DR and Quick Start](#tldr-and-quick-start)
|
37
37
|
- [Index](#index)
|
38
38
|
- [Setup](#setup)
|
39
|
-
|
40
|
-
|
39
|
+
- [Installing](#installing)
|
40
|
+
- [Credentials](#credentials)
|
41
41
|
- [Usage](#usage)
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
- [
|
53
|
-
|
54
|
-
|
55
|
-
|
42
|
+
- [Client](#client)
|
43
|
+
- [Custom Address](#custom-address)
|
44
|
+
- [Methods](#methods)
|
45
|
+
- [chat_inference](#chat_inference)
|
46
|
+
- [Chat](#chat)
|
47
|
+
- [Back-and-Forth Conversations](#back-and-forth-conversations)
|
48
|
+
- [Without Chat](#without-chat)
|
49
|
+
- [New Functionalities and APIs](#new-functionalities-and-apis)
|
50
|
+
- [Request Options](#request-options)
|
51
|
+
- [Adapter](#adapter)
|
52
|
+
- [Timeout](#timeout)
|
53
|
+
- [Error Handling](#error-handling)
|
54
|
+
- [Rescuing](#rescuing)
|
55
|
+
- [For Short](#for-short)
|
56
|
+
- [Errors](#errors)
|
56
57
|
- [Development](#development)
|
57
|
-
|
58
|
-
|
59
|
-
|
58
|
+
- [Purpose](#purpose)
|
59
|
+
- [Publish to RubyGems](#publish-to-rubygems)
|
60
|
+
- [Updating the README](#updating-the-readme)
|
60
61
|
- [Resources and References](#resources-and-references)
|
61
62
|
- [Disclaimer](#disclaimer)
|
62
63
|
|
@@ -65,11 +66,11 @@ Result:
|
|
65
66
|
### Installing
|
66
67
|
|
67
68
|
```sh
|
68
|
-
gem install maritaca-ai -v 1.0
|
69
|
+
gem install maritaca-ai -v 1.1.0
|
69
70
|
```
|
70
71
|
|
71
72
|
```sh
|
72
|
-
gem 'maritaca-ai', '~> 1.0
|
73
|
+
gem 'maritaca-ai', '~> 1.1.0'
|
73
74
|
```
|
74
75
|
|
75
76
|
### Credentials
|
@@ -187,6 +188,21 @@ result = client.request(
|
|
187
188
|
|
188
189
|
### Request Options
|
189
190
|
|
191
|
+
#### Adapter
|
192
|
+
|
193
|
+
The gem uses [Faraday](https://github.com/lostisland/faraday) with the [Typhoeus](https://github.com/typhoeus/typhoeus) adapter by default.
|
194
|
+
|
195
|
+
You can use a different adapter if you want:
|
196
|
+
|
197
|
+
```ruby
|
198
|
+
require 'faraday/net_http'
|
199
|
+
|
200
|
+
client = Maritaca.new(
|
201
|
+
credentials: { api_key: ENV['MARITACA_API_KEY'] },
|
202
|
+
options: { connection: { adapter: :net_http } }
|
203
|
+
)
|
204
|
+
```
|
205
|
+
|
190
206
|
#### Timeout
|
191
207
|
|
192
208
|
You can set the maximum number of seconds to wait for the request to complete with the `timeout` option:
|
@@ -290,7 +306,7 @@ gem build maritaca-ai.gemspec
|
|
290
306
|
|
291
307
|
gem signin
|
292
308
|
|
293
|
-
gem push maritaca-ai-1.0.
|
309
|
+
gem push maritaca-ai-1.1.0.gem
|
294
310
|
```
|
295
311
|
|
296
312
|
### Updating the README
|
data/controllers/client.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'faraday'
|
4
|
+
require 'faraday/typhoeus'
|
4
5
|
require 'json'
|
5
6
|
|
6
7
|
require_relative '../components/errors'
|
@@ -12,6 +13,8 @@ module Maritaca
|
|
12
13
|
|
13
14
|
ALLOWED_REQUEST_OPTIONS = %i[timeout open_timeout read_timeout write_timeout].freeze
|
14
15
|
|
16
|
+
DEFAULT_FARADAY_ADAPTER = :typhoeus
|
17
|
+
|
15
18
|
def initialize(config)
|
16
19
|
@api_key = config.dig(:credentials, :api_key)
|
17
20
|
@server_sent_events = config.dig(:options, :server_sent_events)
|
@@ -35,6 +38,8 @@ module Maritaca
|
|
35
38
|
else
|
36
39
|
{}
|
37
40
|
end
|
41
|
+
|
42
|
+
@faraday_adapter = config.dig(:options, :connection, :adapter) || DEFAULT_FARADAY_ADAPTER
|
38
43
|
end
|
39
44
|
|
40
45
|
def chat_inference(payload, server_sent_events: nil, &callback)
|
@@ -57,6 +62,7 @@ module Maritaca
|
|
57
62
|
partial_json = ''
|
58
63
|
|
59
64
|
response = Faraday.new(request: @request_options) do |faraday|
|
65
|
+
faraday.adapter @faraday_adapter
|
60
66
|
faraday.response :raise_error
|
61
67
|
end.send(method_to_call) do |request|
|
62
68
|
request.url url
|
data/maritaca-ai.gemspec
CHANGED
data/static/gem.rb
CHANGED
data/tasks/generate-readme.clj
CHANGED
data/template.md
CHANGED
@@ -9,7 +9,7 @@ A Ruby gem for interacting with [MariTalk](https://chat.maritaca.ai) from [Marit
|
|
9
9
|
## TL;DR and Quick Start
|
10
10
|
|
11
11
|
```ruby
|
12
|
-
gem 'maritaca-ai', '~> 1.0
|
12
|
+
gem 'maritaca-ai', '~> 1.1.0'
|
13
13
|
```
|
14
14
|
|
15
15
|
```ruby
|
@@ -40,11 +40,11 @@ Result:
|
|
40
40
|
### Installing
|
41
41
|
|
42
42
|
```sh
|
43
|
-
gem install maritaca-ai -v 1.0
|
43
|
+
gem install maritaca-ai -v 1.1.0
|
44
44
|
```
|
45
45
|
|
46
46
|
```sh
|
47
|
-
gem 'maritaca-ai', '~> 1.0
|
47
|
+
gem 'maritaca-ai', '~> 1.1.0'
|
48
48
|
```
|
49
49
|
|
50
50
|
### Credentials
|
@@ -162,6 +162,21 @@ result = client.request(
|
|
162
162
|
|
163
163
|
### Request Options
|
164
164
|
|
165
|
+
#### Adapter
|
166
|
+
|
167
|
+
The gem uses [Faraday](https://github.com/lostisland/faraday) with the [Typhoeus](https://github.com/typhoeus/typhoeus) adapter by default.
|
168
|
+
|
169
|
+
You can use a different adapter if you want:
|
170
|
+
|
171
|
+
```ruby
|
172
|
+
require 'faraday/net_http'
|
173
|
+
|
174
|
+
client = Maritaca.new(
|
175
|
+
credentials: { api_key: ENV['MARITACA_API_KEY'] },
|
176
|
+
options: { connection: { adapter: :net_http } }
|
177
|
+
)
|
178
|
+
```
|
179
|
+
|
165
180
|
#### Timeout
|
166
181
|
|
167
182
|
You can set the maximum number of seconds to wait for the request to complete with the `timeout` option:
|
@@ -265,7 +280,7 @@ gem build maritaca-ai.gemspec
|
|
265
280
|
|
266
281
|
gem signin
|
267
282
|
|
268
|
-
gem push maritaca-ai-1.0.
|
283
|
+
gem push maritaca-ai-1.1.0.gem
|
269
284
|
```
|
270
285
|
|
271
286
|
### Updating the README
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: maritaca-ai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- gbaptista
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -24,8 +24,22 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.9'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday-typhoeus
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.1'
|
27
41
|
description: A Ruby gem for interacting with Maritaca AI's large language models.
|
28
|
-
email:
|
42
|
+
email:
|
29
43
|
executables: []
|
30
44
|
extensions: []
|
31
45
|
extra_rdoc_files: []
|
@@ -53,7 +67,7 @@ metadata:
|
|
53
67
|
homepage_uri: https://github.com/gbaptista/maritaca-ai
|
54
68
|
source_code_uri: https://github.com/gbaptista/maritaca-ai
|
55
69
|
rubygems_mfa_required: 'true'
|
56
|
-
post_install_message:
|
70
|
+
post_install_message:
|
57
71
|
rdoc_options: []
|
58
72
|
require_paths:
|
59
73
|
- ports/dsl
|
@@ -69,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
83
|
version: '0'
|
70
84
|
requirements: []
|
71
85
|
rubygems_version: 3.3.3
|
72
|
-
signing_key:
|
86
|
+
signing_key:
|
73
87
|
specification_version: 4
|
74
88
|
summary: Interact with Maritaca AI.
|
75
89
|
test_files: []
|