Compare commits

..

No commits in common. "main" and "main" have entirely different histories.
main ... main

3 changed files with 3 additions and 42 deletions

View File

@ -5,8 +5,3 @@ OPENAI_TRANSCRIPTION_MODEL=
OPENAI_CHAT_SYSTEM_PROMPT= OPENAI_CHAT_SYSTEM_PROMPT=
OPENAI_CHAT_MODEL= OPENAI_CHAT_MODEL=
OPENAI_CHAT_N= OPENAI_CHAT_N=
SENDER_EMAIL=
RECEIVER_EMAIL=
SENDER_APP_PASSWORD=
SMTP_HOST=
SMTP_PORT=

1
.gitignore vendored
View File

@ -1,5 +1,4 @@
__pycache__/* __pycache__/*
tmp/* tmp/*
venv/* venv/*
.venv/*
.env .env

39
app.py
View File

@ -7,9 +7,6 @@ from pydub import AudioSegment
from prompt import DEFAULT_PROMPT from prompt import DEFAULT_PROMPT
import smtplib
from email.message import EmailMessage
VIDEO_URL = os.getenv('INPUT_VIDEO_URL', None) VIDEO_URL = os.getenv('INPUT_VIDEO_URL', None)
OUTPUT_PATH = os.getenv('OUTPUT_PATH', 'tmp') OUTPUT_PATH = os.getenv('OUTPUT_PATH', 'tmp')
AUDIO_SEGMENT_DURATION = 30000 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_SYSTEM_PROMPT = os.getenv('OPENAI_CHAT_SYSTEM_PROMPT', DEFAULT_PROMPT)
OPENAI_CHAT_MODEL = os.getenv('OPENAI_CHAT_MODEL', 'whisper-1') OPENAI_CHAT_MODEL = os.getenv('OPENAI_CHAT_MODEL', 'whisper-1')
OPENAI_CHAT_N = int(os.getenv('OPENAI_CHAT_N', '3')) 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(): def main():
openai_client = OpenAI( openai_client = OpenAI(
base_url = OPENAI_BASE_URL, base_url = OPENAI_BASE_URL,
api_key = OPENAI_API_KEY api_key = OPENAI_API_KEY
) )
return summarize_transcription(
summaries = summarize_transcription(
openai_client, openai_client,
transcribe_audio( transcribe_audio(
openai_client, 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(): def get_video_from_url():
filename = VIDEO_URL.split('/')[-1] filename = VIDEO_URL.split('/')[-1]
with open(f"{OUTPUT_PATH}/{filename}", 'wb') as f: 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) prompt=OPENAI_CHAT_SYSTEM_PROMPT.format(transcription)
).choices ).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(): def setup():
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
@ -106,7 +74,6 @@ def cleanup():
if __name__ == '__main__': if __name__ == '__main__':
setup() setup()
for each in main():
for summary in main():
print("========") print("========")
print(summary .text) print(each.text)