|
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_dotenv()
|
|
|
|
|
|
llm = ChatGoogleGenerativeAI(
|
|
model="gemini-1.5-pro",
|
|
temperature=0,
|
|
max_tokens=None,
|
|
timeout=None,
|
|
max_retries=2,
|
|
)
|
|
|
|
|
|
prompt = ChatPromptTemplate.from_messages(
|
|
[
|
|
(
|
|
"system",
|
|
"You are a helpful assistant that translates {input_language} to {output_language}.",
|
|
),
|
|
("human", "{input}"),
|
|
]
|
|
)
|
|
|
|
|
|
st.title('Langchain Demo With Gemini (Language Translator)')
|
|
st.write("Select the input and output languages, then enter a sentence to translate.")
|
|
|
|
|
|
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"])
|
|
|
|
|
|
input_text = st.text_input("Enter the sentence to translate")
|
|
|
|
|
|
output_parser = StrOutputParser()
|
|
|
|
|
|
chain = prompt | llm | output_parser
|
|
|
|
|
|
if input_text:
|
|
result = chain.invoke(
|
|
{
|
|
"input_language": input_language,
|
|
"output_language": output_language,
|
|
"input": input_text,
|
|
}
|
|
)
|
|
st.write("Translated Text:")
|
|
st.write(result)
|
|
|