Spaces:
Sleeping
Sleeping
SAAHMATHWORKS
commited on
Commit
·
cff0952
1
Parent(s):
e932545
Revert "Update generate_legal_chat_responses"
Browse filesThis reverts commit e932545e890f4a06702734e49cff051130cb6bb8.
- api/main.py +5 -3
api/main.py
CHANGED
|
@@ -260,7 +260,8 @@ async def generate_legal_chat_responses(message: str, session_id: Optional[str]
|
|
| 260 |
try:
|
| 261 |
if isinstance(state, MultiCountryLegalState):
|
| 262 |
final_state = state
|
| 263 |
-
|
|
|
|
| 264 |
if "messages" in state_dict and isinstance(state_dict["messages"], list):
|
| 265 |
state_dict["messages"] = [
|
| 266 |
msg if isinstance(msg, dict) else {"role": "unknown", "content": str(msg), "meta": {}}
|
|
@@ -278,7 +279,8 @@ async def generate_legal_chat_responses(message: str, session_id: Optional[str]
|
|
| 278 |
# Yield final state if captured
|
| 279 |
if final_state and isinstance(final_state, MultiCountryLegalState):
|
| 280 |
try:
|
| 281 |
-
|
|
|
|
| 282 |
if "messages" in final_state_dict and isinstance(final_state_dict["messages"], list):
|
| 283 |
final_state_dict["messages"] = [
|
| 284 |
msg if isinstance(msg, dict) else {"role": "unknown", "content": str(msg), "meta": {}}
|
|
@@ -290,7 +292,7 @@ async def generate_legal_chat_responses(message: str, session_id: Optional[str]
|
|
| 290 |
yield f"data: {json.dumps({'type': 'error', 'message': 'An internal error occurred'})}\n\n"
|
| 291 |
|
| 292 |
yield f"data: {json.dumps({'type': 'end'})}\n\n"
|
| 293 |
-
|
| 294 |
@app.get("/chat")
|
| 295 |
async def chat_stream(
|
| 296 |
message: str = Query(..., description="User message"),
|
|
|
|
| 260 |
try:
|
| 261 |
if isinstance(state, MultiCountryLegalState):
|
| 262 |
final_state = state
|
| 263 |
+
# Use model_dump_json for Pydantic v2 compatibility
|
| 264 |
+
state_dict = json.loads(state.model_dump_json(exclude_unset=True)) if hasattr(state, "model_dump_json") else state.dict(exclude_unset=True)
|
| 265 |
if "messages" in state_dict and isinstance(state_dict["messages"], list):
|
| 266 |
state_dict["messages"] = [
|
| 267 |
msg if isinstance(msg, dict) else {"role": "unknown", "content": str(msg), "meta": {}}
|
|
|
|
| 279 |
# Yield final state if captured
|
| 280 |
if final_state and isinstance(final_state, MultiCountryLegalState):
|
| 281 |
try:
|
| 282 |
+
# Use model_dump_json for Pydantic v2 compatibility
|
| 283 |
+
final_state_dict = json.loads(final_state.model_dump_json(exclude_unset=True)) if hasattr(final_state, "model_dump_json") else final_state.dict(exclude_unset=True)
|
| 284 |
if "messages" in final_state_dict and isinstance(final_state_dict["messages"], list):
|
| 285 |
final_state_dict["messages"] = [
|
| 286 |
msg if isinstance(msg, dict) else {"role": "unknown", "content": str(msg), "meta": {}}
|
|
|
|
| 292 |
yield f"data: {json.dumps({'type': 'error', 'message': 'An internal error occurred'})}\n\n"
|
| 293 |
|
| 294 |
yield f"data: {json.dumps({'type': 'end'})}\n\n"
|
| 295 |
+
|
| 296 |
@app.get("/chat")
|
| 297 |
async def chat_stream(
|
| 298 |
message: str = Query(..., description="User message"),
|