yashasgupta's picture
Create app.py
8bd83e4 verified
raw
history blame
3.81 kB
import streamlit as st
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
import os
os.environ["OPENAI_API_KEY"] = os.getenv("k1")
st.title("Language Processing Application :robot_face:")
# Sidebar for task selection
task = st.sidebar.selectbox("Choose a task:", ["Translation", "Summarization"])
# Tabs for multiple pages
tab1, tab2 = st.tabs(["Page 1", "Page 2"])
with tab1:
if task == "Translation":
st.header("Translation Task")
options1 = ["English", "Telugu", "Hindi", "French", "German", "Russian", "Spanish"]
input_language = st.selectbox("Input Language: ", options1)
options2 = ["Hindi", "Telugu", "Spanish", "English", "German", "Russian", "French"]
output_language = st.selectbox("Output Language: ", options2)
text = st.text_input("Text Input: ")
if st.button("Submit Translation"):
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
prompt = ChatPromptTemplate.from_messages([("system", "you are a good assistant for translation from {il} to {ol}"),
("human", "{i}")])
chain = prompt | llm
response = chain.invoke({"il": input_language, "ol": output_language, "i": text})
st.write("Response: ")
st.write(response.content)
elif task == "Summarization":
st.header("Summarization Task")
text = st.text_area("Text Input for Summarization: ")
if st.button("Submit Summarization"):
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
prompt = ChatPromptTemplate.from_messages([("system", "you are a good assistant for summarization"),
("human", "Summarize the following text: {i}")])
chain = prompt | llm
response = chain.invoke({"i": text})
st.write("Response: ")
st.write(response.content)
with tab2:
if task == "Translation":
st.header("Translation Task")
# Repeat the same structure for additional pages if needed
options1 = ["English", "Telugu", "Hindi", "French", "German", "Russian", "Spanish"]
input_language = st.selectbox("Input Language: ", options1, key='input_lang2')
options2 = ["Hindi", "Telugu", "Spanish", "English", "German", "Russian", "French"]
output_language = st.selectbox("Output Language: ", options2, key='output_lang2')
text = st.text_input("Text Input: ", key='text_input2')
if st.button("Submit Translation", key='submit_translation2'):
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
prompt = ChatPromptTemplate.from_messages([("system", "you are a good assistant for translation from {il} to {ol}"),
("human", "{i}")])
chain = prompt | llm
response = chain.invoke({"il": input_language, "ol": output_language, "i": text})
st.write("Response: ")
st.write(response.content)
elif task == "Summarization":
st.header("Summarization Task")
text = st.text_area("Text Input for Summarization: ", key='text_area2')
if st.button("Submit Summarization", key='submit_summarization2'):
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
prompt = ChatPromptTemplate.from_messages([("system", "you are a good assistant for summarization"),
("human", "Summarize the following text: {i}")])
chain = prompt | llm
response = chain.invoke({"i": text})
st.write("Response: ")
st.write(response.content)