raghuprasadks's picture
Upload 2 files
2dc96df verified
import getpass
import os
import streamlit as st
from dotenv import load_dotenv
from langchain_core.output_parsers import StrOutputParser
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_core.prompts import ChatPromptTemplate
# Load environment variables
load_dotenv()
# Instantiate the language model
llm = ChatGoogleGenerativeAI(
model="gemini-1.5-pro",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2,
)
# Define the prompt template
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"You are a helpful assistant that translates {input_language} to {output_language}.",
),
("human", "{input}"),
]
)
# Streamlit UI
st.title('Langchain Demo With Gemini (Language Translator)')
st.write("Select the input and output languages, then enter a sentence to translate.")
# Language selection dropdowns
input_language = st.selectbox("Select input language", ["English", "German", "French", "Spanish"])
output_language = st.selectbox("Select output language", ["German", "English", "French", "Spanish", "Japanese","Hindi","Kannada","Telugu","Tamil"])
# Text input for the sentence to be translated
input_text = st.text_input("Enter the sentence to translate")
# Output parser
output_parser = StrOutputParser()
# Chain setup
chain = prompt | llm | output_parser
# Run the translation if text is provided
if input_text:
result = chain.invoke(
{
"input_language": input_language,
"output_language": output_language,
"input": input_text,
}
)
st.write("Translated Text:")
st.write(result)