From d95bddf2af14e8ac5cc147903435a005039c173e Mon Sep 17 00:00:00 2001 From: Oscar Najera Date: Sun, 4 Feb 2024 21:45:42 +0100 Subject: Rename semgrep to semantic-search --- scratch/semgrep/server.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'scratch/semgrep/server.py') diff --git a/scratch/semgrep/server.py b/scratch/semgrep/server.py index 6f3ebcd..becabbb 100644 --- a/scratch/semgrep/server.py +++ b/scratch/semgrep/server.py @@ -23,6 +23,11 @@ def ensure_list(data): raise ValueError("Data must be a list of strings") +def delete_nodes(nodes): + for node in nodes: + collection.delete(where={"node-id": node}) + + class MyRequestHandler(BaseHTTPRequestHandler): def do_POST(self): content_length = int(self.headers["Content-Length"]) @@ -31,6 +36,7 @@ class MyRequestHandler(BaseHTTPRequestHandler): try: data = json.loads(post_data) response_message = f"Received POST request with data: '{data}'\n" + self.log_message(response_message) except ValueError: response_message = "Invalid JSON data" self.send_response(400) @@ -38,12 +44,14 @@ class MyRequestHandler(BaseHTTPRequestHandler): if query := data.get("query"): self.log_message("Processing query '%s'", query.replace("\n", " ").strip()) response = collection.query(query_texts=ensure_list(query)) + elif delete_set := data.get("delete"): + delete_nodes(ensure_list(delete_set)) + response = f"Deleted nodes {delete_set}" elif paragraphs := data.get("insert"): data, metadata = drop_duplicates(paragraphs) nodes = set(m.get("node-id") for m in metadata) self.log_message("Processing metadata %s", nodes) - for node in nodes: - collection.delete(where={"node-id": node}) + delete_nodes(nodes) collection.add( documents=data, metadatas=metadata, ids=list(map(checksum, data)) ) -- cgit v1.2.3