paddle_ocr / test.py
sachitksh123's picture
Create test.py
db70d13 verified
import streamlit as st
from langchain.chains import LLMChain
from langchain_core.prompts import ChatPromptTemplate
from langchain_google_genai import ChatGoogleGenerativeAI
import os
import google.generativeai as genai
api_key = os.getenv("GEMINI_KEY2")
# Define the Chat Prompt Template
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"You are a helpful assistant that translates {input_language} to {output_language}.",
),
("human", "{input}"),
]
)
# Initialize the Google Generative AI model
llm = ChatGoogleGenerativeAI(
model="gemini-1.5-pro",
temperature=0.5,
max_tokens=None,
timeout=None,
max_retries=2,
api_key=api_key
)
# Define the chain for translation
translation_chain = LLMChain(prompt=prompt, llm=llm)
# Function to translate text
def translate_text(input_text, input_language, output_language):
try:
response = translation_chain({"input": input_text, "input_language": input_language, "output_language": output_language})
translation = response["text"].strip()
except Exception as e:
st.error(f"Error translating text to {output_language}: {e}")
translation = f"Sorry, we couldn't translate to {output_language} at the moment."
return translation
# Streamlit UI
st.title("πŸ“ Text Translation Bot with LangChain and Google Generative AI")
# User input
input_text = st.text_area("Enter text to translate:")
# Language choices
languages = ["Hindi", "Spanish", "German"]
output_language = st.selectbox("Select output language:", languages)
# Generate translation button
if st.button("Translate"):
if input_text.strip():
st.write("Translating text, please wait...")
translated_text = translate_text(input_text, "English", output_language)
st.write("### Translated Text")
st.write(translated_text)
else:
st.warning("Please enter some text to translate.")