ombhojane/restart_interviews_called
0
1import pandas as pd2import google.generativeai as genai3import os4 5# Load responses from a file6def load_responses(filename="interview_responses_round_1.csv"):7 try:8 return pd.read_csv(filename)9 except FileNotFoundError:10 print("Response file not found. Please ensure that 'round1.py' has been run and responses have been saved.")11 exit()12 13# Configure and initialize Gemini14def configure_gemini():15 api_key = os.getenv("GOOGLE_GENERATIVE_AI_API_KEY")16 if not api_key:17 print("Google Generative AI API key not set. Please set your API key as an environment variable.")18 exit()19 20 genai.configure(api_key=api_key)21 22 generation_config = {23 "temperature": 0.9,24 "top_p": 1,25 "top_k": 50,26 "max_output_tokens": 512,27 }28 29 safety_settings = [30 {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},31 {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},32 {"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},33 {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},34 ]35 36 return genai.GenerativeModel(model_name="gemini-1.0-pro",37 generation_config=generation_config,38 safety_settings=safety_settings)39 40def evaluate_responses(model, responses):41 evaluations = []42 for index, row in responses.iterrows():43 try:44 response = model.generate_content([row['response']])45 evaluations.append(response.text)46 except Exception as e:47 print(f"An error occurred while evaluating response {index+1}: {e}")48 evaluations.append("Error during evaluation.")49 50 return evaluations51 52def print_evaluations(responses, evaluations):53 for index, (response, evaluation) in enumerate(zip(responses['response'], evaluations), start=1):54 print(f"Response {index}: {response}")55 print(f"Evaluation: {evaluation}")56 print("----------")57 58if __name__ == "__main__":59 responses = load_responses()60 if not responses.empty:61 model = configure_gemini()62 evaluations = evaluate_responses(model, responses)63 print_evaluations(responses, evaluations)64 