feat: Implement LLM streaming support and enhance event handling in review process

This commit is contained in:
Primakov Alexandr Alexandrovich
2025-10-13 17:48:03 +03:00
parent 2f29ccff74
commit 1d953f554b
6 changed files with 107 additions and 45 deletions

View File

@@ -147,19 +147,20 @@ async def run_review_task(review_id: int, pr_number: int, repository_id: int, db
"data": event
}
# Save to DB
from app.models.review_event import ReviewEvent
db_event = ReviewEvent(
review_id=review_id,
event_type=event.get("type", "agent_update"),
step=event.get("step"),
message=event.get("message"),
data=event
)
db.add(db_event)
await db.commit()
# Save to DB (НЕ сохраняем llm_chunk - их слишком много)
if event.get("type") != "llm_chunk":
from app.models.review_event import ReviewEvent
db_event = ReviewEvent(
review_id=review_id,
event_type=event.get("type", "agent_update"),
step=event.get("step"),
message=event.get("message"),
data=event
)
db.add(db_event)
await db.commit()
# Broadcast
# Broadcast (отправляем все события, включая llm_chunk)
await manager.broadcast(event_data)
except Exception as e:
print(f"Error in review event handler: {e}")

View File

@@ -31,19 +31,20 @@ async def start_review_task(review_id: int, pr_number: int, repository_id: int):
"data": event
}
# Save to DB
from app.models.review_event import ReviewEvent
db_event = ReviewEvent(
review_id=review_id,
event_type=event.get("type", "agent_update"),
step=event.get("step"),
message=event.get("message"),
data=event
)
db.add(db_event)
await db.commit()
# Save to DB (НЕ сохраняем llm_chunk - их слишком много)
if event.get("type") != "llm_chunk":
from app.models.review_event import ReviewEvent
db_event = ReviewEvent(
review_id=review_id,
event_type=event.get("type", "agent_update"),
step=event.get("step"),
message=event.get("message"),
data=event
)
db.add(db_event)
await db.commit()
# Broadcast
# Broadcast (отправляем все события, включая llm_chunk)
await manager.broadcast(event_data)
except Exception as e:
print(f"Error in webhook review event handler: {e}")