4
4
from weaviate .classes .query import MetadataQuery
5
5
from weaviate .embedded import EmbeddedOptions
6
6
7
+ from codegate .config import Config
7
8
from codegate .inference .inference_engine import LlamaCppInferenceEngine
8
9
9
10
logger = structlog .get_logger ("codegate" )
24
25
class StorageEngine :
25
26
def get_client (self , data_path ):
26
27
try :
28
+ # Get current config
29
+ config = Config .get_config ()
30
+
31
+ # Configure Weaviate logging
32
+ additional_env_vars = {
33
+ # Basic logging configuration
34
+ "LOG_FORMAT" : config .log_format .value .lower (),
35
+ "LOG_LEVEL" : config .log_level .value .lower (),
36
+ # Disable colored output
37
+ "LOG_FORCE_COLOR" : "false" ,
38
+ # Configure JSON format
39
+ "LOG_JSON_FIELDS" : "timestamp, level,message" ,
40
+ # Configure text format
41
+ "LOG_METHOD" : config .log_format .value .lower (),
42
+ "LOG_LEVEL_IN_UPPER" : "false" , # Keep level lowercase like codegate format
43
+ # Disable additional fields
44
+ "LOG_GIT_HASH" : "false" ,
45
+ "LOG_VERSION" : "false" ,
46
+ "LOG_BUILD_INFO" : "false" ,
47
+ }
48
+
27
49
client = weaviate .WeaviateClient (
28
- embedded_options = EmbeddedOptions (persistence_data_path = data_path ),
50
+ embedded_options = EmbeddedOptions (
51
+ persistence_data_path = data_path ,
52
+ additional_env_vars = additional_env_vars ,
53
+ ),
29
54
)
30
55
return client
31
56
except Exception as e :
@@ -50,7 +75,7 @@ def __init__(self, data_path="./weaviate_data"):
50
75
try :
51
76
weaviate_client .close ()
52
77
except Exception as e :
53
- logger .info (f"Failed to close client: { str (e )} " )
78
+ logger .error (f"Failed to close client: { str (e )} " )
54
79
else :
55
80
logger .error ("Could not find client, skipping schema setup." )
56
81
@@ -60,7 +85,7 @@ def setup_schema(self, client):
60
85
client .collections .create (
61
86
class_config ["name" ], properties = class_config ["properties" ]
62
87
)
63
- logger .info (f"Weaviate schema for class { class_config ['name' ]} setup complete." )
88
+ logger .info (f"Weaviate schema for class { class_config ['name' ]} setup complete." )
64
89
65
90
async def search (self , query : str , limit = 5 , distance = 0.3 ) -> list [object ]:
66
91
"""
@@ -104,4 +129,4 @@ async def search(self, query: str, limit=5, distance=0.3) -> list[object]:
104
129
try :
105
130
weaviate_client .close ()
106
131
except Exception as e :
107
- logger .info (f"Failed to close client: { str (e )} " )
132
+ logger .error (f"Failed to close client: { str (e )} " )
0 commit comments