llm_memory_pgvector 0.1.3 → 0.1.4

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: 429622b6f10a9c12ecc17068730ebdefa18f23c06560347bd97201efd5ef97de
4
+ data.tar.gz: 7c6b463ccc7e5289a711635befa43ce075dc8169bba678803b5c54f5d05c2571
5
5
  SHA512:
6
- metadata.gz: 65069e24e02fa4dca85c4cdbe0a018337ad511a5cc35a680d9ddb31b59d8c9ee0e409de8934a7fc641a477995ba1176f94bfce8e94a55aeae201653895a8bc22
7
- data.tar.gz: bed6685f42c5129f75905a511e4ee78b0fbb546068be6f5fadb5e3ba7df2656333b50517a01c810703b4ee3971dc46475fa248d190ead3702e8ad76bdf6b21cf
6
+ metadata.gz: 2ee72e800eafc4ec006a4cc528345fa9d8b4911656ff773305046e65105499a300c7a7cc11ae34f274955600515bbf4e60cc8a77c432adae38fcbae8569fe903
7
+ data.tar.gz: 637159935cd9f9d33c230fbb2aaf46c64e55b8db35cf282747bc75ccff27742863a96d0d8853e8f4588991fa0bc67a98e7ca0b19312b1455f9167a4cef7d728a
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.4)
5
5
  llm_memory (~> 0.1.7)
6
6
  pg (~> 1.5.3)
7
7
  pgvector (~> 0.2.0)
@@ -41,12 +41,12 @@ 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(id: [])
45
+ result = if id.empty?
46
46
  @conn.exec("SELECT * FROM #{@index_name}")
47
47
  else
48
- placeholders = ids.map.with_index(1) { |_, i| "$#{i}" }.join(",")
49
- @conn.exec_params("SELECT * FROM #{@index_name} WHERE id IN (#{placeholders})", ids)
48
+ placeholders = id.map.with_index(1) { |_, i| "$#{i}" }.join(",")
49
+ @conn.exec_params("SELECT * FROM #{@index_name} WHERE id IN (#{placeholders})", id)
50
50
  end
51
51
  result.entries
52
52
  end
@@ -56,6 +56,11 @@ module LlmMemoryPgvector
56
56
  result.cmd_tuples > 0
57
57
  end
58
58
 
59
+ def get(id)
60
+ result = @conn.exec_params("SELECT * FROM #{@index_name} WHERE id = $1", [id])
61
+ result.entries.first
62
+ end
63
+
59
64
  def delete_all
60
65
  @conn.exec("DELETE FROM #{@index_name}")
61
66
  true
@@ -65,13 +70,15 @@ module LlmMemoryPgvector
65
70
 
66
71
  # data = [{ content: "", vector: [], metadata: {} },,]
67
72
  def add(data: [])
73
+ new_ids = []
68
74
  data.each do |row|
69
- @conn.exec_params(
70
- "INSERT INTO #{@index_name} (#{@content_key}, #{@metadata_key}, #{@vector_key}) VALUES ($1, $2, $3)",
75
+ result = @conn.exec_params(
76
+ "INSERT INTO #{@index_name} (#{@content_key}, #{@metadata_key}, #{@vector_key}) VALUES ($1, $2, $3) RETURNING id",
71
77
  [row[@content_key.to_sym], row[@metadata_key.to_sym].to_json, row[@vector_key.to_sym]]
72
78
  )
79
+ new_ids << result[0]["id"].to_i if result && result[0] && result[0]["id"]
73
80
  end
74
- list
81
+ list(id: new_ids)
75
82
  end
76
83
 
77
84
  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.4"
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.4
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