import streamlit as st from langchain.prompts import PromptTemplate import os from dotenv import load_dotenv import google.generativeai as genai load_dotenv() # Configure API genai.configure(api_key=os.getenv("GOOGLE_API_KEY")) def get_gemini_response(input_text, no_words, blog_style): model = genai.GenerativeModel("gemini-pro") # Prompt Template template = """ Write a blog in {blog_style} style for the job profile. The topic is '{input_text}'. The blog should be within {no_words} words. """ prompt = PromptTemplate(input_variables=["blog_style", "input_text", "no_words"], template=template) # Generate prompt string prompt_text = prompt.format(blog_style=blog_style, input_text=input_text, no_words=no_words) # Generate response response = model.generate_content(prompt_text) return response.text st.set_page_config(page_title="Generate Blogs", layout='centered', initial_sidebar_state='collapsed') #st.header("Generate Blogs 🤖") # App name st.markdown("

Blog Generator

", unsafe_allow_html=True) input_text = st.text_input("Enter the Blog Topic") # Creating two more columns for additional fields col1, col2 = st.columns([5, 5]) with col1: no_words = st.text_input('No of Words') with col2: blog_style = st.selectbox('Writing the blog for', ('Researchers', 'Data Scientist', 'Students'), index=0) submit = st.button("Generate") # Final response if submit: if input_text and no_words and blog_style: response = get_gemini_response(input_text, no_words, blog_style) st.write(response) else: st.warning("Please fill in all fields.")