Skip to content

Commit 660ddfa

Browse files
committed
fix: better json load and adding repair to loading prompts
1 parent 96da23a commit 660ddfa

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

src/minillmlib/core/chat_node.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,21 @@
1313
from typing import Any, Dict, List, Optional, Tuple
1414

1515
import httpx
16+
import json_repair
1617
import requests
1718
from anthropic import Anthropic, AsyncAnthropic
1819
from anthropic.types.message import Message
1920
from mistralai import Mistral
2021
from openai import AsyncOpenAI, OpenAI
2122
from openai.types.chat import ChatCompletion
2223

23-
from ..models.generator_info import (HUGGINGFACE_ACTIVATED, GeneratorCompletionParameters, GeneratorInfo,
24-
pretty_messages, torch)
24+
from ..models.generator_info import (HUGGINGFACE_ACTIVATED,
25+
GeneratorCompletionParameters,
26+
GeneratorInfo, pretty_messages, torch)
2527
from ..utils.json_utils import extract_json_from_completion, to_dict
2628
from ..utils.logging_utils import get_logger
27-
from ..utils.message_utils import (AudioData, ImageData, VideoData, NodeCompletionParameters,
29+
from ..utils.message_utils import (AudioData, ImageData,
30+
NodeCompletionParameters, VideoData,
2831
base64_to_wav, format_prompt, get_payload,
2932
hf_process_messages,
3033
merge_contiguous_messages,
@@ -1345,6 +1348,7 @@ async def collapse_thread(self,
13451348
def from_thread(cls,
13461349
path: str | List[str] | None = None,
13471350
messages: List[Dict[str, str]] | None = None,
1351+
fix_json: bool = False,
13481352
) -> ChatNode:
13491353
"""Load a thread from a JSON file or multiple JSON files, or directly from messages.
13501354
@@ -1401,7 +1405,7 @@ def from_thread(cls,
14011405
return parent
14021406

14031407
# Single path logic
1404-
data = json.load(open(path, "r", encoding="utf-8"))
1408+
data = (json_repair if fix_json else json).load(open(path, "r", encoding="utf-8"))
14051409
if "required_kwargs" not in data:
14061410
data["required_kwargs"] = {}
14071411

src/minillmlib/utils/json_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ def to_dict(item: Any) -> Dict[Any, Any]:
2727

2828
def extract_json_from_completion(completion: str) -> str:
2929
"""Extract and parse JSON from completion string."""
30-
return json.dumps(json.loads(json_repair.repair_json(completion)))
30+
return json.dumps(json_repair.loads(completion))

0 commit comments

Comments
 (0)