ombhojane's picture
Upload 5 files
2ddc9b6 verified
import pandas as pd
import google.generativeai as genai
import os
# Load responses from a file
def load_responses(filename="interview_responses_round_1.csv"):
try:
return pd.read_csv(filename)
except FileNotFoundError:
print("Response file not found. Please ensure that 'round1.py' has been run and responses have been saved.")
exit()
# Configure and initialize Gemini
def configure_gemini():
api_key = os.getenv("GOOGLE_GENERATIVE_AI_API_KEY")
if not api_key:
print("Google Generative AI API key not set. Please set your API key as an environment variable.")
exit()
genai.configure(api_key=api_key)
generation_config = {
"temperature": 0.9,
"top_p": 1,
"top_k": 50,
"max_output_tokens": 512,
}
safety_settings = [
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
]
return genai.GenerativeModel(model_name="gemini-1.0-pro",
generation_config=generation_config,
safety_settings=safety_settings)
def evaluate_responses(model, responses):
evaluations = []
for index, row in responses.iterrows():
try:
response = model.generate_content([row['response']])
evaluations.append(response.text)
except Exception as e:
print(f"An error occurred while evaluating response {index+1}: {e}")
evaluations.append("Error during evaluation.")
return evaluations
def print_evaluations(responses, evaluations):
for index, (response, evaluation) in enumerate(zip(responses['response'], evaluations), start=1):
print(f"Response {index}: {response}")
print(f"Evaluation: {evaluation}")
print("----------")
if __name__ == "__main__":
responses = load_responses()
if not responses.empty:
model = configure_gemini()
evaluations = evaluate_responses(model, responses)
print_evaluations(responses, evaluations)