diff --git a/apps/chat/serializers/chat.py b/apps/chat/serializers/chat.py index 8ba6cdfaa2b..51a05f6029b 100644 --- a/apps/chat/serializers/chat.py +++ b/apps/chat/serializers/chat.py @@ -16,6 +16,7 @@ from django.utils.translation import gettext_lazy as _ from langchain_core.messages import HumanMessage, AIMessage, SystemMessage from rest_framework import serializers + from application.chat_pipeline.pipeline_manage import PipelineManage from application.chat_pipeline.step.chat_step.i_chat_step import PostResponseHandler from application.chat_pipeline.step.chat_step.impl.base_chat_step import BaseChatStep @@ -217,6 +218,8 @@ class OpenAIChatSerializer(serializers.Serializer): application_id = serializers.UUIDField(required=True, label=_("Application ID")) chat_user_id = serializers.CharField(required=True, label=_("Client id")) chat_user_type = serializers.CharField(required=True, label=_("Client Type")) + ip_address = serializers.CharField(required=False, label=_("IP Address")) + source = serializers.JSONField(required=False, label=_("Source")) @staticmethod def get_message(instance): diff --git a/apps/chat/views/chat.py b/apps/chat/views/chat.py index 2926b857512..0925e939a65 100644 --- a/apps/chat/views/chat.py +++ b/apps/chat/views/chat.py @@ -82,7 +82,8 @@ def post(self, request: Request, application_id: str): ip_address = _get_ip_address(request) return OpenAIChatSerializer(data={'application_id': application_id, 'chat_user_id': request.auth.chat_user_id, 'chat_user_type': request.auth.chat_user_type, - 'ip_address': ip_address, }).chat(request.data) + 'ip_address': ip_address, + 'source': {"type": ChatSourceChoices.API_CALL.value}}).chat(request.data) class AnonymousAuthentication(APIView):