from langchain.prompts import PromptTemplate from langchain.chains import LLMChain from langchain.tools import DuckDuckGoSearchRun from langchain_google_genai import GoogleGenerativeAI def generate_script(prompt,video_length,creativity,api_key): title_template = PromptTemplate( input_variable = ['subject'], template = 'Please come up with a title for a youtube video on the {subject}.' ) script_template = PromptTemplate( input_variable = ['title','DuckDuckGo_Search','duration'], template = "Create a script for a youtube video based on this title for me. TITLE: {title} of duration: {duration} minutes using this search data {DuckDuckGo_Search}" ) llm = GoogleGenerativeAI(temperature=creativity,google_api_key=api_key,model = "gemini-pro") title_chain = LLMChain(llm=llm, prompt=title_template,verbose = True) script_chain = LLMChain(llm=llm, prompt=script_template,verbose = True) search = DuckDuckGoSearchRun() title = title_chain.run(prompt) search_result = search.run(prompt) script = script_chain.run(title=title,DuckDuckGo_Search=search_result,duration = video_length) return search_result,title,script