speaky 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 564d48d19c0f2c99ef2266064911bc1010523dd52d127c7aca4262c8b329700f
4
- data.tar.gz: 38c4365d3a09e26523c79da531211e276f53aa4a2ebff0a7337af8ff6e47a307
3
+ metadata.gz: d4c6b9331e1d4d69bf0e8e66f22fc9e43620874d22400552a418af290d286969
4
+ data.tar.gz: 1878fe018b91f0caede735903334a2e86a9a1ecbfd3814ebccfe6857f58ff606
5
5
  SHA512:
6
- metadata.gz: 565cba4dfa83cd596d3fafbf45db271ffc99225726a7af0ad7a899f859c8157cca0da0308f79957f0d7307ad15e9c34ef31e009e960dc4cadd35b77cd171dbed
7
- data.tar.gz: 81edbf263c317fe847fe6befbaf6d8bef329114ab8e1f87fefc440b6499d9218ec0090e39e0cad414f61e421f98a97a74c0b499247834a4d9ab3fd8c28bae9b6
6
+ metadata.gz: 3dbb0b0cd00be46b2ab61ff749474623c182c067ffdc3e51b6b20c5f1d87587f78d1290577cc61e6276db5574b81cb8116afe5db9f7a2e9aa0e4e078c220ae0e
7
+ data.tar.gz: 628ae505b3b8b6dbce97d08dcf953c568116d21725a2d4f3c82ee04c49815ac0c8dc10621af9e17f97aed9c34ee26426b41a3c7d2e31e319a5a04c8253c97880
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "openai"
4
-
5
3
  module Speaky
6
4
  class LlmOpenai < LlmBase
7
5
  def initialize(config)
6
+ require "openai"
7
+
8
8
  @config = config
9
9
 
10
10
  # check if the access token is set
@@ -1,51 +1,57 @@
1
- # # frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
- # require 'faiss'
3
+ module Speaky
4
+ class VectorstoreFaiss < VectorstoreBase
5
+ def initialize(config)
6
+ require 'faiss'
4
7
 
5
- # module Speaky
6
- # class VectorstoreFaiss < VectorstoreBase
7
- # def initialize(config)
8
- # @config = config
8
+ @config = config
9
9
 
10
- # # check if the index path is set
11
- # raise ArgumentError, 'index_path is required' unless @config[:index_path]
10
+ # check if the index path is set
11
+ raise ArgumentError, 'index_path is required' unless @config[:index_path]
12
12
 
13
- # # load index from index_path if exists
14
- # if File.exist?(@config[:index_path])
15
- # @index = Faiss::Index.load(@config[:index_path])
16
- # else
17
- # # create a new index
18
- # index = Faiss::IndexFlatL2.new(1536)
19
- # @index = Faiss::IndexIDMap.new(index)
20
- # @index.save(@config[:index_path])
21
- # end
22
- # end
13
+ # load index from index_path if exists
14
+ if File.exist?(@config[:index_path])
15
+ @index = Faiss::Index.load(@config[:index_path])
16
+ else
17
+ # create a new index
18
+ index = Faiss::IndexFlatL2.new(1536)
19
+ @index = Faiss::IndexIDMap.new(index)
20
+ @index.save(@config[:index_path])
21
+ end
22
+ end
23
23
 
24
- # def add(id, data)
25
- # embeddings = Speaky.llm.embed(data)
24
+ def add(id, data)
25
+ embeddings = Speaky.llm.embed(data)
26
26
 
27
- # @index.add_with_ids([embeddings], [string_id_to_unique_int_id(id)])
27
+ @index.add_with_ids([embeddings], [string_id_to_unique_int_id(id)])
28
28
 
29
- # true
30
- # end
29
+ true
30
+ end
31
31
 
32
- # def remove(id)
33
- # # remove is not supported by Faiss
34
- # true
35
- # end
32
+ def remove(id)
33
+ # remove is not supported by Faiss
34
+ true
35
+ end
36
36
 
37
- # def query(question)
38
- # # TODO: implement query
37
+ def query(question)
38
+ # TODO
39
39
 
40
- # []
41
- # end
40
+ []
41
+ end
42
42
 
43
- # private
43
+ def reset
44
+ # TODO
44
45
 
45
- # # This method is used to convert a string ID to a unique integer ID
46
- # # that can be used by the Qdrant API.
47
- # def string_id_to_unique_int_id(string_id)
48
- # string_id.to_s.hash.abs
49
- # end
50
- # end
51
- # end
46
+ true
47
+ end
48
+
49
+ private
50
+
51
+ # This method is used to convert a string ID to a unique integer ID
52
+ # that can be used by the Qdrant API.
53
+ def string_id_to_unique_int_id(string_id)
54
+ string_id.to_s.hash.abs
55
+ end
56
+ end
57
+ end
@@ -1,11 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rails'
4
- require 'qdrant'
5
4
 
6
5
  module Speaky
7
6
  class VectorstoreQdrant < VectorstoreBase
8
7
  def initialize(config)
8
+ require 'qdrant'
9
+
9
10
  @config = config
10
11
 
11
12
  # check if required fields are set
@@ -1,3 +1,3 @@
1
1
  module Speaky
2
- VERSION = '0.1.9'
2
+ VERSION = '0.1.10'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: speaky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregorio Galante
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-25 00:00:00.000000000 Z
11
+ date: 2024-03-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Store activerecord models in vector stores and query them with LLMs!
14
14
  email: