Skip to content

message_response_views

django_spire.ai.chat.views.message_response_views

response_message_render_view

Source code in django_spire/ai/chat/views/message_response_views.py
def response_message_render_view(request: WSGIRequest) -> HttpResponse:
    body_data = json.loads(request.body)

    chat = Chat.objects.by_user(request.user).get(id=body_data['chat_id'])

    message_intel = chat_workflow(
        request,
        body_data['message_body'],
        message_history=chat.generate_message_history(),
    )

    current_datetime = now()
    formatted_timestamp = current_datetime.strftime('%b %d, %Y at %I:%M %p')

    response_message = MessageResponse(
        type=MessageResponseType.RESPONSE,
        sender=getattr(settings, 'DJANGO_SPIRE_AI_PERSONA_NAME', 'AI Assistant'),
        message_intel=message_intel,
        synthesis_speech=body_data.get('synthesis_speech', False),
        message_timestamp=formatted_timestamp
    )

    chat.add_message_response(response_message)

    return HttpResponse(response_message.render_to_html_string({'chat_id': chat.id}))