You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ff0010a
Browse filesBrowse the repository at this point in the historyBrowse files
${this.arkRequest.textWeight.baseWeight} / (ROW_NUMBER() OVER (ORDER BY text_rank DESC) + ${this.arkRequest.textWeight.fineTuneWeight}) +
46
-
${this.arkRequest.similarityWeight.baseWeight} / (ROW_NUMBER() OVER (ORDER BY similarity DESC) + ${this.arkRequest.similarityWeight.fineTuneWeight}) +
47
-
${this.arkRequest.dateWeight.baseWeight} / (ROW_NUMBER() OVER (ORDER BY date_rank DESC) + ${this.arkRequest.dateWeight.fineTuneWeight}) AS rrf_score
48
-
FROM ( SELECT sv.id, sv.raw_text, sv.namespace, sv.filename, sv.timestamp, svtm.document_date, svtm.metadata, ts_rank_cd(sv.tsv, plainto_tsquery('${"english"}', '${this.arkRequest.query}')) AS text_rank, `;
87
+
${textBaseWeight} / (ROW_NUMBER() OVER (ORDER BY text_rank DESC) + ${textFineTuneWeight}) +
88
+
${simBaseWeight} / (ROW_NUMBER() OVER (ORDER BY similarity DESC) + ${simFineTuneWeight}) +
89
+
${dateBaseWeight} / (ROW_NUMBER() OVER (ORDER BY date_rank DESC) + ${dateFineTuneWeight}) AS rrf_score
90
+
FROM ( SELECT sv.id, sv.raw_text, sv.namespace, sv.filename, sv.timestamp, svtm.document_date, svtm.metadata, ts_rank_cd(sv.tsv, plainto_tsquery('${"english"}', '${safeSearchQuery}')) AS text_rank, `;
49
91
50
92
if(this.metric===PostgresDistanceMetric.COSINE)
51
93
query+=`1 - (sv.embedding <=> '${embedding}') AS similarity, `;
@@ -54,16 +96,16 @@ export class PostgresClient {
54
96
if(this.metric===PostgresDistanceMetric.L2)
55
97
query+=`sv.embedding <-> '${embedding}' AS similarity, `;
56
98
57
-
query+=`CASE WHEN svtm.document_date IS NULL THEN 0 ELSE EXTRACT(YEAR FROM svtm.document_date) * 365 + EXTRACT(DOY FROM svtm.document_date) END AS date_rank FROM (SELECT id, raw_text, embedding, tsv, namespace, filename, timestamp from ${this.tableName} WHERE namespace = '${this.namespace}'`;
99
+
query+=`CASE WHEN svtm.document_date IS NULL THEN 0 ELSE EXTRACT(YEAR FROM svtm.document_date) * 365 + EXTRACT(DOY FROM svtm.document_date) END AS date_rank FROM (SELECT id, raw_text, embedding, tsv, namespace, filename, timestamp from ${safeTableName} WHERE namespace = '${safeNamespace}'`;
58
100
59
101
if(this.metric===PostgresDistanceMetric.COSINE)
60
-
query+=` ORDER BY embedding <=> '${embedding}' LIMIT ${this.topK}`;
102
+
query+=` ORDER BY embedding <=> '${embedding}' LIMIT ${safeTopK}`;
61
103
if(this.metric===PostgresDistanceMetric.IP)
62
-
query+=` ORDER BY embedding <#> '${embedding}' LIMIT ${this.topK}`;
104
+
query+=` ORDER BY embedding <#> '${embedding}' LIMIT ${safeTopK}`;
63
105
if(this.metric===PostgresDistanceMetric.L2)
64
-
query+=` ORDER BY embedding <-> '${embedding}' LIMIT ${this.topK}`;
106
+
query+=` ORDER BY embedding <-> '${embedding}' LIMIT ${safeTopK}`;
65
107
66
-
query+=`) sv JOIN ${this.tableName}_join_${this.arkRequest.metadataTable} jtm ON sv.id = jtm.id JOIN ${this.tableName}_${this.arkRequest.metadataTable} svtm ON jtm.metadata_id = svtm.metadata_id) subquery `;
108
+
query+=`) sv JOIN ${safeJoinTable} jtm ON sv.id = jtm.id JOIN ${safeMetaTargetTable} svtm ON jtm.metadata_id = svtm.metadata_id) subquery `;
67
109
68
110
switch(this.arkRequest.orderRRF){
69
111
case"text_rank":
@@ -80,16 +122,16 @@ export class PostgresClient {
80
122
break;
81
123
}
82
124
83
-
query+=` LIMIT ${this.topK})`;
125
+
query+=` LIMIT ${safeTopK})`;
84
126
if(i<this.wordEmbeddings.length-1){
85
127
query+=" UNION ALL \n";
86
128
}
87
129
}
88
130
89
131
if(this.wordEmbeddings.length>1){
90
-
query=`SELECT * FROM (SELECT DISTINCT ON (result.id) * FROM ( ${query} ) result) subquery ORDER BY rrf_score DESC LIMIT ${this.upperLimit};`;
132
+
query=`SELECT * FROM (SELECT DISTINCT ON (result.id) * FROM ( ${query} ) result) subquery ORDER BY rrf_score DESC LIMIT ${safeUpperLimit};`;
91
133
}else{
92
-
query+=` ORDER BY rrf_score DESC LIMIT ${this.topK};`;
134
+
query+=` ORDER BY rrf_score DESC LIMIT ${safeTopK};`;
0 commit comments