Spaces:
Build error
Build error
File size: 2,371 Bytes
952b94d 4aa15fb 952b94d 4aa15fb 952b94d |
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
import streamlit as st
from langchain_openai import OpenAI
from langchain.prompts import PromptTemplate
from langchain_community.llms import CTransformers
import os
if "OPENAI_API_KEY" not in st.session_state:
st.session_state["OPENAI_API_KEY"] = ''
def getLLMResposne(form_input, email_sender, email_recipient, email_style):
try:
# llm = CTransformers(
# model = "models/llama-2-7b-chat.ggmlv3.q2_K.bin",
# model_type = 'llama',
# config = {'max_new_tokens':256,
# 'temperature':.01}
# )
llm = OpenAI(temperature=.9)
template = """
write an email with {style} style and includes topic: {email_topic}\n\nSender: {sender}\n\nRecipient: {recipient}
keep the email short and crisp in 150-200 words.
\n\nEmail Text:
"""
prompt = PromptTemplate(
input_variables=["style", "email_topic", "sender", "recipient"],
template=template,
)
response = llm(prompt.format(email_topic=form_input,
sender=email_sender,
recipient=email_recipient,
style=email_style))
return response
except Exception as e:
return f"An error occurred: {str(e)}"
def main():
st.set_page_config(
page_title = "Generate Emails",
page_icon = "📨",
layout = "centered",
initial_sidebar_state = "expanded"
)
st.header("Generate Emails 📨")
open_api_key = st.sidebar.text_input("Enter OpenAI API Key")
st.sidebar.write("⬆️ Enter your OpenAI API key ")
os.environ["OPENAI_API_KEY"] = open_api_key
form_input = st.text_area("Enter the email topic", height = 275)
col1, col2, col3 = st.columns([10,10,5])
with col1:
email_sender = st.text_input("Sender name")
with col2:
email_recipient=st.text_input("Recipient name")
with col3:
email_style = st.selectbox(
'Writing style', ('Formal','Appreciating','Not Satisfied','Neutral'),
index=0
)
submit = st.button("Generate")
if submit:
with st.spinner():
st.write(getLLMResposne(form_input, email_sender, email_recipient, email_style))
if __name__=='__main__':
main() |