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