Compare commits
No commits in common. "main" and "main" have entirely different histories.
@ -5,8 +5,3 @@ OPENAI_TRANSCRIPTION_MODEL=
|
||||
OPENAI_CHAT_SYSTEM_PROMPT=
|
||||
OPENAI_CHAT_MODEL=
|
||||
OPENAI_CHAT_N=
|
||||
SENDER_EMAIL=
|
||||
RECEIVER_EMAIL=
|
||||
SENDER_APP_PASSWORD=
|
||||
SMTP_HOST=
|
||||
SMTP_PORT=
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,5 +1,4 @@
|
||||
__pycache__/*
|
||||
tmp/*
|
||||
venv/*
|
||||
.venv/*
|
||||
.env
|
||||
|
39
app.py
39
app.py
@ -7,9 +7,6 @@ from pydub import AudioSegment
|
||||
|
||||
from prompt import DEFAULT_PROMPT
|
||||
|
||||
import smtplib
|
||||
from email.message import EmailMessage
|
||||
|
||||
VIDEO_URL = os.getenv('INPUT_VIDEO_URL', None)
|
||||
OUTPUT_PATH = os.getenv('OUTPUT_PATH', 'tmp')
|
||||
AUDIO_SEGMENT_DURATION = 30000
|
||||
@ -19,19 +16,13 @@ OPENAI_TRANSCRIPTION_MODEL = os.getenv('OPENAI_TRANSCRIPTION_MODEL', 'whisper-1'
|
||||
OPENAI_CHAT_SYSTEM_PROMPT = os.getenv('OPENAI_CHAT_SYSTEM_PROMPT', DEFAULT_PROMPT)
|
||||
OPENAI_CHAT_MODEL = os.getenv('OPENAI_CHAT_MODEL', 'whisper-1')
|
||||
OPENAI_CHAT_N = int(os.getenv('OPENAI_CHAT_N', '3'))
|
||||
SENDER_EMAIL = os.getenv("SENDER_EMAIL", None)
|
||||
RECEIVER_EMAIL = os.getenv("RECEIVER_EMAIL", None)
|
||||
SENDER_APP_PASSWORD = os.getenv("SENDER_APP_PASSWORD", None)
|
||||
SMTP_HOST = os.getenv("SMTP_HOST", "smtp.gmail.com")
|
||||
SMTP_PORT = int(os.getenv("SMTP_PORT", "465"))
|
||||
|
||||
def main():
|
||||
openai_client = OpenAI(
|
||||
base_url = OPENAI_BASE_URL,
|
||||
api_key = OPENAI_API_KEY
|
||||
)
|
||||
|
||||
summaries = summarize_transcription(
|
||||
return summarize_transcription(
|
||||
openai_client,
|
||||
transcribe_audio(
|
||||
openai_client,
|
||||
@ -41,14 +32,6 @@ def main():
|
||||
)
|
||||
)
|
||||
|
||||
email_body=""
|
||||
for i, summary in enumerate(summaries) :
|
||||
email_body += f"Option {i+1} :\n{summary.text}\n\n"
|
||||
|
||||
send_email(subject="Video summaries results", body=email_body)
|
||||
|
||||
return summaries
|
||||
|
||||
def get_video_from_url():
|
||||
filename = VIDEO_URL.split('/')[-1]
|
||||
with open(f"{OUTPUT_PATH}/{filename}", 'wb') as f:
|
||||
@ -82,21 +65,6 @@ def summarize_transcription(openai_client, transcription):
|
||||
prompt=OPENAI_CHAT_SYSTEM_PROMPT.format(transcription)
|
||||
).choices
|
||||
|
||||
def send_email(subject, body, sender_email=SENDER_EMAIL, receiver_email=RECEIVER_EMAIL, sender_password=SENDER_APP_PASSWORD):
|
||||
msg = EmailMessage()
|
||||
msg.set_content(body)
|
||||
msg['Subject'] = subject
|
||||
msg['From'] = sender_email
|
||||
msg['To'] = receiver_email
|
||||
|
||||
try:
|
||||
with smtplib.SMTP_SSL(SMTP_HOST, SMTP_PORT) as smtp:
|
||||
smtp.login(sender_email, sender_password)
|
||||
smtp.send_message(msg)
|
||||
print("Email sent successfully!")
|
||||
except Exception as e:
|
||||
print(f"Email sending error: {e}")
|
||||
|
||||
def setup():
|
||||
from dotenv import load_dotenv
|
||||
load_dotenv()
|
||||
@ -106,7 +74,6 @@ def cleanup():
|
||||
|
||||
if __name__ == '__main__':
|
||||
setup()
|
||||
|
||||
for summary in main():
|
||||
for each in main():
|
||||
print("========")
|
||||
print(summary .text)
|
||||
print(each.text)
|
||||
|
Loading…
Reference in New Issue
Block a user