llm_memory_pgvector 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -1
- data/lib/llm_memory_pgvector/pgvector_store.rb +13 -8
- data/lib/llm_memory_pgvector/version.rb +1 -1
- data/llm_memory_pgvector.gemspec +1 -0
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02a8d906cb751a0dffa89839cc7f293c970c618285c917ca5521ed9091f4cad0
|
4
|
+
data.tar.gz: 7eeced97f49923746900caf68269041f93621f588cf743195aa4acdcdb725d8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c92ec2de76562dca9b5b3a8d0c0414858d58a73fc1cf43a575e96dd446016eb780f42ef4ae04354eec3bb63e615bef7f2efb4b6aae3a4faffc507e0a78efa781
|
7
|
+
data.tar.gz: 8989283b6f74ffb336b479114aa3b5a43790442924f51582c5ab3e6402e7460fe3cabd466591877dfc6c9aaf0f95037a926c24fa8b506aa5ecfd2ce9b2ae3a35
|
data/Gemfile.lock
CHANGED
@@ -30,20 +30,25 @@ module LlmMemoryPgvector
|
|
30
30
|
@conn.exec("CREATE TABLE #{@index_name} (id bigserial PRIMARY KEY, #{@content_key} TEXT, #{@metadata_key} JSON, #{@vector_key} vector(#{dim}))")
|
31
31
|
end
|
32
32
|
|
33
|
+
def index_exists?
|
34
|
+
@conn.exec("SELECT 1 FROM #{@index_name}")
|
35
|
+
true
|
36
|
+
rescue PG::Error
|
37
|
+
false
|
38
|
+
end
|
39
|
+
|
33
40
|
def drop_index
|
34
41
|
@conn.exec("DROP TABLE IF EXISTS #{@index_name}")
|
35
42
|
end
|
36
43
|
|
37
44
|
# data = [{ content: "", vector: [], metadata: {} },,]
|
38
45
|
def add(data: [])
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
SQL
|
46
|
-
@conn.exec(sql)
|
46
|
+
data.each do |row|
|
47
|
+
@conn.exec_params(
|
48
|
+
"INSERT INTO #{@index_name} (#{@content_key}, #{@metadata_key}, #{@vector_key}) VALUES ($1, $2, $3)",
|
49
|
+
[row[@content_key.to_sym], row[@metadata_key.to_sym].to_json, row[@vector_key.to_sym]]
|
50
|
+
)
|
51
|
+
end
|
47
52
|
end
|
48
53
|
|
49
54
|
def search(query: [], k: 3)
|
data/llm_memory_pgvector.gemspec
CHANGED
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
|
|
31
31
|
|
32
32
|
# Uncomment to register a new dependency of your gem
|
33
33
|
spec.add_dependency "llm_memory", "~> 0.1.7"
|
34
|
+
spec.add_dependency "pg", "~> 1.5.3"
|
34
35
|
spec.add_dependency "pgvector", "~> 0.2.0"
|
35
36
|
|
36
37
|
# For more information and examples about making a new gem, check out our
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: llm_memory_pgvector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shohei Kameda
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.1.7
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: pg
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.5.3
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.5.3
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: pgvector
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|