From 9f5c0daa8e97c8483afabc597f0281b4d8573561 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Tue, 17 Oct 2023 09:43:48 +0300 Subject: [PATCH 1/3] protection --- pr_agent/tools/pr_similar_issue.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pr_agent/tools/pr_similar_issue.py b/pr_agent/tools/pr_similar_issue.py index 4bca8169..0a624f85 100644 --- a/pr_agent/tools/pr_similar_issue.py +++ b/pr_agent/tools/pr_similar_issue.py @@ -116,7 +116,16 @@ class PRSimilarIssue: relevant_comment_number_list = [] score_list = [] for r in res['matches']: - issue_number = int(r["id"].split('.')[0].split('_')[-1]) + # skip example issue + if 'example_issue_' in r["id"]: + continue + + try: + issue_number = int(r["id"].split('.')[0].split('_')[-1]) + except: + get_logger().debug(f"Failed to parse issue number from {r['id']}") + continue + if original_issue_number == issue_number: continue if issue_number not in relevant_issues_number_list: From d5c098de7393efd5527a0da7f7d989e56055ccd2 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Tue, 17 Oct 2023 10:21:05 +0300 Subject: [PATCH 2/3] another protection --- pr_agent/tools/pr_similar_issue.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pr_agent/tools/pr_similar_issue.py b/pr_agent/tools/pr_similar_issue.py index 0a624f85..9ccd73a6 100644 --- a/pr_agent/tools/pr_similar_issue.py +++ b/pr_agent/tools/pr_similar_issue.py @@ -1,3 +1,4 @@ +import time from enum import Enum from typing import List @@ -46,6 +47,13 @@ class PRSimilarIssue: # check if index exists, and if repo is already indexed run_from_scratch = False + if run_from_scratch: + if not index_name in pinecone.list_indexes(): + get_logger().info('Removing index...') + pinecone.init(api_key=api_key, environment=environment) + pinecone.delete_index(index_name) + get_logger().info('Done') + upsert = True pinecone.init(api_key=api_key, environment=environment) if not index_name in pinecone.list_indexes(): @@ -246,6 +254,7 @@ class PRSimilarIssue: if not upsert: get_logger().info('Creating index from scratch...') ds.to_pinecone_index(self.index_name, api_key=api_key, environment=environment) + time.sleep(15) # wait for pinecone to finalize indexing before querying else: get_logger().info('Upserting index...') namespace = "" @@ -253,6 +262,7 @@ class PRSimilarIssue: concurrency: int = 10 pinecone.init(api_key=api_key, environment=environment) ds._upsert_to_index(self.index_name, namespace, batch_size, concurrency) + time.sleep(5) # wait for pinecone to finalize upserting before querying get_logger().info('Done') From d41fe0cf799698c991e9a74099c6edfc0e8f6b75 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Tue, 17 Oct 2023 19:45:04 +0300 Subject: [PATCH 3/3] comment --- pr_agent/tools/pr_similar_issue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr_agent/tools/pr_similar_issue.py b/pr_agent/tools/pr_similar_issue.py index 9ccd73a6..8f212a28 100644 --- a/pr_agent/tools/pr_similar_issue.py +++ b/pr_agent/tools/pr_similar_issue.py @@ -47,7 +47,7 @@ class PRSimilarIssue: # check if index exists, and if repo is already indexed run_from_scratch = False - if run_from_scratch: + if run_from_scratch: # for debugging if not index_name in pinecone.list_indexes(): get_logger().info('Removing index...') pinecone.init(api_key=api_key, environment=environment)