Skip to content

Commit eb540e3

Browse files
committed
Add topic summary
1 parent 022acd8 commit eb540e3

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

src/app/endpoints/query_v2.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
query_response,
1919
select_model_and_provider_id,
2020
validate_attachments_metadata,
21+
get_topic_summary,
2122
)
2223
from authentication import get_auth_dependency
2324
from authentication.interface import AuthTuple
@@ -27,6 +28,7 @@
2728
import metrics
2829
from models.config import Action
2930
from models.database.conversations import UserConversation
31+
from app.database import get_session
3032
from models.requests import QueryRequest
3133
from models.responses import QueryResponse
3234
from utils.endpoints import (
@@ -102,13 +104,27 @@ async def query_endpoint_handler_v2(
102104
# Update metrics for the LLM call
103105
metrics.llm_calls_total.labels(provider_id, model_id).inc()
104106

107+
# Compute topic summary if this is a brand new conversation
108+
topic_summary = None
109+
with get_session() as session:
110+
existing_conversation = (
111+
session.query(UserConversation)
112+
.filter_by(id=conversation_id)
113+
.first()
114+
)
115+
if not existing_conversation:
116+
topic_summary = await get_topic_summary(
117+
query_request.query, client, model_id
118+
)
119+
105120
process_transcript_and_persist_conversation(
106121
user_id=user_id,
107122
conversation_id=conversation_id,
108123
model_id=model_id,
109124
provider_id=provider_id,
110125
query_request=query_request,
111126
summary=summary,
127+
topic_summary=topic_summary,
112128
)
113129

114130
return QueryResponse(
@@ -350,6 +366,7 @@ def process_transcript_and_persist_conversation(
350366
provider_id: str,
351367
query_request: QueryRequest,
352368
summary: TurnSummary,
369+
topic_summary: str | None = None,
353370
) -> None:
354371
"""Process transcript storage and persist conversation details."""
355372
if not is_transcripts_enabled():
@@ -374,4 +391,5 @@ def process_transcript_and_persist_conversation(
374391
conversation_id=conversation_id,
375392
model=model_id,
376393
provider_id=provider_id,
394+
topic_summary=topic_summary,
377395
)

0 commit comments

Comments
 (0)