diff --git a/test_langgraph/__main__.py b/test_langgraph/__main__.py index 2f1d7f2..615bbb1 100644 --- a/test_langgraph/__main__.py +++ b/test_langgraph/__main__.py @@ -20,7 +20,8 @@ from . import tools cli_history = prompt_toolkit.history.FileHistory('output/cli_history.txt') #MODEL = "gemma3:27b" -MODEL = "qwen3:latest" +#MODEL = "qwen3:latest" +MODEL = 'hf.co/unsloth/Qwen3-30B-A3B-GGUF:Q4_K_M' def create_model(): available_tools = tools.get_tools() diff --git a/test_langgraph/tools.py b/test_langgraph/tools.py index 9c22aa1..3377888 100644 --- a/test_langgraph/tools.py +++ b/test_langgraph/tools.py @@ -7,6 +7,7 @@ from typing import get_type_hints, List, Dict, Any from collections.abc import Iterator import logging import secret_loader +from decimal import Decimal try: import pycountry.db @@ -25,14 +26,18 @@ def search(query: str): def dataclasses_to_json(data): if pycountry and isinstance(data, pycountry.db.Country): - return data.alpha_3 + return data.alpha_2 if isinstance(data, list | tuple): return [dataclasses_to_json(d) for d in data] + if isinstance(data, dict): + return {k:dataclasses_to_json(v) for k,v in data.items() if v} + if isinstance(data, Decimal): + return float(data) if dataclasses.is_dataclass(data): result = {} for field in dataclasses.fields(data): - result[field.name] = dataclasses_to_json(getattr(data,field.name)) - return result + result[field.name] = getattr(data,field.name) + return dataclasses_to_json(result) return data