File size: 1,498 Bytes
f9f35c5
 
 
 
 
 
b2b05ab
f9f35c5
f4c15da
 
 
 
 
 
f9f35c5
b2b05ab
 
 
 
103cb1b
f9f35c5
 
 
 
 
 
a744643
b2b05ab
f4c15da
f9f35c5
b2b05ab
f4c15da
 
f9f35c5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112f464
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
51
import gradio as gr
import openai
import os
from io import BytesIO
import tempfile
import boto3
import random, string

s3 = boto3.client(
    's3',
    aws_access_key_id=os.environ["AWS_ACCESS_KEY_ID"],
    aws_secret_access_key=os.environ["AWS_SECRET_ACCESS_KEY"],
    region_name='ap-northeast-1'
)

def randomstring(n):
   randlst = [random.choice(string.ascii_letters + string.digits) for i in range(n)]
   return ''.join(randlst)

def create_meeting_summary(uploaded_audio):
    openai.api_key = os.environ["OPENAI_API_KEY"]
    transcript = openai.Audio.transcribe("whisper-1", open(uploaded_audio, "rb"), response_format="verbose_json")
    transcript_text = ""
    for segment in transcript.segments:
        transcript_text += f"{segment['text']}\n"

    bucket_name = os.environ["BUCKET_NAME"]
    file_name = f"test_{randomstring(8)}.txt"
    s3.put_object(Bucket=bucket_name, Key=file_name, Body=transcript_text)

    download_url = os.environ["DOWNLOAD_URL"] + file_name
    
    return download_url

inputs = [
    gr.Audio(type="filepath", label="ιŸ³ε£°γƒ•γ‚‘γ‚€γƒ«γ‚’γ‚’γƒƒγƒ—γƒ­γƒΌγƒ‰")
]

outputs = [
    gr.Textbox(label="ダウンロードURL")
]

app = gr.Interface(
    fn=create_meeting_summary,
    inputs=inputs,
    outputs=outputs,
    title="ιŸ³ε£°ζ–‡ε­—θ΅·γ“γ—γ‚’γƒ—γƒͺ",
    description="ιŸ³ε£°γƒ•γ‚‘γ‚€γƒ«γ‚’γ‚’γƒƒγƒ—γƒ­γƒΌγƒ‰γ—γ¦γ€ζ–‡ε­—θ΅·γ“γ—γƒ•γ‚‘γ‚€γƒ«γ‚’δ½œζˆγ—γΎγ™γ€‚"
)

app.launch(debug=True, auth=(os.environ["USERNAME"], os.environ["PASSWORD"]))