Skip to content

Commit 4fbff0d

Browse files
cleanup
1 parent 08ea257 commit 4fbff0d

File tree

2 files changed

+37
-29
lines changed

2 files changed

+37
-29
lines changed

pyalgotrading/algobulls/api.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ class AlgoBullsAPI:
2121
"""
2222
AlgoBulls API
2323
"""
24-
SERVER_ENDPOINT = 'https://api.algobulls.com/'
24+
SERVER_ENDPOINT = 'http://localhost:7003/'
25+
# SERVER_ENDPOINT = 'https://api.algobulls.com/'
2526

2627
def __init__(self, connection):
2728
"""
@@ -525,11 +526,11 @@ def get_genai_sessions(self):
525526
response = self._send_request(endpoint=endpoint, params=params)
526527
self.genai_sessions_map = response['data']
527528

528-
return response
529+
return response['data']
529530

530531
def get_genai_session_history(self, session_id):
531532
endpoint = 'v1/build/python/genai/session/history'
532-
params = {'session_id': self.genai_sessions_map[session_id - 1], 'pageSize': GENAI_SESSION_HISTORY_SIZE}
533+
params = {'sessionId': self.genai_sessions_map[session_id - 1]['id'], 'pageSize': GENAI_SESSION_HISTORY_SIZE}
533534
response = self._send_request(endpoint=endpoint, params=params)
534535

535-
return response
536+
return response['data']

pyalgotrading/algobulls/connection.py

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,17 @@ def set_access_token(self, access_token):
8383
assert isinstance(access_token, str), f'Argument "access_token" should be a string'
8484
self.api.set_access_token(access_token)
8585

86-
def set_generative_ai_keys(self, api_key, secret_key, token_key):
86+
def set_generative_ai_keys(self, genai_api_key):
8787
"""
8888
Set the API keys of the generative AI took used
8989
9090
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
9492
"""
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
9795

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):
9997
if no_of_tries < GENAI_RESPONSE_POOLING_LIMIT:
10098
try:
10199
if no_of_tries > 1:
@@ -106,7 +104,7 @@ def get_genai_response_pooling(self, no_of_tries, user_prompt, chat_gpt_model):
106104
except AlgoBullsAPIGatewayTimeoutErrorException:
107105
response = self.get_genai_response_pooling(no_of_tries + 1)
108106
else:
109-
response = {'message': 'Somthing went wrong please try again'}
107+
response = {"message": "Somthing went wrong please try again"}
110108
return response
111109

112110
def display_genai_sessions(self):
@@ -116,12 +114,16 @@ def display_genai_sessions(self):
116114
available sessions
117115
"""
118116
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+
121124
return customer_genai_sessions
122125

123126
def continue_from_previous_sessions(self):
124-
125127
customer_genai_sessions = self.display_genai_sessions()
126128
while True:
127129
user_input = int(input("Enter session number"))
@@ -135,17 +137,20 @@ def continue_from_previous_sessions(self):
135137
else:
136138
print("Please select a valid session number.")
137139

138-
def get_session_history(self, session_id):
140+
def display_session_chat_history(self, session_id):
139141
if not self.api.genai_sessions_map:
140142
self.api.get_genai_sessions()
141143

142144
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}")
146151

147152
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()"
149154
# This will set the session_id
150155
if start_fresh:
151156
# reset session
@@ -154,20 +159,22 @@ def start_chat(self, start_fresh=None, session_id=None, chat_gpt_model=None):
154159
if session_id:
155160
if self.api.genai_sessions_map is not None:
156161
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."
158163
self.api.genai_session_id = self.api.genai_sessions_map[session_id - 1][0]
159164
else:
160165
self.continue_from_previous_sessions()
161166

162-
print("Session Start")
167+
print("Session Start", end="\n\n")
163168
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")
171178

172179
def create_strategy(self, strategy, overwrite=False, strategy_code=None, abc_version=None):
173180
"""

0 commit comments

Comments
 (0)