Skip to content

Commit 5ef1840

Browse files
cleanup
1 parent 08ea257 commit 5ef1840

File tree

2 files changed

+35
-25
lines changed

2 files changed

+35
-25
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: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ 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, api_key):
8787
"""
8888
Set the API keys of the generative AI took used
8989
@@ -93,9 +93,9 @@ def set_generative_ai_keys(self, api_key, secret_key, token_key):
9393
# also confirm with backend the format of API keys to be received
9494
"""
9595
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
9797

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):
9999
if no_of_tries < GENAI_RESPONSE_POOLING_LIMIT:
100100
try:
101101
if no_of_tries > 1:
@@ -106,7 +106,7 @@ def get_genai_response_pooling(self, no_of_tries, user_prompt, chat_gpt_model):
106106
except AlgoBullsAPIGatewayTimeoutErrorException:
107107
response = self.get_genai_response_pooling(no_of_tries + 1)
108108
else:
109-
response = {'message': 'Somthing went wrong please try again'}
109+
response = {"message": "Somthing went wrong please try again"}
110110
return response
111111

112112
def display_genai_sessions(self):
@@ -116,12 +116,16 @@ def display_genai_sessions(self):
116116
available sessions
117117
"""
118118
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+
121126
return customer_genai_sessions
122127

123128
def continue_from_previous_sessions(self):
124-
125129
customer_genai_sessions = self.display_genai_sessions()
126130
while True:
127131
user_input = int(input("Enter session number"))
@@ -135,17 +139,20 @@ def continue_from_previous_sessions(self):
135139
else:
136140
print("Please select a valid session number.")
137141

138-
def get_session_history(self, session_id):
142+
def display_session_chat_history(self, session_id):
139143
if not self.api.genai_sessions_map:
140144
self.api.get_genai_sessions()
141145

142146
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}")
146153

147154
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()"
149156
# This will set the session_id
150157
if start_fresh:
151158
# reset session
@@ -154,20 +161,22 @@ def start_chat(self, start_fresh=None, session_id=None, chat_gpt_model=None):
154161
if session_id:
155162
if self.api.genai_sessions_map is not None:
156163
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."
158165
self.api.genai_session_id = self.api.genai_sessions_map[session_id - 1][0]
159166
else:
160167
self.continue_from_previous_sessions()
161168

162-
print("Session Start")
169+
print("Session Start", end="\n\n")
163170
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")
171180

172181
def create_strategy(self, strategy, overwrite=False, strategy_code=None, abc_version=None):
173182
"""

0 commit comments

Comments
 (0)