@@ -83,7 +83,7 @@ def set_access_token(self, access_token):
83
83
assert isinstance (access_token , str ), f'Argument "access_token" should be a string'
84
84
self .api .set_access_token (access_token )
85
85
86
- def set_generative_ai_keys (self , api_key , secret_key , token_key ):
86
+ def set_generative_ai_keys (self , api_key ):
87
87
"""
88
88
Set the API keys of the generative AI took used
89
89
@@ -93,9 +93,9 @@ def set_generative_ai_keys(self, api_key, secret_key, token_key):
93
93
# also confirm with backend the format of API keys to be received
94
94
"""
95
95
assert isinstance (api_key , str ), f'Argument "api_key" should be a string'
96
- self .api .openai_key = api_key
96
+ self .api .genai_api_key = api_key
97
97
98
- def get_genai_response_pooling (self , no_of_tries , user_prompt , chat_gpt_model ):
98
+ def get_genai_response_pooling (self , no_of_tries , user_prompt = None , chat_gpt_model = None ):
99
99
if no_of_tries < GENAI_RESPONSE_POOLING_LIMIT :
100
100
try :
101
101
if no_of_tries > 1 :
@@ -106,7 +106,7 @@ def get_genai_response_pooling(self, no_of_tries, user_prompt, chat_gpt_model):
106
106
except AlgoBullsAPIGatewayTimeoutErrorException :
107
107
response = self .get_genai_response_pooling (no_of_tries + 1 )
108
108
else :
109
- response = {' message' : ' Somthing went wrong please try again' }
109
+ response = {" message" : " Somthing went wrong please try again" }
110
110
return response
111
111
112
112
def display_genai_sessions (self ):
@@ -116,12 +116,16 @@ def display_genai_sessions(self):
116
116
available sessions
117
117
"""
118
118
customer_genai_sessions = self .api .get_genai_sessions ()
119
- for i , session in enumerate (customer_genai_sessions ):
120
- print (f"Session { i + 1 } : Started: { session ['timestamp_created' ]} , Title: { session ['first_user_prompt' ]} " )
119
+ df = pd .DataFrame (customer_genai_sessions )
120
+ df .index += 1
121
+
122
+ if customer_genai_sessions :
123
+ df .drop (columns = ["id" ], inplace = True )
124
+ print (tabulate (df , headers = ["id" , "Timestamp Created" , "Title" ], tablefmt = "pretty" ))
125
+
121
126
return customer_genai_sessions
122
127
123
128
def continue_from_previous_sessions (self ):
124
-
125
129
customer_genai_sessions = self .display_genai_sessions ()
126
130
while True :
127
131
user_input = int (input ("Enter session number" ))
@@ -135,17 +139,20 @@ def continue_from_previous_sessions(self):
135
139
else :
136
140
print ("Please select a valid session number." )
137
141
138
- def get_session_history (self , session_id ):
142
+ def display_session_chat_history (self , session_id ):
139
143
if not self .api .genai_sessions_map :
140
144
self .api .get_genai_sessions ()
141
145
142
146
customer_genai_session_history = self .api .get_genai_session_history (session_id )
143
- for chat in customer_genai_session_history :
144
- print (f"User: { chat ['user_prompt' ]} " )
145
- print (f"GenAI: { chat ['genai_response' ]} " )
147
+ if customer_genai_session_history :
148
+ for chat in customer_genai_session_history :
149
+ print (f"User:\n { chat ['user_prompt' ]} " , end = "\n \n " )
150
+ print (f"GenAI:\n { chat ['genai_response' ]} " , end = f"\n \n { '-' * 50 } \n \n " )
151
+ else :
152
+ print (f"No available chat history for session id: { session_id } " )
146
153
147
154
def start_chat (self , start_fresh = None , session_id = None , chat_gpt_model = None ):
148
-
155
+ assert self . api . genai_api_key , f"Please set your GenAI key using set_generative_ai_keys()"
149
156
# This will set the session_id
150
157
if start_fresh :
151
158
# reset session
@@ -154,20 +161,22 @@ def start_chat(self, start_fresh=None, session_id=None, chat_gpt_model=None):
154
161
if session_id :
155
162
if self .api .genai_sessions_map is not None :
156
163
self .api .get_genai_sessions ()
157
- assert session_id in self .api .genai_sessions_map , f' Please selecta valid session id.'
164
+ assert session_id in self .api .genai_sessions_map , f" Please selecta valid session id."
158
165
self .api .genai_session_id = self .api .genai_sessions_map [session_id - 1 ][0 ]
159
166
else :
160
167
self .continue_from_previous_sessions ()
161
168
162
- print ("Session Start" )
169
+ print ("Session Start" , end = " \n \n " )
163
170
while True :
164
- user_prompt = str (input ())
165
- if user_prompt .lower () == 'exit' :
166
- print ("Session End" )
167
- return
168
-
169
- response = self .get_genai_response_pooling (1 , user_prompt , chat_gpt_model )
170
- print (f"GenAI: { response ['message' ]} " )
171
+ print ("Enter 'Exit' to exit the session." )
172
+ user_prompt = str (input ("Enter query: " ))
173
+ if user_prompt :
174
+ if user_prompt .lower () == "exit" :
175
+ print ("Session End" )
176
+ return
177
+
178
+ response = self .get_genai_response_pooling (1 , user_prompt , chat_gpt_model )
179
+ print (f"GenAI: { response ['message' ]} " , end = "\n \n " )
171
180
172
181
def create_strategy (self , strategy , overwrite = False , strategy_code = None , abc_version = None ):
173
182
"""
0 commit comments