in use-cases/model-fine-tuning-pipeline/data-preparation/gemma-it/src/dataprep.py [0:0]
def generate_qa(context, category):
try:
qa = generate_content(context)
except tenacity.RetryError as e:
logger.error(
f"Exception: {e}, failed to generate content for context: {context}"
)
return None
except Exception as e:
logger.error(
f"Unhandled exception from generate_content: {type(e).__name__}",
exc_info=True,
)
raise
if qa == None:
return None
# Create a DataFrame
temp_df = pd.DataFrame(columns=["Question", "Answer", "Context"])
qa_list = qa.split(";")
# Create a list to hold the data
new_data = []
# Iterate over the QA items
for qa_item in qa_list:
q_a = qa_item.split(":")
if len(q_a) == 2:
ans = q_a[1].strip() + " \n" + extract_product_details(context)
# Append as the list
new_data.append([q_a[0].strip(), ans, f"Online shopping for {category}"])
# Create the DataFrame after collecting all data
temp_df = pd.DataFrame(new_data, columns=temp_df.columns)
return temp_df