File size: 1,729 Bytes
2dc96df |
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 |
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)
|