File size: 1,373 Bytes
95a7280
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from celery import Celery, chain
import os
import time
from App import celery_config
import yt_dlp
import tempfile
from App.Transcription.Utils.audio_transcription import transcribe_file
from App.Embedding.utils.Initialize import encode, generateChunks

celery = Celery()
celery.config_from_object(celery_config)


@celery.task(name="embbeding", bind=True)
def generate_store(self, data, task_id):
    chunks = generateChunks(data, task_id)
    encode(chunks)
    print("hellooo")


@celery.task(name="transcription", bind=True)
def transcription_task(self, file_path, model_size="tiny"):
    data = transcribe_file(state=self, file_path=file_path, model_size=model_size)
    generate_store.delay(data["content"], self.request.id)
    return data


@celery.task(name="download", bind=True)
def downloadfile(self, url, ydl_opts, model_size="base"):
    # updated
    self.update_state(state="Downloading File..", meta={})

    ####
    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])

    # updated
    self.update_state(state="Downloading complete", meta={})
    audio_file = ydl_opts["outtmpl"]
    print(model_size, "worker after")
    # print(audio_file["default"])
    data = transcribe_file(
        state=self, file_path=audio_file["default"], model_size=model_size
    )
    generate_store.delay(data["content"], self.request.id)
    return data