@@ -58,30 +58,29 @@ def __init__(self):
5858 # Initialize search enhancer
5959 self .search_enhancer = SearchEnhancer (self .openai_client )
6060
61- # Initialize Pinecone
62- pc = Pinecone (api_key = os .getenv ("PINECONE_API_KEY" ))
63-
64- index_name = os .getenv ("PINECONE_INDEX_NAME" , "codeintel" )
65-
66- # Check if index exists and has correct dimensions
67- existing_indexes = pc .list_indexes ().names ()
68- if index_name in existing_indexes :
69- # Use existing index (dimension already set)
70- index_info = pc .describe_index (index_name )
71- logger .info ("Using existing Pinecone index" , index = index_name , dimension = index_info .dimension )
72- else :
73- logger .info ("Creating Pinecone index" , index = index_name , dimension = EMBEDDING_DIMENSIONS )
74- pc .create_index (
75- name = index_name ,
76- dimension = EMBEDDING_DIMENSIONS ,
77- metric = "cosine" ,
78- spec = ServerlessSpec (
79- cloud = "aws" ,
80- region = "us-east-1"
61+ # Initialize Pinecone (lazy-safe: app starts even if Pinecone is unreachable)
62+ self .index = None
63+ self ._pinecone_index_name = os .getenv ("PINECONE_INDEX_NAME" , "codeintel" )
64+ try :
65+ pc = Pinecone (api_key = os .getenv ("PINECONE_API_KEY" ))
66+ existing_indexes = pc .list_indexes ().names ()
67+ if self ._pinecone_index_name in existing_indexes :
68+ index_info = pc .describe_index (self ._pinecone_index_name )
69+ logger .info ("Using existing Pinecone index" , index = self ._pinecone_index_name , dimension = index_info .dimension )
70+ else :
71+ logger .info ("Creating Pinecone index" , index = self ._pinecone_index_name , dimension = EMBEDDING_DIMENSIONS )
72+ pc .create_index (
73+ name = self ._pinecone_index_name ,
74+ dimension = EMBEDDING_DIMENSIONS ,
75+ metric = "cosine" ,
76+ spec = ServerlessSpec (
77+ cloud = "aws" ,
78+ region = "us-east-1"
79+ )
8180 )
82- )
83-
84- self . index = pc . Index ( index_name )
81+ self . index = pc . Index ( self . _pinecone_index_name )
82+ except Exception as e :
83+ logger . error ( "Pinecone initialization failed -- search/indexing unavailable until reconnect" , error = str ( e ) )
8584
8685 # Initialize tree-sitter parsers
8786 self .parsers = {
0 commit comments