llm_memory_pgvector 0.1.3 → 0.1.4

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: 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