llm_memory 0.1.12 → 0.1.13

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: 7d5876cf6c293ca2371eab3021704be2710c8b3d558e501543bde4acf6898595
4
- data.tar.gz: 232d45abb20fb82b09b0f8ba6b22c12168d498cd8e23110d56446ae5265991aa
3
+ metadata.gz: 783f2bf830c8e3bf6ac8f033c200bcdc068ac51e23c444a15a28ce4c3fdb3faf
4
+ data.tar.gz: 0705cd834c8877f368bb8827e7916f72ec81d1e70839b2455fd27f030b1d9346
5
5
  SHA512:
6
- metadata.gz: 128b6f275d904d2fafb8c7e0c1a26d33462edc015a33b1a3da6b4f1dc6f73ba51ae15f76f25d00221baa167956af06f1d5cd081fe8ab54e54b44c783c7380a98
7
- data.tar.gz: 693ec575ca7b4add6b64afb6f3608a3ca6c989274c4f896aaf7520df5e82a0c051d062dd24bd6975a12c585bfaed91b6c4c1a96195e5f1831b05ee3c3679659a
6
+ metadata.gz: 6adf9915342427085ec647c1475f4169159d8670731b76100820bd13780d43ab7e74e31e36f8eed48453ea7f3a63dd1d4da11e784ab6124a16dfe0a853c17199
7
+ data.tar.gz: fecd053b1881b4d52a6f587469b7ffb50501d1e75b100eedc27a33039805dfdccb33b2904cb0482754bcbce9c5d034369364db28b7749bcd511eac51176c01a2
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- llm_memory (0.1.12)
4
+ llm_memory (0.1.13)
5
5
  redis (~> 4.6.0)
6
6
  ruby-openai (~> 3.7.0)
7
7
  tokenizers (~> 0.3.3)
@@ -57,6 +57,14 @@ module LlmMemory
57
57
  @store.drop_index if @store.index_exists?
58
58
  end
59
59
 
60
+ def forget(key)
61
+ @store.delete(key)
62
+ end
63
+
64
+ def list(array = [])
65
+ @store.list(array)
66
+ end
67
+
60
68
  def add_vectors(docs)
61
69
  # embed documents and add vector
62
70
  result = []
@@ -27,6 +27,14 @@ module LlmMemory
27
27
  raise NotImplementedError, "Each store must implement the 'add' method."
28
28
  end
29
29
 
30
+ def list
31
+ raise NotImplementedError, "Each store must implement the 'list' method."
32
+ end
33
+
34
+ def delete
35
+ raise NotImplementedError, "Each store must implement the 'delete' method."
36
+ end
37
+
30
38
  def search
31
39
  raise NotImplementedError, "Each store must implement the 'search' method."
32
40
  end
@@ -123,7 +123,33 @@ module LlmMemory
123
123
  puts "Unexpected Error: #{e.message}"
124
124
  end
125
125
 
126
- def delete
126
+ def delete(key)
127
+ @client.del(key) if @client.exists?(key)
128
+ end
129
+
130
+ def delete_all
131
+ list.keys.each do |key|
132
+ delete(key)
133
+ end
134
+ end
135
+
136
+ def list(patterns = [])
137
+ patterns = if patterns.empty?
138
+ ["#{@index_name}:*"]
139
+ else
140
+ patterns.map { |pattern| "#{@index_name}:#{pattern}" }
141
+ end
142
+ data = {}
143
+ patterns.each do |pattern|
144
+ @client.keys(pattern).each do |key|
145
+ obj = @client.hgetall(key)
146
+ data[key] = {
147
+ content: obj.dig("content"),
148
+ metadata: JSON.parse(obj.dig("metadata"))
149
+ }
150
+ end
151
+ end
152
+ data
127
153
  end
128
154
 
129
155
  def update
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LlmMemory
4
- VERSION = "0.1.12"
4
+ VERSION = "0.1.13"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llm_memory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shohei Kameda
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-27 00:00:00.000000000 Z
11
+ date: 2023-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tokenizers