letta-nightly 0.5.4.dev20241201104110__py3-none-any.whl → 0.5.4.dev20241202104311__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
letta/cli/cli.py CHANGED
@@ -220,7 +220,8 @@ def run(
220
220
 
221
221
  # create agent
222
222
  tools = [server.tool_manager.get_tool_by_name(tool_name=tool_name, actor=client.user) for tool_name in agent_state.tool_names]
223
- letta_agent = Agent(agent_state=agent_state, interface=interface(), tools=tools, user=client.user)
223
+ agent_state.tools = tools
224
+ letta_agent = Agent(agent_state=agent_state, interface=interface(), user=client.user)
224
225
 
225
226
  else: # create new agent
226
227
  # create new agent config: override defaults with args if provided
letta/local_llm/utils.py CHANGED
@@ -88,7 +88,9 @@ def num_tokens_from_functions(functions: List[dict], model: str = "gpt-4"):
88
88
  try:
89
89
  encoding = tiktoken.encoding_for_model(model)
90
90
  except KeyError:
91
- warnings.warn("Warning: model not found. Using cl100k_base encoding.")
91
+ from letta.utils import printd
92
+
93
+ printd(f"Warning: model not found. Using cl100k_base encoding.")
92
94
  encoding = tiktoken.get_encoding("cl100k_base")
93
95
 
94
96
  num_tokens = 0
@@ -215,8 +217,10 @@ def num_tokens_from_messages(messages: List[dict], model: str = "gpt-4") -> int:
215
217
  # print("Warning: gpt-4 may update over time. Returning num tokens assuming gpt-4-0613.")
216
218
  return num_tokens_from_messages(messages, model="gpt-4-0613")
217
219
  else:
218
- warnings.warn(
219
- f"""num_tokens_from_messages() is not implemented for model {model}. See https://github.com/openai/openai-python/blob/main/chatml.md for information on how messages are converted to tokens."""
220
+ from letta.utils import printd
221
+
222
+ printd(
223
+ f"num_tokens_from_messages() is not implemented for model {model}. See https://github.com/openai/openai-python/blob/main/chatml.md for information on how messages are converted to tokens."
220
224
  )
221
225
  return num_tokens_from_messages(messages, model="gpt-4-0613")
222
226
  # raise NotImplementedError(
letta/metadata.py CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  import os
4
4
  import secrets
5
- import warnings
6
5
  from typing import List, Optional, Union
7
6
 
8
7
  from sqlalchemy import JSON, Column, DateTime, Index, String, TypeDecorator
@@ -359,8 +358,8 @@ class MetadataStore:
359
358
  # warnings.warn(f"Agent {agent.id} has no _internal_memory field")
360
359
  if "tags" in fields:
361
360
  del fields["tags"]
362
- else:
363
- warnings.warn(f"Agent {agent.id} has no tags field")
361
+ # else:
362
+ # warnings.warn(f"Agent {agent.id} has no tags field")
364
363
  session.add(AgentModel(**fields))
365
364
  session.commit()
366
365
 
@@ -376,8 +375,8 @@ class MetadataStore:
376
375
  # warnings.warn(f"Agent {agent.id} has no _internal_memory field")
377
376
  if "tags" in fields:
378
377
  del fields["tags"]
379
- else:
380
- warnings.warn(f"Agent {agent.id} has no tags field")
378
+ # else:
379
+ # warnings.warn(f"Agent {agent.id} has no tags field")
381
380
  session.query(AgentModel).filter(AgentModel.id == agent.id).update(fields)
382
381
  session.commit()
383
382
 
@@ -1,5 +1,6 @@
1
1
  import json
2
2
  import logging
3
+ import os
3
4
  import sys
4
5
  from pathlib import Path
5
6
  from typing import Optional
@@ -103,7 +104,7 @@ def generate_password():
103
104
  return secrets.token_urlsafe(16)
104
105
 
105
106
 
106
- random_password = generate_password()
107
+ random_password = os.getenv("LETTA_SERVER_PASSWORD") or generate_password()
107
108
 
108
109
 
109
110
  class CheckPasswordMiddleware(BaseHTTPMiddleware):
@@ -132,11 +133,11 @@ def create_application() -> "FastAPI":
132
133
  debug=True,
133
134
  )
134
135
 
135
- if "--ade" in sys.argv:
136
+ if (os.getenv("LETTA_SERVER_ADE") == "true") or "--ade" in sys.argv:
136
137
  settings.cors_origins.append("https://app.letta.com")
137
138
  print(f"▶ View using ADE at: https://app.letta.com/development-servers/local/dashboard")
138
139
 
139
- if "--secure" in sys.argv:
140
+ if (os.getenv("LETTA_SERVER_SECURE") == "true") or "--secure" in sys.argv:
140
141
  print(f"▶ Using secure mode with password: {random_password}")
141
142
  app.add_middleware(CheckPasswordMiddleware)
142
143
 
@@ -59,19 +59,19 @@ class ToolExecutionSandbox:
59
59
  Tuple[Any, Optional[AgentState]]: Tuple containing (tool_result, agent_state)
60
60
  """
61
61
  if tool_settings.e2b_api_key:
62
- logger.info(f"Using e2b sandbox to execute {self.tool_name}")
62
+ logger.debug(f"Using e2b sandbox to execute {self.tool_name}")
63
63
  code = self.generate_execution_script(agent_state=agent_state)
64
64
  result = self.run_e2b_sandbox(code=code)
65
65
  else:
66
- logger.info(f"Using local sandbox to execute {self.tool_name}")
66
+ logger.debug(f"Using local sandbox to execute {self.tool_name}")
67
67
  code = self.generate_execution_script(agent_state=agent_state)
68
68
  result = self.run_local_dir_sandbox(code=code)
69
69
 
70
70
  # Log out any stdout from the tool run
71
- logger.info(f"Executed tool '{self.tool_name}', logging stdout from tool run: \n")
71
+ logger.debug(f"Executed tool '{self.tool_name}', logging stdout from tool run: \n")
72
72
  for log_line in result.stdout:
73
- logger.info(f"{log_line}")
74
- logger.info(f"Ending stdout log from tool run.")
73
+ logger.debug(f"{log_line}")
74
+ logger.debug(f"Ending stdout log from tool run.")
75
75
 
76
76
  # Return result
77
77
  return result
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-nightly
3
- Version: 0.5.4.dev20241201104110
3
+ Version: 0.5.4.dev20241202104311
4
4
  Summary: Create LLM agents with long-term memory and custom tools
5
5
  License: Apache License
6
6
  Author: Letta Team
@@ -9,7 +9,7 @@ letta/agent_store/qdrant.py,sha256=6_33V-FEDpT9LG5zmr6-3y9slw1YFLswxpahiyMkvHA,7
9
9
  letta/agent_store/storage.py,sha256=4gKvMRYBGm9cwyaDOzljxDKgqr4MxGXcC4yGhAdKcAA,6693
10
10
  letta/benchmark/benchmark.py,sha256=ebvnwfp3yezaXOQyGXkYCDYpsmre-b9hvNtnyx4xkG0,3701
11
11
  letta/benchmark/constants.py,sha256=aXc5gdpMGJT327VuxsT5FngbCK2J41PQYeICBO7g_RE,536
12
- letta/cli/cli.py,sha256=PFJz_9jD3B9UpmMGS72iiaep3tCuQfNfpISf_u5URPM,16832
12
+ letta/cli/cli.py,sha256=ALM82ZwsOxQLGiWkoLCr563Rt4Jdv25v4lcU-ThEYWw,16853
13
13
  letta/cli/cli_config.py,sha256=tB0Wgz3O9j6KiCsU1HWfsKmhNM9RqLsAxzxEDFQFGnM,8565
14
14
  letta/cli/cli_load.py,sha256=x4L8s15GwIW13xrhKYFWHo_y-IVGtoPDHWWKcHDRP10,4587
15
15
  letta/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -76,7 +76,7 @@ letta/local_llm/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
76
76
  letta/local_llm/settings/deterministic_mirostat.py,sha256=kgRikcxYHfIbPFydHW6W7IO9jmp6NeA7JNAhnI3DPsc,1221
77
77
  letta/local_llm/settings/settings.py,sha256=ZAbzDpu2WsBXjVGXJ-TKUpS99VTI__3EoZml9KqYef0,2971
78
78
  letta/local_llm/settings/simple.py,sha256=HAO2jBJ_hJCEsXWIJcD0sckR0tI0zs3x2CPdf6ORQLs,719
79
- letta/local_llm/utils.py,sha256=4nS5I2PpUm20QK4E-fgamEUaDXJsvxpCPIOCr-PVB0M,13148
79
+ letta/local_llm/utils.py,sha256=gEaJxEoJaXsc7qK1Czey3BacF7hu7N3oOFhtBpaXO4Q,13211
80
80
  letta/local_llm/vllm/api.py,sha256=2kAGZjc_GH9ILJnVRq-45yfsfKELVfbC9VEl_cIC6vg,2590
81
81
  letta/local_llm/webui/api.py,sha256=kkxncdCFq1vjgvaHOoQ__j7rcDPgC1F64KcEm94Y6Rs,2639
82
82
  letta/local_llm/webui/legacy_api.py,sha256=k3H3y4qp2Fs-XmP24iSIEyvq6wjWFWBzklY3-wRAJNI,2335
@@ -85,7 +85,7 @@ letta/local_llm/webui/settings.py,sha256=gmLHfiOl1u4JmlAZU2d2O8YKF9lafdakyjwR_ft
85
85
  letta/log.py,sha256=FxkAk2f8Bl-u9dfImSj1DYnjAsmV6PL3tjTSnEiNP48,2218
86
86
  letta/main.py,sha256=5guUzYyxID3FDlegk3dNUev7vjPMglcIw-xqdyHdhKI,19175
87
87
  letta/memory.py,sha256=YupXOvzVJXH59RW4XWBrd7qMNEYaMbtWXCheKeWZwpU,17873
88
- letta/metadata.py,sha256=Jej-1-zUIcd_h6LaeiemYmI1ujoYSQ9916IkvoZXT90,18659
88
+ letta/metadata.py,sha256=IipAhhpLXve8mVRAf4LNQhZxexwt-5lmf7bqCr8hE3E,18643
89
89
  letta/o1_agent.py,sha256=jTMlP7LxR4iUDWaGHMy8SiZtlzn6_RqP0H1HaEWXydQ,3078
90
90
  letta/openai_backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
91
  letta/openai_backcompat/openai_object.py,sha256=Y1ZS1sATP60qxJiOsjOP3NbwSzuzvkNAvb3DeuhM5Uk,13490
@@ -164,7 +164,7 @@ letta/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
164
  letta/server/constants.py,sha256=yAdGbLkzlOU_dLTx0lKDmAnj0ZgRXCEaIcPJWO69eaE,92
165
165
  letta/server/generate_openapi_schema.sh,sha256=0OtBhkC1g6CobVmNEd_m2B6sTdppjbJLXaM95icejvE,371
166
166
  letta/server/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
- letta/server/rest_api/app.py,sha256=U5plRL_-doYlHSv071DeUl3GNA1UsLWsVaEfGrLKZUU,7570
167
+ letta/server/rest_api/app.py,sha256=xhhSJznX0aEnqixMHGN7ALfXopufos-fSikiKp4Qffs,7711
168
168
  letta/server/rest_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
169
  letta/server/rest_api/auth/index.py,sha256=fQBGyVylGSRfEMLQ17cZzrHd5Y1xiVylvPqH5Rl-lXQ,1378
170
170
  letta/server/rest_api/auth_token.py,sha256=725EFEIiNj4dh70hrSd94UysmFD8vcJLrTRfNHkzxDo,774
@@ -211,7 +211,7 @@ letta/services/organization_manager.py,sha256=OfE2_NMmhqXURX4sg7hCOiFQVQpV5ZiPu7
211
211
  letta/services/per_agent_lock_manager.py,sha256=02iw5e-xoLiKGqqn2KdJdk-QlrDHPz5oMuEs1ibwXHA,540
212
212
  letta/services/sandbox_config_manager.py,sha256=9BCu59nHR4nIMFXgFyEMOY2UTmZvBMS3GlDBWWCHB4I,12648
213
213
  letta/services/source_manager.py,sha256=StX5Wfd7XSCKJet8qExIu3GMoI-eMIbEarAeTv2gq0s,6555
214
- letta/services/tool_execution_sandbox.py,sha256=y14mlb8r3mppAb5l977t0zy2ywCCjOboFuqSvT41X1M,13457
214
+ letta/services/tool_execution_sandbox.py,sha256=LrFzANZ75hNtAtfJiSOu2geu18d-9ms0IgN7SEVhh9I,13462
215
215
  letta/services/tool_manager.py,sha256=FVCB9R3NFahh-KE5jROzf6J9WEgqhqGoDk5RpWjlgjg,7835
216
216
  letta/services/tool_sandbox_env/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
217
  letta/services/user_manager.py,sha256=UJa0hqCjz0yXtvrCR8OVBqlSR5lC_Ejn-uG__58zLds,4398
@@ -220,8 +220,8 @@ letta/streaming_interface.py,sha256=_FPUWy58j50evHcpXyd7zB1wWqeCc71NCFeWh_TBvnw,
220
220
  letta/streaming_utils.py,sha256=329fsvj1ZN0r0LpQtmMPZ2vSxkDBIUUwvGHZFkjm2I8,11745
221
221
  letta/system.py,sha256=buKYPqG5n2x41hVmWpu6JUpyd7vTWED9Km2_M7dLrvk,6960
222
222
  letta/utils.py,sha256=COwQLAt02eEM9tjp6p5kN8YeTqGXr714l5BvffLVCLU,32376
223
- letta_nightly-0.5.4.dev20241201104110.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
224
- letta_nightly-0.5.4.dev20241201104110.dist-info/METADATA,sha256=5QfUql5hNMn_8aOPuyG3cVU4Gm8JcVX8GFdrM1DBPkI,11515
225
- letta_nightly-0.5.4.dev20241201104110.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
226
- letta_nightly-0.5.4.dev20241201104110.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
227
- letta_nightly-0.5.4.dev20241201104110.dist-info/RECORD,,
223
+ letta_nightly-0.5.4.dev20241202104311.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
224
+ letta_nightly-0.5.4.dev20241202104311.dist-info/METADATA,sha256=X5kCjVS10z2psCmtDwSwrD9gZCsa8W5Ljgbh-X6N4nY,11515
225
+ letta_nightly-0.5.4.dev20241202104311.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
226
+ letta_nightly-0.5.4.dev20241202104311.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
227
+ letta_nightly-0.5.4.dev20241202104311.dist-info/RECORD,,