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)