use async way to run ai

This commit is contained in:
2026-03-05 15:39:50 +08:00
parent dd40e754f1
commit bd5883585a
2 changed files with 6 additions and 25 deletions

View File

@@ -282,21 +282,21 @@ async def orchestrate_agents(simple_requirement: str) -> dict:
包含所有Agent结果的完整字典 包含所有Agent结果的完整字典
""" """
send_message_to_feishu(f"收到新需求: {simple_requirement}") # send_message_to_feishu(f"收到新需求: {simple_requirement}")
# Step 1: PM Agent 分析需求 # Step 1: PM Agent 分析需求
pm_agent = PMAgent() pm_agent = PMAgent()
requirement_analysis = pm_agent.analyze_requirement(simple_requirement) requirement_analysis = pm_agent.analyze_requirement(simple_requirement)
send_requirement_result(requirement_analysis) # send_requirement_result(requirement_analysis)
# Step 2: QA Agent 生成测试用例 # Step 2: QA Agent 生成测试用例
qa_agent = QAAgent() qa_agent = QAAgent()
test_cases = qa_agent.generate_test_cases(requirement_analysis) test_cases = qa_agent.generate_test_cases(requirement_analysis)
send_test_cases(test_cases) # send_test_cases(test_cases)
# Step 3: Dev Agent 生成代码 # Step 3: Dev Agent 生成代码
dev_agent = DevAgent() dev_agent = DevAgent()
code_generation = dev_agent.generate_code(requirement_analysis, test_cases) code_generation = dev_agent.generate_code(requirement_analysis, test_cases)
send_generate_code(code_generation) # send_generate_code(code_generation)
return { return {
"requirement_analysis": requirement_analysis, "requirement_analysis": requirement_analysis,
"test_cases": test_cases, "test_cases": test_cases,

23
main.py
View File

@@ -1,6 +1,7 @@
"""FastAPI 应用主文件""" """FastAPI 应用主文件"""
import logging import logging
import asyncio
from fastapi import FastAPI, Request from fastapi import FastAPI, Request
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
@@ -39,26 +40,6 @@ class FullWorkflowResponse(BaseModel):
@app.post("/workflow/full", response_model=FullWorkflowResponse) @app.post("/workflow/full", response_model=FullWorkflowResponse)
async def full_workflow(request: Request): async def full_workflow(request: Request):
"""
完整工作流PM Agent -> QA Agent -> Dev Agent
这个端点接收一个简单的需求描述通过三个Agent的协作
最终生成完整的需求分析、测试用例和Java代码。
Args:
request: RequirementRequest 包含简单的需求描述
Returns:
FullWorkflowResponse 包含:
- requirement_analysis: PM Agent的需求分析结果
- test_cases: QA Agent生成的测试用例
- code_generation: Dev Agent生成的Java代码和单元测试
Example:
{
"requirement": "创建一个用户管理系统,支持用户注册、登录、个人信息管理"
}
"""
try: try:
body_bytes = await request.body() body_bytes = await request.body()
message = body_bytes.decode('utf-8') message = body_bytes.decode('utf-8')
@@ -66,7 +47,7 @@ async def full_workflow(request: Request):
logger.info(f"开始处理需求: {message}") logger.info(f"开始处理需求: {message}")
# 调用编排函数执行三个Agent的工作流 # 调用编排函数执行三个Agent的工作流
await orchestrate_agents(message) asyncio.create_task( orchestrate_agents(message))
# 构建响应 # 构建响应
response = FullWorkflowResponse( response = FullWorkflowResponse(