File size: 1,651 Bytes
9b0c4a4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
49
50
import gradio as gr
import whisper
import openai

# Setează cheia API OpenAI
openai.api_key = "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"

# Încarcă modelul Whisper
model = whisper.load_model("base")

def proceseaza_audio(file_path):
    try:
        # Transcriere audio folosind Whisper
        result = model.transcribe(file_path)
        transcript = result.get("text", "")
        
        if not transcript:
            return "Eroare în transcrierea audio.", "Nu s-a putut genera un rezumat."
        
        # Generare rezumat folosind OpenAI
        completare = openai.ChatCompletion.create(
            model="gpt-4",
            messages=[
                {"role": "system", "content": "Ești un asistent care rezumă conținut."},
                {"role": "user", "content": transcript}
            ]
        )
        rezumat = completare.choices[0].message.content
        return transcript, rezumat
    
    except Exception as e:
        return f"Eroare: {str(e)}", "Nu s-a putut genera un rezumat."

# Interfață Gradio
inputs = gr.Audio(type="filepath", label="Încărcați fișierul audio")
outputs = [
    gr.Textbox(label="Transcrierea textului"),
    gr.Textbox(label="Rezumatul textului")
]

app = gr.Interface(
    fn=proceseaza_audio,
    inputs=inputs,
    outputs=outputs,
    title="Transcriere și Rezumat AI",
    description="Această aplicație transcrie fișiere audio și creează un rezumat al conținutului folosind AI."
)

app.launch()