api package

api.apps

api.urls

from django.contrib import admin from django.urls import include, path from rest_framework.routers import DefaultRouter

from api.views import ChatAPIViewSet, LanguageViewSet

router = DefaultRouter() router.register(r”chat”, ChatAPIViewSet, basename=”chat”) router.register(r”language”, LanguageViewSet, basename=”language”)

urlpatterns = [

path(“”, include(router.urls)),

]

api.urls.dummy()[source]

api.utils

import asyncio, logging, json, datetime, os, uuid

from common.constants import Constants from common.utils import (

decode_base64_to_binary, encode_binary_to_base64, get_user_chat_history, get_message_object_by_id, get_or_create_latest_conversation, get_or_create_user_by_email, insert_message_record, postprocess_and_translate_query_response, save_message_obj, send_request, fetch_multilingual_texts_for_static_text_messages, get_user_by_email, fetch_corresponding_multilingual_text, create_or_update_user_by_email,

) from database.models import User from database.database_config import db_conn from database.db_operations import update_record from django_core.config import Config from intent_classification.intent import process_user_intent from rag_service.execute_rag import execute_rag_pipeline from language_service.translation import detect_language_and_translate_to_english, a_translate_to from language_service.asr import transcribe_and_translate from language_service.tts import synthesize_speech from language_service.utils import get_language_by_id

logger = logging.getLogger(__name__)

api.utils.authenticate_user_based_on_email(email_id)[source]

Authenticate the user via content authenticate site

api.utils.handle_input_query(input_query)[source]

Return a binary file by decoding input query (as base64 string).

api.utils.preprocess_user_data(original_query, email_id, authenticated_user={})[source]

Process user profile fetched from content authenticate site by saving or updating. def preprocess_user_data( original_query, email_id, authenticated_user={}, #with_db_config=Config.WITH_DB_CONFIG, message_input_type=Constants.MESSAGE_INPUT_TYPE_TEXT,

):

api.utils.process_input_audio_to_base64(original_text, message_id=None)[source]

Synthesise input text or user query to audio in specified language, and encode to base64 string.

api.utils.process_output_audio(original_text, message_id=None)[source]

Synthesise output text or generated response to audio in english language, and encode to base64 string Note : Org methoc call def process_output_audio(original_text, message_id=None,):# with_db_config=Config.WITH_DB_CONFIG):

api.utils.process_query(original_query, email_id, authenticated_user={})[source]

Pre-process user profile and user query, execute RAG pipeline with intent classification if the user query is relevant to the content, and finally return the generated response for the same.

api.utils.process_transcriptions(voice_file, email_id, authenticated_user={})[source]

Process generation of transcriptions (text) for a given audio or voice file in a specified language if any or in user preferred language.