SantanuBanerjee commited on
Commit
a0f12e7
·
verified ·
1 Parent(s): 0e54be8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +52 -10
app.py CHANGED
@@ -393,10 +393,13 @@ def generate_project_proposal(prompt):
393
 
394
 
395
 
 
 
396
  def create_project_proposals(budget_cluster_df, problem_cluster_df, location_clusters, problem_clusters):
397
  print("\n Starting function: create_project_proposals")
398
  console_messages.append("\n Starting function: create_project_proposals")
399
  proposals = {}
 
400
  for loc in budget_cluster_df.index:
401
  print("\n loc: ", loc)
402
  console_messages.append(f"\n loc: {loc}")
@@ -408,20 +411,17 @@ def create_project_proposals(budget_cluster_df, problem_cluster_df, location_clu
408
  location = ", ".join([item.strip() for item in location_clusters[loc] if item]) # Clean and join
409
  problem_domain = ", ".join([item.strip() for item in problem_clusters[prob] if item]) # Clean and join
410
  problem_descriptions = problem_cluster_df.loc[loc, prob]
411
- print("location: ",location)
412
- print("problem_domain: ",problem_domain)
413
- print("problem_descriptions: ",problem_descriptions)
414
 
415
- if problem_descriptions:# and not pd.isna(problem_descriptions):
416
-
 
 
 
 
417
  print(f"\nGenerating proposal for location: {location}, problem domain: {problem_domain}")
418
 
419
- # console_messages.append(f"\nGenerating proposal for location: {location}, problem domain: {problem_domain}")
420
-
421
  # Prepare the prompt
422
- problems_summary = "; \n".join(problem_descriptions[:3]) # Limit to first 3 for brevity
423
- # problems_summary = "; ".join(problem_descriptions)
424
- # prompt = f"Generate a project proposal for the following:\n\nLocation: {location}\nProblem Domain: {problem_domain}\nProblems: {problems_summary}\nBudget: ${financial_weight:.2f}\n\nProject Proposal:"
425
  prompt = f"Generate a solution oriented project proposal for the following:\n\nLocation: {location}\nProblem Domain: {problem_domain}\nProblems: {problems_summary}\n\nProject Proposal:"
426
 
427
  proposal = generate_project_proposal(prompt)
@@ -432,6 +432,48 @@ def create_project_proposals(budget_cluster_df, problem_cluster_df, location_clu
432
  print(f"Skipping empty problem descriptions for location: {location}, problem domain: {problem_domain}")
433
 
434
  return proposals
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
435
 
436
 
437
 
 
393
 
394
 
395
 
396
+
397
+
398
  def create_project_proposals(budget_cluster_df, problem_cluster_df, location_clusters, problem_clusters):
399
  print("\n Starting function: create_project_proposals")
400
  console_messages.append("\n Starting function: create_project_proposals")
401
  proposals = {}
402
+
403
  for loc in budget_cluster_df.index:
404
  print("\n loc: ", loc)
405
  console_messages.append(f"\n loc: {loc}")
 
411
  location = ", ".join([item.strip() for item in location_clusters[loc] if item]) # Clean and join
412
  problem_domain = ", ".join([item.strip() for item in problem_clusters[prob] if item]) # Clean and join
413
  problem_descriptions = problem_cluster_df.loc[loc, prob]
 
 
 
414
 
415
+ print("location: ", location)
416
+ print("problem_domain: ", problem_domain)
417
+ print("problem_descriptions: ", problem_descriptions)
418
+
419
+ # Check if problem_descriptions is valid (not NaN and not an empty list)
420
+ if isinstance(problem_descriptions, list) and problem_descriptions:
421
  print(f"\nGenerating proposal for location: {location}, problem domain: {problem_domain}")
422
 
 
 
423
  # Prepare the prompt
424
+ problems_summary = "; \n".join(problem_descriptions) # Join all problem descriptions
 
 
425
  prompt = f"Generate a solution oriented project proposal for the following:\n\nLocation: {location}\nProblem Domain: {problem_domain}\nProblems: {problems_summary}\n\nProject Proposal:"
426
 
427
  proposal = generate_project_proposal(prompt)
 
432
  print(f"Skipping empty problem descriptions for location: {location}, problem domain: {problem_domain}")
433
 
434
  return proposals
435
+
436
+
437
+ # def create_project_proposals(budget_cluster_df, problem_cluster_df, location_clusters, problem_clusters):
438
+ # print("\n Starting function: create_project_proposals")
439
+ # console_messages.append("\n Starting function: create_project_proposals")
440
+ # proposals = {}
441
+ # for loc in budget_cluster_df.index:
442
+ # print("\n loc: ", loc)
443
+ # console_messages.append(f"\n loc: {loc}")
444
+
445
+ # for prob in budget_cluster_df.columns:
446
+ # console_messages.append(f"\n prob: {prob}")
447
+ # print("\n prob: ", prob)
448
+
449
+ # location = ", ".join([item.strip() for item in location_clusters[loc] if item]) # Clean and join
450
+ # problem_domain = ", ".join([item.strip() for item in problem_clusters[prob] if item]) # Clean and join
451
+ # problem_descriptions = problem_cluster_df.loc[loc, prob]
452
+
453
+ # print("location: ",location)
454
+ # print("problem_domain: ",problem_domain)
455
+ # print("problem_descriptions: ",problem_descriptions)
456
+
457
+ # if problem_descriptions:# and not pd.isna(problem_descriptions):
458
+
459
+ # print(f"\nGenerating proposal for location: {location}, problem domain: {problem_domain}")
460
+
461
+ # # console_messages.append(f"\nGenerating proposal for location: {location}, problem domain: {problem_domain}")
462
+
463
+ # # Prepare the prompt
464
+ # problems_summary = "; \n".join(problem_descriptions[:3]) # Limit to first 3 for brevity
465
+ # # problems_summary = "; ".join(problem_descriptions)
466
+ # # prompt = f"Generate a project proposal for the following:\n\nLocation: {location}\nProblem Domain: {problem_domain}\nProblems: {problems_summary}\nBudget: ${financial_weight:.2f}\n\nProject Proposal:"
467
+ # prompt = f"Generate a solution oriented project proposal for the following:\n\nLocation: {location}\nProblem Domain: {problem_domain}\nProblems: {problems_summary}\n\nProject Proposal:"
468
+
469
+ # proposal = generate_project_proposal(prompt)
470
+ # proposals[(loc, prob)] = proposal
471
+ # print("Generated Proposal: ", proposal)
472
+
473
+ # else:
474
+ # print(f"Skipping empty problem descriptions for location: {location}, problem domain: {problem_domain}")
475
+
476
+ # return proposals
477
 
478
 
479