doc-service: parse fact_value_json string in doc context lookup
This commit is contained in:
@@ -11,6 +11,7 @@ This service can be used by:
|
|||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import json
|
||||||
from typing import Optional, Dict, Any, List
|
from typing import Optional, Dict, Any, List
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
@@ -160,6 +161,12 @@ class DocumentService:
|
|||||||
if fact and fact.get("fact_value_json"):
|
if fact and fact.get("fact_value_json"):
|
||||||
logger.debug(f"Retrieved doc context for session {session_id}")
|
logger.debug(f"Retrieved doc context for session {session_id}")
|
||||||
ctx_data = fact.get("fact_value_json")
|
ctx_data = fact.get("fact_value_json")
|
||||||
|
if isinstance(ctx_data, str):
|
||||||
|
try:
|
||||||
|
ctx_data = json.loads(ctx_data)
|
||||||
|
except Exception:
|
||||||
|
logger.warning("doc_context fact_value_json is not valid JSON string")
|
||||||
|
return None
|
||||||
return DocContext(**ctx_data)
|
return DocContext(**ctx_data)
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|||||||
Reference in New Issue
Block a user