fix: use LiteLLM tokenizer for agent restoration; robust non-serializable property handling

pull/850/head
Pavan Kumar 3 weeks ago
parent 772460f5e3
commit d40589e720

@ -32,16 +32,12 @@ def restore_non_serializable_properties(agent):
Restore non-serializable properties for the Agent instance after loading. Restore non-serializable properties for the Agent instance after loading.
This should be called after loading agent state from disk. This should be called after loading agent state from disk.
""" """
# Restore tokenizer if model_name is available # Restore tokenizer using LiteLLM if available
agent.tokenizer = None agent.tokenizer = None
try: try:
if getattr(agent, "model_name", None): from swarms.utils.litellm_tokenizer import count_tokens
try: agent.tokenizer = count_tokens # Assign the function as a tokenizer interface
from transformers import AutoTokenizer except Exception:
agent.tokenizer = AutoTokenizer.from_pretrained(agent.model_name)
except Exception:
agent.tokenizer = None
except ImportError:
agent.tokenizer = None agent.tokenizer = None
# Restore long_term_memory (dummy for demo, replace with real backend as needed) # Restore long_term_memory (dummy for demo, replace with real backend as needed)

Loading…
Cancel
Save