mehrdaddjavadi's picture
Update utils.py
66bc19d verified
raw
history blame contribute delete
No virus
1.86 kB
import whisper
from langchain.llms import OpenAI
from langchain.agents import initialize_agent
from langchain.agents.agent_toolkits import ZapierToolkit
from langchain.utilities.zapier import ZapierNLAWrapper
from dotenv import load_dotenv
import os
# Load environment variables from .env file
load_dotenv()
# Retrieve API keys from environment variables
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
ZAPIER_NLA_API_KEY = os.getenv("ZAPIER_NLA_API_KEY")
# Check if API keys are present
if OPENAI_API_KEY is None or ZAPIER_NLA_API_KEY is None:
raise ValueError("One or both API keys are missing. Please make sure they are set in the environment.")
def transcribe_audio(uploaded_file):
# Load model
model = whisper.load_model(os.getenv("MODEL"))
# Save uploaded file to a temporary file
with open("temp_audio.mp3", "wb") as f:
f.write(uploaded_file.getbuffer())
# Transcribe audio file
result = model.transcribe("temp_audio.mp3")
transcribed_text = result["text"]
print(transcribed_text)
# Return transcribed text
return transcribed_text
def send_summary_email(transcribed_text):
# Initialize the large language model
llm = OpenAI(temperature=0)
# Initialize Zapier
zapier = ZapierNLAWrapper()
toolkit = ZapierToolkit(zapier_nla_wrapper=zapier)
# Get tools from the toolkit
tools = toolkit.get_tools()
if not tools:
raise ValueError("No tools available for the agent to use.")
# Initialize the agent with the tools
agent = initialize_agent(
tools=tools,
llm=llm,
agent=os.getenv("AGENT"),
verbose=True
)
# Send email using Zapier
summary = f"Send an Email to mehrdaddjavadi@gmail.com via gmail summarizing the following text provided below: {transcribed_text}"
agent.run(summary)
return summary