-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstarter.sql
More file actions
72 lines (65 loc) · 2.7 KB
/
starter.sql
File metadata and controls
72 lines (65 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
create table
public.documents (
id bigserial,
content text null,
metadata jsonb null,
embedding vector(1536) null,
constraint documents_pkey primary key (id)
) tablespace pg_default;
create table
public.user_npc (
id bigint generated by default as identity,
name character varying null default ''::character varying,
race character varying null default ''::character varying,
character_class character varying null default ''::character varying,
traits character varying null default ''::character varying,
personality character varying null default ''::character varying,
accent character varying null default ''::character varying,
conversational_style character varying null default ''::character varying,
alignment character varying null default ''::character varying,
game_setting character varying null default ''::character varying,
background_history text null default ''::text,
user_id uuid null,
created_at timestamp with time zone null default now(),
updated_at timestamp with time zone null default now(),
additional_info text null default ''::text,
attitude character varying null default ''::character varying,
gender character varying null default ''::character varying,
created_by uuid null,
picture_url character varying null,
game character varying null default ''::character varying,
constraint user_npc_pkey primary key (id),
constraint user_npc_created_by_fkey foreign key (created_by) references auth.users (id) on delete restrict
) tablespace pg_default;
create index if not exists idx_user_npc_user_id on public.user_npc using btree (user_id) tablespace pg_default;
create table
public.profiles (
id uuid not null,
updated_at timestamp with time zone null,
username text null,
full_name text null,
avatar_url text null,
website text null,
constraint profiles_pkey primary key (id),
constraint profiles_username_key unique (username),
constraint profiles_id_fkey foreign key (id) references auth.users (id) on delete cascade,
constraint username_length check ((char_length(username) >= 3))
) tablespace pg_default;
CREATE OR REPLACE FUNCTION public.match_documents(query_embedding vector, match_count integer DEFAULT NULL::integer, filter jsonb DEFAULT '{}'::jsonb)
RETURNS TABLE(id bigint, content text, metadata jsonb, similarity double precision)
LANGUAGE plpgsql
AS $function$
#variable_conflict use_column
begin
return query
select
id,
content,
metadata,
1 - (documents.embedding <=> query_embedding) as similarity
from documents
where metadata @> filter
order by documents.embedding <=> query_embedding
limit match_count;
end;
$function$