File size: 2,676 Bytes
dd80d25 da9fcee 40f9f84 decddfb b2010da f3dd2c8 4cd6fae 9d7ed12 0fccc5c 4cd6fae c945f59 03fc65f 1fede0d 03fc65f 32b4458 1fede0d 32b4458 1fede0d 32b4458 1fede0d 03fc65f de14d58 03fc65f b2010da c945f59 e88f8b4 57bf9b3 1a2683c 95f1493 57bf9b3 8c3ddf5 c5a577b 4dc6d7a 43371e8 18410c3 b2010da 18410c3 57bf9b3 18410c3 a65f5bc 18410c3 c945f59 40f9f84 c945f59 40f9f84 88603ed 40f9f84 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
import os
import pandas as pd
from google import genai
def get_questions(file_path):
df = pd.read_json(file_path, lines=True)
result=[]
for index, row in df.iterrows():
result.append([row["Level"], row["Question"], row["file_name"], row["Final answer"]])
return result
def read_file(file_path):
df = None
ext = os.path.splitext(file_path)[1].lower()
if ext == ".csv":
df = pd.read_csv(file_path)
elif ext in (".xls", ".xlsx"):
df = pd.read_excel(file_path)
elif ext in (".json", ".jsonl"):
df = pd.read_json(file_path)
return "" if df is None else df.to_json()
def get_final_answer(model, question, answer):
prompt_template = """
You are an expert question answering assistant. Given a question and an initial answer, your task is to provide the final answer.
Your final answer must be a number and/or string OR as few words as possible OR a comma-separated list of numbers and/or strings.
If you are asked for a number, don't use comma to write your number neither use units such as USD, $, percent, or % unless specified otherwise.
If you are asked for a string, don't use articles, neither abbreviations (for example cities), and write the digits in plain text unless specified otherwise.
If you are asked for a comma-separated list, apply the above rules depending of whether the element to be put in the list is a number or a string.
If the final answer is a number, use a number not a word.
If the final answer is a word, start with an uppercase character.
If the final answer is a comma-separated list of numbers, use a space character after each comma.
If the final answer is a comma-separated list of strings, use a space character after each comma and start with a lowercase character.
Do not add any content to the final answer that is not in the initial answer.
**Question:** """ + question + """
**Initial answer:** """ + answer + """
**Example 1:** How many 'r's are in strawberry? 3
**Example 2:** What is the opposite of black? White
**Example 3:** What is the biggest city in California? Los Angeles
**Example 4:** What is the superlative of good? Best
**Example 5:** What are the first 10 numbers in the Fibonacci sequence? 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
**Final answer:**
"""
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
response = client.models.generate_content(
model=model,
contents=[prompt_template]
)
return response.text |