Leet-Search / backend /app /database /find_k_nearest.py
Patel aryan
refactor: simplify handle_search function and remove pagination parameters from search route
43843dc
raw
history blame contribute delete
992 Bytes
from typing import List
# Adjust the import path as needed
from backend.app.database.supabase_client import supabase
def get_questions_by_similarity_range(query_embedding):
vector_str = "[" + ",".join(map(str, query_embedding)) + "]"
query = f"""
SELECT
id,
title,
url,
content,
original_content,
paid_only,
difficulty,
topictags,
LEAST(
GREATEST(
ROUND(
((1 - (embedding <=> '{vector_str}')) * 100)::numeric,
2
),
0
),
100
) AS match_percentage
FROM problems_bge
ORDER BY embedding <=> '{vector_str}'
"""
result = supabase.rpc('exec_sql', {"sql": query}).execute()
if result.data:
return result.data
else:
raise Exception(f"Query failed: {result}")