Skip to content

Commit 59c1071

Browse files
committed
add package reference embedding database
1 parent f529d1f commit 59c1071

File tree

9 files changed

+279
-0
lines changed

9 files changed

+279
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
table:
2+
name: content_embedding
3+
schema: package
4+
object_relationships:
5+
- name: reference_content
6+
using:
7+
foreign_key_constraint_on: reference_content_id

lunatrace/bsl/hasura/metadata/databases/lunatrace/tables/package_package.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ array_relationships:
3030
table:
3131
name: package_maintainer
3232
schema: package
33+
- name: reference_contents
34+
using:
35+
foreign_key_constraint_on:
36+
column: package_id
37+
table:
38+
name: reference_content
39+
schema: package
3340
- name: releases
3441
using:
3542
foreign_key_constraint_on:
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
table:
2+
name: reference_content
3+
schema: package
4+
object_relationships:
5+
- name: package
6+
using:
7+
foreign_key_constraint_on: package_id
8+
array_relationships:
9+
- name: content_embeddings
10+
using:
11+
foreign_key_constraint_on:
12+
column: reference_content_id
13+
table:
14+
name: content_embedding
15+
schema: package
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
DROP TABLE "package"."content_embedding";
2+
DROP TABLE "package"."reference_content";
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
CREATE TABLE "package"."reference_content" (
2+
"id" uuid NOT NULL DEFAULT gen_random_uuid(),
3+
"package_id" uuid NOT NULL REFERENCES "package"."package"("id") ON UPDATE cascade ON DELETE cascade,
4+
"url" text NOT NULL,
5+
"content" text NOT NULL,
6+
"normalized_content" text NOT NULL,
7+
"content_type" text NOT NULL,
8+
"last_successful_fetch" timestamptz DEFAULT NULL,
9+
PRIMARY KEY ("id"),
10+
UNIQUE ("package_id", "url")
11+
);
12+
13+
CREATE TABLE "package"."content_embedding" (
14+
"id" uuid NOT NULL DEFAULT gen_random_uuid(),
15+
"content_hash" text NOT NULL,
16+
"reference_content_id" uuid NOT NULL REFERENCES "package"."reference_content"("id") ON UPDATE cascade ON DELETE cascade,
17+
"content" text NOT NULL,
18+
"embedding" vector (1536) NOT NULL,
19+
PRIMARY KEY ("id"),
20+
UNIQUE ("content_hash")
21+
);
22+
23+
CREATE INDEX ON "package"."content_embedding"
24+
USING ivfflat (embedding vector_cosine_ops)
25+
WITH (lists = 100);

lunatrace/gogen/sqlgen/lunatrace/package/model/content_embedding.go

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lunatrace/gogen/sqlgen/lunatrace/package/model/reference_content.go

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lunatrace/gogen/sqlgen/lunatrace/package/table/content_embedding.go

Lines changed: 87 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lunatrace/gogen/sqlgen/lunatrace/package/table/reference_content.go

Lines changed: 93 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)