cohere-ai 1.0.2 → 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 +51 -35
- data/cohere-ai.gemspec +1 -0
- data/controllers/client.rb +6 -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: 3ea877fce85c65fa6b22f580d335c1e4d2445f60b85df8db0025cd4e1acb93d6
|
4
|
+
data.tar.gz: 435e4efc2cf75f18fd6ed283e915975ffda1561c868bbfd9cc7b691295fa0ea2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74d7b9593bae09f94e6d0c9c60f060a5118f4772be5a8fb8125a0bd96161ba0ac578f8d094a52c9f9312e2fa4c7cb4a35307b078ad7a339bb30309f37a45fae2
|
7
|
+
data.tar.gz: e23ee1214c25cf3cde1005a7847dd5a6d752c2e1b3a9e1bb1746ba6c6049c8784a46d8f27c96156c6900f20c91255b01fa5c569779dcb3693650338105b3b717
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cohere-ai (1.0
|
4
|
+
cohere-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
|
cohere-ai!
|
59
68
|
dotenv (~> 2.8, >= 2.8.1)
|
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 [Cohere AI](https://cohere.com).
|
|
9
9
|
## TL;DR and Quick Start
|
10
10
|
|
11
11
|
```ruby
|
12
|
-
gem 'cohere-ai', '~> 1.0
|
12
|
+
gem 'cohere-ai', '~> 1.1.0'
|
13
13
|
```
|
14
14
|
|
15
15
|
```ruby
|
@@ -46,39 +46,40 @@ Result:
|
|
46
46
|
- [TL;DR and Quick Start](#tldr-and-quick-start)
|
47
47
|
- [Index](#index)
|
48
48
|
- [Setup](#setup)
|
49
|
-
|
50
|
-
|
49
|
+
- [Installing](#installing)
|
50
|
+
- [Credentials](#credentials)
|
51
51
|
- [Usage](#usage)
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
- [
|
75
|
-
|
76
|
-
|
77
|
-
|
52
|
+
- [Client](#client)
|
53
|
+
- [Custom Address](#custom-address)
|
54
|
+
- [Methods](#methods)
|
55
|
+
- [chat](#chat)
|
56
|
+
- [Without Streaming Events](#without-streaming-events)
|
57
|
+
- [Receiving Stream Events](#receiving-stream-events)
|
58
|
+
- [generate](#generate)
|
59
|
+
- [embed](#embed)
|
60
|
+
- [rerank](#rerank)
|
61
|
+
- [classify](#classify)
|
62
|
+
- [detect_language](#detect_language)
|
63
|
+
- [summarize](#summarize)
|
64
|
+
- [tokenize](#tokenize)
|
65
|
+
- [detokenize](#detokenize)
|
66
|
+
- [Datasets](#datasets)
|
67
|
+
- [Connectors](#connectors)
|
68
|
+
- [Streaming and Server-Sent Events (SSE)](#streaming-and-server-sent-events-sse)
|
69
|
+
- [Server-Sent Events (SSE) Hang](#server-sent-events-sse-hang)
|
70
|
+
- [Back-and-Forth Conversations](#back-and-forth-conversations)
|
71
|
+
- [New Functionalities and APIs](#new-functionalities-and-apis)
|
72
|
+
- [Request Options](#request-options)
|
73
|
+
- [Adapter](#adapter)
|
74
|
+
- [Timeout](#timeout)
|
75
|
+
- [Error Handling](#error-handling)
|
76
|
+
- [Rescuing](#rescuing)
|
77
|
+
- [For Short](#for-short)
|
78
|
+
- [Errors](#errors)
|
78
79
|
- [Development](#development)
|
79
|
-
|
80
|
-
|
81
|
-
|
80
|
+
- [Purpose](#purpose)
|
81
|
+
- [Publish to RubyGems](#publish-to-rubygems)
|
82
|
+
- [Updating the README](#updating-the-readme)
|
82
83
|
- [Resources and References](#resources-and-references)
|
83
84
|
- [Disclaimer](#disclaimer)
|
84
85
|
|
@@ -87,11 +88,11 @@ Result:
|
|
87
88
|
### Installing
|
88
89
|
|
89
90
|
```sh
|
90
|
-
gem install cohere-ai -v 1.0
|
91
|
+
gem install cohere-ai -v 1.1.0
|
91
92
|
```
|
92
93
|
|
93
94
|
```sh
|
94
|
-
gem 'cohere-ai', '~> 1.0
|
95
|
+
gem 'cohere-ai', '~> 1.1.0'
|
95
96
|
```
|
96
97
|
|
97
98
|
### Credentials
|
@@ -617,6 +618,21 @@ result = client.request(
|
|
617
618
|
|
618
619
|
### Request Options
|
619
620
|
|
621
|
+
#### Adapter
|
622
|
+
|
623
|
+
The gem uses [Faraday](https://github.com/lostisland/faraday) with the [Typhoeus](https://github.com/typhoeus/typhoeus) adapter by default.
|
624
|
+
|
625
|
+
You can use a different adapter if you want:
|
626
|
+
|
627
|
+
```ruby
|
628
|
+
require 'faraday/net_http'
|
629
|
+
|
630
|
+
client = Cohere.new(
|
631
|
+
credentials: { api_key: ENV['COHERE_API_KEY'] },
|
632
|
+
options: { connection: { adapter: :net_http } }
|
633
|
+
)
|
634
|
+
```
|
635
|
+
|
620
636
|
#### Timeout
|
621
637
|
|
622
638
|
You can set the maximum number of seconds to wait for the request to complete with the `timeout` option:
|
@@ -719,7 +735,7 @@ gem build cohere-ai.gemspec
|
|
719
735
|
|
720
736
|
gem signin
|
721
737
|
|
722
|
-
gem push cohere-ai-1.0.
|
738
|
+
gem push cohere-ai-1.1.0.gem
|
723
739
|
```
|
724
740
|
|
725
741
|
### Updating the README
|
data/cohere-ai.gemspec
CHANGED
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 Cohere
|
|
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 Cohere
|
|
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(payload, server_sent_events: nil, &callback)
|
@@ -91,6 +96,7 @@ module Cohere
|
|
91
96
|
partial_json = ''
|
92
97
|
|
93
98
|
response = Faraday.new(request: @request_options) do |faraday|
|
99
|
+
faraday.adapter @faraday_adapter
|
94
100
|
faraday.response :raise_error
|
95
101
|
end.send(method_to_call) do |request|
|
96
102
|
request.url url
|
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 [Cohere AI](https://cohere.com).
|
|
9
9
|
## TL;DR and Quick Start
|
10
10
|
|
11
11
|
```ruby
|
12
|
-
gem 'cohere-ai', '~> 1.0
|
12
|
+
gem 'cohere-ai', '~> 1.1.0'
|
13
13
|
```
|
14
14
|
|
15
15
|
```ruby
|
@@ -50,11 +50,11 @@ Result:
|
|
50
50
|
### Installing
|
51
51
|
|
52
52
|
```sh
|
53
|
-
gem install cohere-ai -v 1.0
|
53
|
+
gem install cohere-ai -v 1.1.0
|
54
54
|
```
|
55
55
|
|
56
56
|
```sh
|
57
|
-
gem 'cohere-ai', '~> 1.0
|
57
|
+
gem 'cohere-ai', '~> 1.1.0'
|
58
58
|
```
|
59
59
|
|
60
60
|
### Credentials
|
@@ -580,6 +580,21 @@ result = client.request(
|
|
580
580
|
|
581
581
|
### Request Options
|
582
582
|
|
583
|
+
#### Adapter
|
584
|
+
|
585
|
+
The gem uses [Faraday](https://github.com/lostisland/faraday) with the [Typhoeus](https://github.com/typhoeus/typhoeus) adapter by default.
|
586
|
+
|
587
|
+
You can use a different adapter if you want:
|
588
|
+
|
589
|
+
```ruby
|
590
|
+
require 'faraday/net_http'
|
591
|
+
|
592
|
+
client = Cohere.new(
|
593
|
+
credentials: { api_key: ENV['COHERE_API_KEY'] },
|
594
|
+
options: { connection: { adapter: :net_http } }
|
595
|
+
)
|
596
|
+
```
|
597
|
+
|
583
598
|
#### Timeout
|
584
599
|
|
585
600
|
You can set the maximum number of seconds to wait for the request to complete with the `timeout` option:
|
@@ -682,7 +697,7 @@ gem build cohere-ai.gemspec
|
|
682
697
|
|
683
698
|
gem signin
|
684
699
|
|
685
|
-
gem push cohere-ai-1.0.
|
700
|
+
gem push cohere-ai-1.1.0.gem
|
686
701
|
```
|
687
702
|
|
688
703
|
### Updating the README
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cohere-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 Cohere AI platform.
|
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/cohere-ai
|
54
68
|
source_code_uri: https://github.com/gbaptista/cohere-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 Cohere AI.
|
75
89
|
test_files: []
|