mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-02 13:18:18 +00:00
Only create new chat on get if a specific chat id, slug isn't requested
This commit is contained in:
@@ -439,16 +439,13 @@ class ConversationAdapters:
|
||||
user: KhojUser, client_application: ClientApplication = None, conversation_id: int = None, slug: str = None
|
||||
):
|
||||
if conversation_id:
|
||||
conversation = Conversation.objects.filter(user=user, client=client_application, id=conversation_id)
|
||||
return await Conversation.objects.filter(user=user, client=client_application, id=conversation_id).afirst()
|
||||
elif slug:
|
||||
conversation = Conversation.objects.filter(user=user, client=client_application, slug=slug)
|
||||
return await Conversation.objects.filter(user=user, client=client_application, slug=slug).afirst()
|
||||
else:
|
||||
conversation = Conversation.objects.filter(user=user, client=client_application).order_by("-updated_at")
|
||||
|
||||
if await conversation.aexists():
|
||||
return await conversation.afirst()
|
||||
|
||||
return await Conversation.objects.acreate(user=user, client=client_application, slug=slug)
|
||||
return await (
|
||||
Conversation.objects.filter(user=user, client=client_application).order_by("-updated_at").afirst()
|
||||
) or Conversation.objects.acreate(user=user, client=client_application, slug=slug)
|
||||
|
||||
@staticmethod
|
||||
async def adelete_conversation_by_user(
|
||||
|
||||
@@ -250,9 +250,10 @@ async def chat(
|
||||
formatted_help = help_message.format(model=model_type, version=state.khoj_version, device=get_device())
|
||||
return StreamingResponse(iter([formatted_help]), media_type="text/event-stream", status_code=200)
|
||||
|
||||
meta_log = (
|
||||
await ConversationAdapters.aget_conversation_by_user(user, request.user.client_app, conversation_id, slug)
|
||||
).conversation_log
|
||||
conversation = await ConversationAdapters.aget_conversation_by_user(
|
||||
user, request.user.client_app, conversation_id, slug
|
||||
)
|
||||
meta_log = conversation.conversation_log if conversation else {}
|
||||
|
||||
if conversation_commands == [ConversationCommand.Default]:
|
||||
conversation_commands = await aget_relevant_information_sources(q, meta_log)
|
||||
|
||||
Reference in New Issue
Block a user