Пример #1
0
async def update_training_data_generator_status(
    request_data: TrainingDataGeneratorStatusModel,
    current_user: User = Depends(auth.get_current_user)):
    """
    Update training data generator status
    """
    try:
        TrainingDataGenerationProcessor.retreive_response_and_set_status(
            request_data, current_user.get_bot(), current_user.get_user())
    except Exception as e:
        raise AppException(e)
    return {"message": "Status updated successfully!"}
Пример #2
0
async def get_latest_data_generation_status(
        current_user: User = Depends(auth.get_current_user), ):
    """
    Fetches status for latest data generation request
    """
    latest_data_generation_status = TrainingDataGenerationProcessor.fetch_latest_workload(
        current_user.get_bot(), current_user.get_user())
    return {"data": latest_data_generation_status}
Пример #3
0
async def get_trainData_history(
        current_user: User = Depends(auth.get_current_user), ):
    """
    Fetches File Data Generation history, when and who initiated the process
    """
    file_history = TrainingDataGenerationProcessor.get_training_data_generator_history(
        current_user.get_bot())
    return {"data": {"training_history": file_history}}
Пример #4
0
async def add_training_data(request_data: BulkTrainingDataAddRequest,
                            current_user: User = Depends(
                                auth.get_current_user)):
    """
    Adds intents, training examples and responses along with story against the responses
    """
    try:
        status, training_data_added = mongo_processor.add_training_data(
            training_data=request_data.training_data,
            bot=current_user.get_bot(),
            user=current_user.get_user(),
            is_integration=current_user.get_integration_status())
        TrainingDataGenerationProcessor.update_is_persisted_flag(
            request_data.history_id, training_data_added)
    except Exception as e:
        raise AppException(e)
    return {"message": "Training data added successfully!", "data": status}
Пример #5
0
async def upload_file(background_tasks: BackgroundTasks,
                      doc: UploadFile = File(...),
                      current_user: User = Depends(auth.get_current_user)):
    """
    Uploads document for training data generation and triggers event for intent creation
    """
    TrainingDataGenerationProcessor.is_in_progress(current_user.get_bot())
    TrainingDataGenerationProcessor.check_data_generation_limit(
        current_user.get_bot())
    file_path = await Utility.upload_document(doc)
    TrainingDataGenerationProcessor.set_status(
        bot=current_user.get_bot(),
        user=current_user.get_user(),
        status=TRAINING_DATA_GENERATOR_STATUS.INITIATED.value,
        document_path=file_path)
    token = auth.create_access_token(data={"sub": current_user.email})
    background_tasks.add_task(Utility.trigger_data_generation_event,
                              current_user.get_bot(), current_user.get_user(),
                              token.decode('utf8'))
    return {
        "message":
        "File uploaded successfully and training data generation has begun"
    }