nlpcloud 1.0.14 → 1.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nlpcloud.rb +25 -4
  3. metadata +6 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a625122c70741c70a1d3bf335696ade3bfc453f069f85c57737ee457509ba18
4
- data.tar.gz: 496cc60651689612fd01f6d73d22242ec559eb139241debd7fe6367cb725cfda
3
+ metadata.gz: ba0ea165110cdb347d71a03eecfee3f90683d64526af1f26ee2b01a90818fd09
4
+ data.tar.gz: daf9745041d2cc720d5df0ef37275f44b320f8a760f985d264ae8173f287c150
5
5
  SHA512:
6
- metadata.gz: 76b87c80b41bd0ce5c6640c82565f93dcdcf7dc0689784c82020f88bafc95503ef97531e1491e03cd63f73d45a731feff04e2c6d776d05c3fc2c90f009a10632
7
- data.tar.gz: '04281a7294ffebc7bb448d190cb617aaba7755d7d6b461e4d353eb4120083127c96db5c42dee219df36a76710a4f4ca61b5836c41a75b1ed2670e13277ce49e8'
6
+ metadata.gz: 51c84014d9fbf0816ee3727ff013a809aa104be22cb79463a47b0ad2cdfd7b1458e2068ff92c153758e666fd2f349d1e99ba70170f3c8b3d60882153d1d320d0
7
+ data.tar.gz: d86e7c59c918f9c1d95b36e696eac83a1627096fd0a09c795802092c4f83ebfbe5a402fd482b98c63a8fefb63a02cd76ae1feb2fa5b2ead83bac5ed2cac1e656
data/lib/nlpcloud.rb CHANGED
@@ -9,15 +9,19 @@ module NLPCloud
9
9
 
10
10
  # Client requests the API.
11
11
  class Client
12
- def initialize(model, token, gpu: false)
12
+ def initialize(model, token, gpu: false, lang: '')
13
13
  @headers = {
14
14
  'Authorization' => "Token #{token}",
15
15
  'Content-Type' => 'application/json',
16
16
  'User-Agent' => 'nlpcloud-ruby-client'
17
17
  }
18
18
 
19
- @root_url = if gpu
19
+ @root_url = if gpu && (lang != '')
20
+ "#{BASE_URL}/#{API_VERSION}/gpu/#{lang}/#{model}"
21
+ elsif gpu && (lang == '')
20
22
  "#{BASE_URL}/#{API_VERSION}/gpu/#{model}"
23
+ elsif !gpu && (lang != '')
24
+ "#{BASE_URL}/#{API_VERSION}/#{lang}/#{model}"
21
25
  else
22
26
  "#{BASE_URL}/#{API_VERSION}/#{model}"
23
27
  end
@@ -44,7 +48,7 @@ module NLPCloud
44
48
  def generation(text, min_length: nil, max_length: nil, length_no_input: nil,
45
49
  end_sequence: nil, remove_input: nil, do_sample: nil, num_beams: nil, early_stopping: nil,
46
50
  no_repeat_ngram_size: nil, num_return_sequences: nil, top_k: nil, top_p: nil,
47
- temperature: nil, repetition_penalty: nil, length_penalty: nil, bad_words: nil)
51
+ temperature: nil, repetition_penalty: nil, length_penalty: nil, bad_words: nil, remove_end_sequence: nil)
48
52
  payload = {
49
53
  'text' => text,
50
54
  'min_length' => min_length,
@@ -62,7 +66,8 @@ module NLPCloud
62
66
  'temperature' => temperature,
63
67
  'repetition_penalty' => repetition_penalty,
64
68
  'length_penalty' => length_penalty,
65
- 'bad_words' => bad_words
69
+ 'bad_words' => bad_words,
70
+ 'remove_end_sequence' => remove_end_sequence
66
71
  }
67
72
  response = RestClient.post("#{@root_url}/generation", payload.to_json, @headers)
68
73
  JSON.parse(response.body)
@@ -109,6 +114,14 @@ module NLPCloud
109
114
  JSON.parse(response.body)
110
115
  end
111
116
 
117
+ def semantic_similarity(sentences)
118
+ payload = {
119
+ 'sentences' => sentences
120
+ }
121
+ response = RestClient.post("#{@root_url}/semantic_similarity", payload.to_json, @headers)
122
+ JSON.parse(response.body)
123
+ end
124
+
112
125
  def tokens(text)
113
126
  payload = {
114
127
  'text' => text
@@ -133,6 +146,14 @@ module NLPCloud
133
146
  JSON.parse(response.body)
134
147
  end
135
148
 
149
+ def embeddings(sentences)
150
+ payload = {
151
+ 'sentences' => sentences
152
+ }
153
+ response = RestClient.post("#{@root_url}/embeddings", payload.to_json, @headers)
154
+ JSON.parse(response.body)
155
+ end
156
+
136
157
  def lib_versions
137
158
  response = RestClient.get("#{@root_url}/versions", @headers)
138
159
  JSON.parse(response.body)
metadata CHANGED
@@ -1,20 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nlpcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.14
4
+ version: 1.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Salinas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-10 00:00:00.000000000 Z
11
+ date: 2022-03-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'NLP Cloud serves high performance pre-trained or custom models for NER,
14
14
  sentiment-analysis, classification, summarization, text generation, question answering,
15
- machine translation, language detection, tokenization, POS tagging, and dependency
16
- parsing. It is ready for production, served through a REST API. This is the Ruby
17
- client for the API. More details here: https://nlpcloud.io. Documentation: https://docs.nlpcloud.io.'
15
+ machine translation, language detection, semantic similarity, tokenization, POS
16
+ tagging, embeddings, and dependency parsing. It is ready for production, served
17
+ through a REST API. This is the Ruby client for the API. More details here: https://nlpcloud.io.
18
+ Documentation: https://docs.nlpcloud.io.'
18
19
  email: all@juliensalinas.com
19
20
  executables: []
20
21
  extensions: []