feat: Implement LLM streaming support and enhance event handling in review process
This commit is contained in:
@@ -227,21 +227,22 @@ class ReviewTaskWorker:
|
||||
print(f" Prepared event_data: {event_data}")
|
||||
logger.info(f" 🔔 Broadcasting event: type={event.get('type')}, connections={len(manager.active_connections)}")
|
||||
|
||||
# Save event to database
|
||||
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()
|
||||
print(f" ✓ Event saved to DB: {db_event.id}")
|
||||
logger.debug(f" 💾 Event saved to DB: {db_event.id}")
|
||||
# Save event to database (НЕ сохраняем 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()
|
||||
print(f" ✓ Event saved to DB: {db_event.id}")
|
||||
logger.debug(f" 💾 Event saved to DB: {db_event.id}")
|
||||
|
||||
# Broadcast to all connected clients
|
||||
# Broadcast to all connected clients (отправляем все, включая llm_chunk)
|
||||
print(f" Broadcasting to {len(manager.active_connections)} connections...")
|
||||
await manager.broadcast(event_data)
|
||||
print(f" ✓ Broadcast completed")
|
||||
@@ -250,6 +251,9 @@ class ReviewTaskWorker:
|
||||
if event.get("type") == "agent_step":
|
||||
step = event.get("step", "unknown")
|
||||
logger.info(f" 📍 Step: {step}")
|
||||
elif event.get("type") == "llm_chunk":
|
||||
# Не логируем каждый chunk, слишком много
|
||||
pass
|
||||
elif event.get("type") == "llm_message":
|
||||
message = event.get("message", "")[:100]
|
||||
logger.info(f" 💬 LLM: {message}...")
|
||||
|
||||
Reference in New Issue
Block a user