raseel-zymr's picture
Use Streamlit secrets for OpenAI API Key
d5eeaad
raw
history blame
2.04 kB
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.write(title)
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)