use async way to run ai
This commit is contained in:
@@ -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
23
main.py
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user