File size: 2,104 Bytes
5b4830a
 
 
 
 
 
 
 
 
 
d5eeaad
5b4830a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78b73ce
5b4830a
78b73ce
5b4830a
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import os
from apikey import apikey

import streamlit as st
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain, SequentialChain
from langchain.memory import ConversationBufferMemory
from langchain.utilities import WikipediaAPIWrapper

os.environ['OPENAI_API_KEY'] = st.secrets["openai_api_key"]

st.title('🦜🔗 LangChain Tutorial - YouTube GPT Creator - by Raseel ')
prompt = st.text_input('Prompt: Write me a Youtube Video Script about')

# Prompt Templates
title_template = PromptTemplate(
    input_variables = ['topic'],
    template='Write me a Youtube Video title about {topic}'
)

script_template = PromptTemplate(
    input_variables = ['title', 'wikipedia_research'],
    template='Write me a Youtube Video script based on the title, TITLE {title} while leveraging its Wikipedia researc: {wikipedia_research}'
)

# Memory
title_memory = ConversationBufferMemory(input_key='topic', memory_key='chat_history')
script_memory = ConversationBufferMemory(input_key='title', memory_key='chat_history')

# LLMs
llm = OpenAI(temperature=0.9)
title_chain = LLMChain(llm=llm, prompt=title_template, verbose=True, output_key='title', memory=title_memory)
script_chain = LLMChain(llm=llm, prompt=script_template, verbose=True, output_key='script', memory=script_memory)

# Tools
wiki = WikipediaAPIWrapper()

# sequential_chain = SequentialChain(chains=[title_chain, script_chain],
#                                    input_variables=['topic'],
#                                    output_variables=['title', 'script'],
#                                    verbose=True)

if prompt:
	title = title_chain.run(prompt)
	wiki_research = wiki.run(prompt)
	script = script_chain.run(title=title, wikipedia_research=wiki_research)
	
	st.subheader('Generated Title')
	st.write(title)
	st.subheader('Generated SCript')
	st.write(script)

	with st.expander('Title History:'):
		st.info(title_memory.buffer)
	
	with st.expander('Script History:'):
		st.info(script_memory.buffer)
	
	with st.expander('Wikipedia Research:'):
		st.info(wiki_research)