Files
letta-server/memgpt/server/utils.py
Charles Packer 2048ba179b added memgpt server command (#611)
* added memgpt server command

* added the option to specify a port (rest default 8283, ws default 8282)

* fixed import in test

* added agent saving on shutdown

* added basic locking mechanism (assumes only one server.py is running at the same time)

* remove 'STOP' from buffer when converting to list for the non-streaming POST resposne

* removed duplicate on_event (redundant to lifespan)

* added GET agents/memory route

* added GET agent config

* added GET server config

* added PUT route for modifying agent core memory

* refactored to put server loop in separate function called via main
2023-12-13 00:41:40 -08:00

45 lines
1.6 KiB
Python

def condition_to_stop_receiving(response):
"""Determines when to stop listening to the server"""
if response.get("type") in ["agent_response_end", "agent_response_error", "command_response", "server_error"]:
return True
else:
return False
def print_server_response(response):
"""Turn response json into a nice print"""
if response["type"] == "agent_response_start":
print("[agent.step start]")
elif response["type"] == "agent_response_end":
print("[agent.step end]")
elif response["type"] == "agent_response":
msg = response["message"]
if response["message_type"] == "internal_monologue":
print(f"[inner thoughts] {msg}")
elif response["message_type"] == "assistant_message":
print(f"{msg}")
elif response["message_type"] == "function_message":
pass
else:
print(response)
else:
print(response)
def shorten_key_middle(key_string, chars_each_side=3):
"""
Shortens a key string by showing a specified number of characters on each side and adding an ellipsis in the middle.
Args:
key_string (str): The key string to be shortened.
chars_each_side (int): The number of characters to show on each side of the ellipsis.
Returns:
str: The shortened key string with an ellipsis in the middle.
"""
key_length = len(key_string)
if key_length <= 2 * chars_each_side:
return "..." # Return ellipsis if the key is too short
else:
return key_string[:chars_each_side] + "..." + key_string[-chars_each_side:]