Forráskód Böngészése

选址提示词修改

liutao 1 hónapja
szülő
commit
4290f73ebe
1 módosított fájl, 18 hozzáadás és 15 törlés
  1. 18 15
      landsite_agent/main.py

+ 18 - 15
landsite_agent/main.py

@@ -31,8 +31,6 @@ class QueryRequest(BaseModel):
 class AnalysisResult(BaseModel):
     sql: str
     data: list
-    visualization: dict = None
-    similar_examples: List[Dict[str, Any]] = None
 
 
 @app.post("/land_analysis/stream")
@@ -50,38 +48,43 @@ async def stream_land_analysis(request: QueryRequest):
                 data = json.loads(chunk)
 
                 if data["type"] == "sql_generation":
-                    yield chunk
+                    yield "data: " + chunk + "\n"
                 elif data["type"] == "sql_result":
                     sql = data["content"]
                     result = await sql_generator.execute_sql(sql)
 
                     if result["status"] == "error":
-                        yield json.dumps({
+                        error_data = json.dumps({
                             "type": "error",
                             "content": result["content"]
-                        }, ensure_ascii=False) + "\n"
+                        }, ensure_ascii=False)
+                        yield "data: " + error_data + "\n\n"
                         return
 
-                    yield json.dumps({
+                    result_data = json.dumps({
                         "type": "result",
-                        "data": {
-                            "sql": sql,
-                            "exec_result": result["data"]
-                        }
-                    }, ensure_ascii=False) + "\n"
+                        "data": result["data"]
+                    }, ensure_ascii=False)
+                    yield "data: " + result_data + "\n\n"
                 else:
-                    yield chunk
+                    yield "data: " + chunk + "\n"
 
         except Exception as e:
             traceback.print_exc()
-            yield json.dumps({
+            error_data = json.dumps({
                 "type": "error",
                 "content": str(e)
-            }, ensure_ascii=False) + "\n"
+            }, ensure_ascii=False)
+            yield "data: " + error_data + "\n"
 
     return StreamingResponse(
         generate_stream(),
-        media_type="text/event-stream"
+        media_type="text/event-stream",
+        headers={
+            "Cache-Control": "no-cache",
+            "Connection": "keep-alive",
+            "X-Accel-Buffering": "no"
+        }
     )