import streamlit as st import pandas as pd import google.generativeai as genai GOOGLE_API_KEY_VALUE="AIzaSyCyHMkaiwpZjzfuSwQnFfaD6l6RXTmWJkY" genai.configure(api_key=GOOGLE_API_KEY_VALUE) model = genai.GenerativeModel('gemini-pro') def process_csv(uploaded_file): if uploaded_file is not None: data = pd.read_csv(uploaded_file,header=0) st.write("File loaded") values = data[data.columns[0]].tolist() st.write("No of Data entities to be processed:", len(values)) #st.markdown("* " + "\n* ".join([f"data is {value}" for value in values])) return values def call_gemini_model(values): responses = [] for value in values: prompt = f"Give 5 line details on {value}" response = model.generate_content(prompt) st.write(f"Response for {value}:") st.write(response.text) responses.append(response.text) return responses def main(): st.title("CSV Processor and Gemini Model") uploaded_file = st.file_uploader("Upload a CSV file with only 1 column containing the names of the entity, The 1st row shoud be the header i.e. column name") if uploaded_file is not None: values = process_csv(uploaded_file) if values: responses = call_gemini_model(values) x=len(responses) #st.write(x) #create_pdf(responses) st.write("Total responses processed: ",len(responses)) #for response in responses: # st.markdown(f"* {response}") #with open("gemini_responses.pdf", "rb") as pdf_file: # st.download_button("Download PDF", pdf_file, file_name="gemini_responses.pdf") if __name__ == "__main__": main()