llm_memory_pgvector 0.1.3 → 0.1.5

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: aa1b3ab9226fa280c8655446df1fd45cb6a1dfc54779d1c5f71c4f407945fdd6
4
- data.tar.gz: 8ae625dae794fbcb87bc915fbb766edbd0a09c5be0afe0c4be3e3ae76e757716
3
+ metadata.gz: 649ee254ec15284dedeb54afa917347e666472e7719060724d430d27ad2d9767
4
+ data.tar.gz: 3ed88178232fed65128929c364a3c8359a14487f0fc26f8f4535593173d6b83e
5
5
  SHA512:
6
- metadata.gz: 65069e24e02fa4dca85c4cdbe0a018337ad511a5cc35a680d9ddb31b59d8c9ee0e409de8934a7fc641a477995ba1176f94bfce8e94a55aeae201653895a8bc22
7
- data.tar.gz: bed6685f42c5129f75905a511e4ee78b0fbb546068be6f5fadb5e3ba7df2656333b50517a01c810703b4ee3971dc46475fa248d190ead3702e8ad76bdf6b21cf
6
+ metadata.gz: 6bb31d3168a85453de4920680bbcd9cf652b74058d6825a87b901aa79fa6af16f929d057e91fc2a9720019f5deae1e4b3dee6f32bf37ea6e5509b864fec70dab
7
+ data.tar.gz: 1638222ad8b71b281f68ed73d02f47896a8760ec116025738301d7981089c5fff50d4cd854c0ecfd50a51f5143b702a2dfd3c1249535ee0e91dcf1b7c7c35e3a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- llm_memory_pgvector (0.1.3)
4
+ llm_memory_pgvector (0.1.5)
5
5
  llm_memory (~> 0.1.7)
6
6
  pg (~> 1.5.3)
7
7
  pgvector (~> 0.2.0)
@@ -41,12 +41,13 @@ module LlmMemoryPgvector
41
41
  @conn.exec("DROP TABLE IF EXISTS #{@index_name}")
42
42
  end
43
43
 
44
- def list(ids = [])
45
- result = if ids.empty?
44
+ def list(*args)
45
+ id = (args.length == 1) ? args.first[:id] : []
46
+ result = if id.empty?
46
47
  @conn.exec("SELECT * FROM #{@index_name}")
47
48
  else
48
- placeholders = ids.map.with_index(1) { |_, i| "$#{i}" }.join(",")
49
- @conn.exec_params("SELECT * FROM #{@index_name} WHERE id IN (#{placeholders})", ids)
49
+ placeholders = id.map.with_index(1) { |_, i| "$#{i}" }.join(",")
50
+ @conn.exec_params("SELECT * FROM #{@index_name} WHERE id IN (#{placeholders})", id)
50
51
  end
51
52
  result.entries
52
53
  end
@@ -56,6 +57,11 @@ module LlmMemoryPgvector
56
57
  result.cmd_tuples > 0
57
58
  end
58
59
 
60
+ def get(id)
61
+ result = @conn.exec_params("SELECT * FROM #{@index_name} WHERE id = $1", [id])
62
+ result.entries.first
63
+ end
64
+
59
65
  def delete_all
60
66
  @conn.exec("DELETE FROM #{@index_name}")
61
67
  true
@@ -65,13 +71,15 @@ module LlmMemoryPgvector
65
71
 
66
72
  # data = [{ content: "", vector: [], metadata: {} },,]
67
73
  def add(data: [])
74
+ new_ids = []
68
75
  data.each do |row|
69
- @conn.exec_params(
70
- "INSERT INTO #{@index_name} (#{@content_key}, #{@metadata_key}, #{@vector_key}) VALUES ($1, $2, $3)",
76
+ result = @conn.exec_params(
77
+ "INSERT INTO #{@index_name} (#{@content_key}, #{@metadata_key}, #{@vector_key}) VALUES ($1, $2, $3) RETURNING id",
71
78
  [row[@content_key.to_sym], row[@metadata_key.to_sym].to_json, row[@vector_key.to_sym]]
72
79
  )
80
+ new_ids << result[0]["id"].to_i if result && result[0] && result[0]["id"]
73
81
  end
74
- list
82
+ list(id: new_ids)
75
83
  end
76
84
 
77
85
  def search(query: [], k: 3)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LlmMemoryPgvector
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llm_memory_pgvector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
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-31 00:00:00.000000000 Z
11
+ date: 2023-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: llm_memory