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,17 +32,13 @@ def restore_non_serializable_properties(agent):
Restore non-serializable properties for the Agent instance after loading.
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
try:
if getattr(agent, "model_name", None):
try:
from transformers import AutoTokenizer
agent.tokenizer = AutoTokenizer.from_pretrained(agent.model_name)
from swarms.utils.litellm_tokenizer import count_tokens
agent.tokenizer = count_tokens # Assign the function as a tokenizer interface
except Exception:
agent.tokenizer = None
except ImportError:
agent.tokenizer = None
# Restore long_term_memory (dummy for demo, replace with real backend as needed)
if getattr(agent, "long_term_memory", None) is None or not hasattr(agent.long_term_memory, "query"):

Loading…
Cancel
Save