|
@@ -66,6 +66,10 @@ class ExpandRequest(BaseModel):
|
|
|
requestId: str = Field(..., description="扩展查询请求ID")
|
|
|
query: str = Field(..., description="扩展查询词") # 可选
|
|
|
|
|
|
+class ExtractRequest(BaseModel):
|
|
|
+ requestId: str = Field(..., description="请求ID")
|
|
|
+ query: str = Field(..., description="查询词")
|
|
|
+
|
|
|
# 全局变量
|
|
|
identify_tool = None
|
|
|
|
|
@@ -590,8 +594,10 @@ async def process_request_background(request_id: str):
|
|
|
extraction_requests: set = set()
|
|
|
|
|
|
@app.post("/extract")
|
|
|
-async def extract(requestId: str, query: str):
|
|
|
+async def extract(request: ExtractRequest):
|
|
|
try:
|
|
|
+ requestId = request.requestId
|
|
|
+ query = request.query
|
|
|
# 检查请求是否已经在处理中
|
|
|
async with RUNNING_LOCK:
|
|
|
if requestId in extraction_requests:
|
|
@@ -602,11 +608,12 @@ async def extract(requestId: str, query: str):
|
|
|
# 更新状态为处理中
|
|
|
update_extract_status(requestId, 1)
|
|
|
# 执行Agent
|
|
|
- result = execute_agent_with_api(json.dumps({"query_word":query, "request_id": requestId}))
|
|
|
+ result = execute_agent_with_api(json.dumps({"query_word": query, "request_id": requestId}))
|
|
|
finally:
|
|
|
# 无论成功失败,都从运行集合中移除
|
|
|
async with RUNNING_LOCK:
|
|
|
extraction_requests.discard(requestId)
|
|
|
+ return {"status": "success", "result": result}
|
|
|
except Exception as e:
|
|
|
# 发生异常,更新状态为处理失败
|
|
|
update_extract_status(requestId, 3)
|