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.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):