File size: 1,388 Bytes
d7d0d8e
252d749
 
 
385a3d3
 
252d749
d7d0d8e
252d749
 
 
 
 
d7d0d8e
 
 
 
 
 
 
385a3d3
78f1df3
d7d0d8e
 
 
 
385a3d3
 
 
af60251
7306982
385a3d3
7306982
 
dd2695b
af5c58a
7306982
 
385a3d3
dd2695b
b745b4d
d7d0d8e
 
dd2695b
 
d7d0d8e
 
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
48
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)
    chunks = generateChunks(data["content"], task_id)
    encode(chunks)
    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