2222vulnerable_app_qa = None
2323target_source_chunks = int (os .environ .get ("TARGET_SOURCE_CHUNKS" , 4 ))
2424loaded_model_lock = threading .Lock ()
25- loaded_model = False
25+ loaded_model = threading . Event ()
2626logger = logging .getLogger (__name__ )
2727logger .setLevel (logging .DEBUG )
2828
@@ -93,28 +93,29 @@ def init_bot():
9393 try :
9494 with loaded_model_lock :
9595 if "openai_api_key" in request .json :
96- print ("Initializing bot" , request .json ["openai_api_key" ])
96+ logger . debug ("Initializing bot %s " , request .json ["openai_api_key" ])
9797 os .environ ["OPENAI_API_KEY" ] = request .json ["openai_api_key" ]
9898 global vulnerable_app_qa , retriever
9999 retriever = document_loader ()
100100 llm = get_llm ()
101101 vulnerable_app_qa = get_qa_chain (llm , retriever )
102- loaded_model = True
102+ loaded_model . set ()
103103 return jsonify ({"message" : "Model Initialized" }), 200
104104 else :
105105 return jsonify ({"message" : "openai_api_key not provided" }, 400 )
106106 except Exception as e :
107- print ("Error initializing bot " , e )
107+ logger .error ("Error initializing bot " , e )
108+ logger .debug ("Error initializing bot " , e , exc_info = True )
108109 return jsonify ({"message" : "Not able to initialize model " + str (e )}), 400
109110
110111
111112@app .route ("/chatbot/genai/state" , methods = ["GET" ])
112113def state_bot ():
113114 try :
114- if loaded_model :
115+ if loaded_model . is_set () :
115116 return jsonify ({"message" : "Model already loaded" })
116117 except Exception as e :
117- print ("Error checking state " , e )
118+ logger . error ("Error checking state " , e )
118119 return jsonify ({"message" : "Error checking state " + str (e )}), 400
119120 return jsonify ({"message" : "Model Error" }), 400
120121
@@ -124,10 +125,10 @@ def ask_bot():
124125 question = request .json ["question" ]
125126 global vulnerable_app_qa
126127 answer = qa_app (vulnerable_app_qa , question )
127- print ("###########################################" )
128- print ("Test Attacker Question: " + str ( question ) )
129- print ("Vulnerability App Answer: " + str ( answer ) )
130- print ("###########################################" )
128+ logger . info ("###########################################" )
129+ logger . info ("Test Attacker Question: %s" , question )
130+ logger . info ("Vulnerability App Answer: %s" , answer )
131+ logger . info ("###########################################" )
131132 return jsonify ({"answer" : answer }), 200
132133
133134
0 commit comments