test_app01 / app.py
kunishou's picture
Update app.py
a744643
raw
history blame
1.5 kB
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"]))