Implement get_bot_status method to report enabled model and prompt path

This commit is contained in:
cyclop-bot
2025-06-03 14:04:27 -05:00
parent 88713a95c1
commit 9c9b5991b6
+11 -2
View File
@@ -31,6 +31,7 @@ class OpenAICompatibleInferenceBot(InferenceBot):
self.allowed_function_tags = allowed_function_tags if allowed_function_tags else None self.allowed_function_tags = allowed_function_tags if allowed_function_tags else None
self.conversation_history = {} self.conversation_history = {}
self._processing_status = {} self._processing_status = {}
self.system_prompt_path = system_prompt_path # Store the prompt path for status
# MODIFIED to pass arguments # MODIFIED to pass arguments
self.system_prompt = self.load_system_prompt( self.system_prompt = self.load_system_prompt(
file_path=system_prompt_path file_path=system_prompt_path
@@ -118,6 +119,14 @@ class OpenAICompatibleInferenceBot(InferenceBot):
logging.error(f"API call to model {self.model} failed: {e}") logging.error(f"API call to model {self.model} failed: {e}")
raise raise
def get_bot_status(self):
"""
Returns a message with the currently enabled model and the system prompt path being used.
"""
model_name = self.model if hasattr(self, 'model') else None
prompt_path = self.system_prompt_path or os.getenv("SYSTEM_PROMPT_PATH") or "(default prompt in use)"
return f"Current model: {model_name}\nSystem prompt path: {prompt_path}"
async def handle_message(self, user_id, user_message): async def handle_message(self, user_id, user_message):
if user_id not in self.conversation_history or not self.conversation_history[user_id]: if user_id not in self.conversation_history or not self.conversation_history[user_id]:
self.conversation_history[user_id] = [] self.conversation_history[user_id] = []
@@ -281,7 +290,7 @@ class OpenAICompatibleInferenceBot(InferenceBot):
if function_call_arguments is None: if function_call_arguments is None:
function_args = {} function_args = {}
else: else:
logging.error(f"Unexpected type for function_call_arguments for {function_call_name}: {type(function_call_arguments)}. Arguments: {function_call_arguments}") logging.error(f"Unexpected type for function_call_arguments for {function_name}: {type(function_call_arguments)}. Arguments: {function_call_arguments}")
return f"Error: Invalid argument type for tool call: {type(function_call_arguments)}" return f"Error: Invalid argument type for tool call: {type(function_call_arguments)}"
for tool in self.tools: for tool in self.tools:
@@ -378,4 +387,4 @@ def main():
return return
if __name__ == '__main__': if __name__ == '__main__':
main() main()