llm_memory 0.1.8 → 0.1.9

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: baa56ad255b6c35f11a18779aa0e1bd3257b36fc53e1f6870cb5ae902dcb71a9
4
- data.tar.gz: 1c03bea26b44ca3f74c7097155582087d645808756ba0e95e2f6767c912bd3f3
3
+ metadata.gz: 723ea7f6c27fd43b5cb447f476e802af917b678c68e3aa999bbad1807a950b20
4
+ data.tar.gz: e65bf3f2d0555d0c101f5fe550f436760dcecd28b57e67f54d89a1bcecde3ab3
5
5
  SHA512:
6
- metadata.gz: e698370bda45506cf5e5be841378d5e5ba0914890cdd09dc65f254cc838c6d009ae188ccf8d0253a0eea96fde20f8ff968a5eaadd2626b4f88f208eaf0ab4faa
7
- data.tar.gz: f78e7cda1b8438c66f2bf672591cf819db1e1651a6528dd752c0ae9ddf7c3a7d8657de3c93d5e0f3c62478a76ec26bf944d13624809f1c45c44a00a7b88976ec
6
+ metadata.gz: 975b970c1f2a8c447470755b74b115f3411b072f9bb9e2536c52462cdcedd120c93a342df169dd955ae4cbc9267569393039c5b319fea9487e1c49105a5cbf91
7
+ data.tar.gz: feb02279f9f41132237ef2649d0f3582a83d85c16240d8a79cbc0e8d85c485b659f2d7d2458367af5446ba08a856992bfd12f9bbd9c97510ccbee99bbf1140c6
data/Gemfile CHANGED
@@ -13,6 +13,7 @@ gem "webmock", "~> 3.18.1"
13
13
  gem "ruby-openai"
14
14
  gem "tokenizers"
15
15
  gem "redis"
16
+ gem "llm_memory_pgvector"
16
17
  # dev
17
18
  gem "dotenv"
18
19
  gem "pry"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- llm_memory (0.1.8)
4
+ llm_memory (0.1.9)
5
5
  redis (~> 4.6.0)
6
6
  ruby-openai (~> 3.7.0)
7
7
  tokenizers (~> 0.3.3)
@@ -24,12 +24,18 @@ GEM
24
24
  json (2.6.3)
25
25
  language_server-protocol (3.17.0.3)
26
26
  lint_roller (1.0.0)
27
+ llm_memory_pgvector (0.1.2)
28
+ llm_memory (~> 0.1.7)
29
+ pg (~> 1.5.3)
30
+ pgvector (~> 0.2.0)
27
31
  method_source (1.0.0)
28
32
  mini_mime (1.1.2)
29
33
  multi_xml (0.6.0)
30
34
  parallel (1.23.0)
31
35
  parser (3.2.2.1)
32
36
  ast (~> 2.4.1)
37
+ pg (1.5.3)
38
+ pgvector (0.2.0)
33
39
  pry (0.14.2)
34
40
  coderay (~> 1.1)
35
41
  method_source (~> 1.0)
@@ -97,6 +103,7 @@ PLATFORMS
97
103
  DEPENDENCIES
98
104
  dotenv
99
105
  llm_memory!
106
+ llm_memory_pgvector
100
107
  pry
101
108
  rake (~> 13.0)
102
109
  redis
@@ -50,17 +50,7 @@ module LlmMemory
50
50
 
51
51
  def query(query_str, limit: 3)
52
52
  vector = @embedding_instance.embed_document(query_str)
53
- response_list = @store.search(query: vector, k: limit)
54
- response_list.shift # the first one is the size
55
- # now [redis_key1, [],,, ]
56
- result = response_list.each_slice(2).to_h.values.map { |v|
57
- v.each_slice(2).to_h.transform_keys(&:to_sym)
58
- }
59
- result.each do |item|
60
- hash = JSON.parse(item[:metadata])
61
- item[:metadata] = hash.transform_keys(&:to_sym)
62
- end
63
- result
53
+ @store.search(query: vector, k: limit)
64
54
  end
65
55
 
66
56
  def forget_all
@@ -148,7 +148,17 @@ module LlmMemory
148
148
  "DIALECT",
149
149
  2
150
150
  ]
151
- @client.call(command)
151
+ response_list = @client.call(command)
152
+ response_list.shift # the first one is the size
153
+ # now [redis_key1, [],,, ]
154
+ result = response_list.each_slice(2).to_h.values.map { |v|
155
+ v.each_slice(2).to_h.transform_keys(&:to_sym)
156
+ }
157
+ result.each do |item|
158
+ hash = JSON.parse(item[:metadata])
159
+ item[:metadata] = hash.transform_keys(&:to_sym)
160
+ end
161
+ result
152
162
  end
153
163
  end
154
164
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LlmMemory
4
- VERSION = "0.1.8"
4
+ VERSION = "0.1.9"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llm_memory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shohei Kameda