subashpoudel commited on
Commit
a6a0614
·
1 Parent(s): 05626fe

updated analytics

Browse files
api/routers/analytics_chatbot.py CHANGED
@@ -17,10 +17,10 @@ graph = agent.chatbot_graph()
17
 
18
  @router.get("/analytics-chatbot")
19
  def get_analytics(msg:str):
20
- user_query=process_query(msg)
21
- config={"configurable": {"thread_id": "analytics-chatbot-thread"}}
22
  try:
23
- result=graph.invoke({'messages':user_query},config=config)
24
  return {
25
  'response': result['response'],
26
  'endpoint': result['endpoint']
 
17
 
18
  @router.get("/analytics-chatbot")
19
  def get_analytics(msg:str):
20
+ # user_query=process_query(msg)
21
+ config={"configurable": {"thread_id": "analytics-chatbot-thread"},"run_name":"analytics-chatbot"}
22
  try:
23
+ result=graph.invoke({'messages':msg},config=config)
24
  return {
25
  'response': result['response'],
26
  'endpoint': result['endpoint']
api/routers/brainstorm.py CHANGED
@@ -33,7 +33,7 @@ def brainstorming_endpoint(request: BrainstormRequest):
33
  "latest_preferred_topics": request.preferred_topics,
34
  "business_details": stored_data["business_details"],
35
  },
36
- config={"configurable": {"thread_id": request.thread_id}},
37
  stream_mode=['messages','values']
38
  ):
39
  stored_data['brainstorming_response'] = chunk if isinstance(chunk, dict) else stored_data.get('brainstorming_response')
 
33
  "latest_preferred_topics": request.preferred_topics,
34
  "business_details": stored_data["business_details"],
35
  },
36
+ config={"configurable": {"thread_id": request.thread_id},"run_name":"brainstorming"},
37
  stream_mode=['messages','values']
38
  ):
39
  stored_data['brainstorming_response'] = chunk if isinstance(chunk, dict) else stored_data.get('brainstorming_response')
api/routers/context_analysis.py CHANGED
@@ -17,7 +17,8 @@ context_graph = agent.context_analysis_graph()
17
  @router.post("/context-analysis")
18
  def context_analysis(msg: UserMessage):
19
  stored_data['context_analysis_interactions'].append({'role':'human', 'content':msg.message})
20
- config={"configurable": {"thread_id": "context_analysis_1"}}
 
21
  try:
22
  result=context_graph.invoke({'messages':msg.message},config=config)
23
  stored_data['context_analysis_interactions'].append({'role':'ai', 'content':result['messages'][-1].content})
 
17
  @router.post("/context-analysis")
18
  def context_analysis(msg: UserMessage):
19
  stored_data['context_analysis_interactions'].append({'role':'human', 'content':msg.message})
20
+ config={"configurable": {"thread_id": "context_analysis_1"},
21
+ "run_name":"context-analysis"}
22
  try:
23
  result=context_graph.invoke({'messages':msg.message},config=config)
24
  stored_data['context_analysis_interactions'].append({'role':'ai', 'content':result['messages'][-1].content})
api/routers/ideation.py CHANGED
@@ -15,7 +15,7 @@ idea_graph = agent.ideation_graph()
15
 
16
  @router.post("/ideation")
17
  def ideation_endpoint(msg:IdeationMessage):
18
- config={"recursion_limit":25, "configurable": {"thread_id": "ideation_thread123"}}
19
  scores=msg.scores.model_dump()
20
  try:
21
  result = idea_graph.invoke(
 
15
 
16
  @router.post("/ideation")
17
  def ideation_endpoint(msg:IdeationMessage):
18
+ config={"recursion_limit":25, "configurable": {"thread_id": "ideation_thread123"},"run_name":"ideation"}
19
  scores=msg.scores.model_dump()
20
  try:
21
  result = idea_graph.invoke(
api/routers/orchestration.py CHANGED
@@ -16,7 +16,7 @@ graph = agent.orchestration_graph()
16
  @router.post("/orchestration", description="Gives the analytics of influencers.")
17
  def orchestration_endpoint(request:OrchestrationRequest):
18
  try:
19
- config={"configurable": {"thread_id": "orchestration-thread"}}
20
  result = graph.invoke({'messages':[request.message],
21
  'image_base64': request.image_base64}, config=config)
22
  print('Result tools:', result['tools'])
 
16
  @router.post("/orchestration", description="Gives the analytics of influencers.")
17
  def orchestration_endpoint(request:OrchestrationRequest):
18
  try:
19
+ config={"configurable": {"thread_id": "orchestration-thread"},"run_name":"orchestration"}
20
  result = graph.invoke({'messages':[request.message],
21
  'image_base64': request.image_base64}, config=config)
22
  print('Result tools:', result['tools'])
logs/access.log CHANGED
@@ -1281,3 +1281,157 @@
1281
  2025-10-10 15:13:23,414 | INFO | access_logger | app.py:21 | Response status: 200
1282
  2025-10-10 15:14:29,401 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=i%20want%20monthly%20not%20weekly
1283
  2025-10-10 15:15:31,389 | INFO | access_logger | app.py:21 | Response status: 200
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1281
  2025-10-10 15:13:23,414 | INFO | access_logger | app.py:21 | Response status: 200
1282
  2025-10-10 15:14:29,401 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=i%20want%20monthly%20not%20weekly
1283
  2025-10-10 15:15:31,389 | INFO | access_logger | app.py:21 | Response status: 200
1284
+ 2025-10-13 14:18:15,540 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/
1285
+ 2025-10-13 14:18:15,541 | INFO | access_logger | app.py:21 | Response status: 200
1286
+ 2025-10-13 14:18:15,667 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/favicon.ico
1287
+ 2025-10-13 14:18:15,667 | INFO | access_logger | app.py:21 | Response status: 404
1288
+ 2025-10-13 14:18:18,675 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/docs
1289
+ 2025-10-13 14:18:18,676 | INFO | access_logger | app.py:21 | Response status: 200
1290
+ 2025-10-13 14:18:18,798 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/openapi.json
1291
+ 2025-10-13 14:18:18,809 | INFO | access_logger | app.py:21 | Response status: 200
1292
+ 2025-10-13 14:18:33,218 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1293
+ 2025-10-13 14:18:35,990 | INFO | access_logger | app.py:21 | Response status: 200
1294
+ 2025-10-13 14:26:44,751 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1295
+ 2025-10-13 14:26:47,501 | INFO | access_logger | app.py:21 | Response status: 200
1296
+ 2025-10-13 15:24:10,394 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1297
+ 2025-10-13 15:24:16,819 | INFO | access_logger | app.py:21 | Response status: 200
1298
+ 2025-10-14 12:02:20,982 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/
1299
+ 2025-10-14 12:02:20,983 | INFO | access_logger | app.py:21 | Response status: 200
1300
+ 2025-10-14 12:02:21,453 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/favicon.ico
1301
+ 2025-10-14 12:02:21,454 | INFO | access_logger | app.py:21 | Response status: 404
1302
+ 2025-10-14 12:02:24,375 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/docs
1303
+ 2025-10-14 12:02:24,375 | INFO | access_logger | app.py:21 | Response status: 200
1304
+ 2025-10-14 12:02:24,477 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/openapi.json
1305
+ 2025-10-14 12:02:24,485 | INFO | access_logger | app.py:21 | Response status: 200
1306
+ 2025-10-14 12:02:36,829 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1307
+ 2025-10-14 12:02:38,198 | INFO | access_logger | app.py:21 | Response status: 200
1308
+ 2025-10-14 12:03:53,745 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1309
+ 2025-10-14 12:03:55,168 | INFO | access_logger | app.py:21 | Response status: 200
1310
+ 2025-10-14 12:04:14,772 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1311
+ 2025-10-14 12:04:16,324 | INFO | access_logger | app.py:21 | Response status: 200
1312
+ 2025-10-14 12:04:39,777 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1313
+ 2025-10-14 12:04:40,763 | INFO | access_logger | app.py:21 | Response status: 200
1314
+ 2025-10-14 12:04:51,194 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1315
+ 2025-10-14 12:04:51,877 | INFO | access_logger | app.py:21 | Response status: 200
1316
+ 2025-10-14 12:05:02,523 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1317
+ 2025-10-14 12:05:03,312 | INFO | access_logger | app.py:21 | Response status: 200
1318
+ 2025-10-14 12:05:50,104 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1319
+ 2025-10-14 12:05:51,149 | INFO | access_logger | app.py:21 | Response status: 200
1320
+ 2025-10-14 12:06:13,056 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1321
+ 2025-10-14 12:06:14,869 | INFO | access_logger | app.py:21 | Response status: 200
1322
+ 2025-10-14 12:06:58,786 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1323
+ 2025-10-14 12:07:00,184 | INFO | access_logger | app.py:21 | Response status: 200
1324
+ 2025-10-14 12:07:29,357 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1325
+ 2025-10-14 12:07:30,467 | INFO | access_logger | app.py:21 | Response status: 200
1326
+ 2025-10-14 12:07:52,124 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1327
+ 2025-10-14 12:07:53,481 | INFO | access_logger | app.py:21 | Response status: 200
1328
+ 2025-10-14 12:08:22,406 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1329
+ 2025-10-14 12:08:23,690 | INFO | access_logger | app.py:21 | Response status: 200
1330
+ 2025-10-14 12:08:41,849 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1331
+ 2025-10-14 12:08:44,679 | INFO | access_logger | app.py:21 | Response status: 200
1332
+ 2025-10-14 12:16:32,613 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1333
+ 2025-10-14 12:16:34,358 | INFO | access_logger | app.py:21 | Response status: 200
1334
+ 2025-10-14 13:07:22,594 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1335
+ 2025-10-14 13:07:24,821 | INFO | access_logger | app.py:21 | Response status: 200
1336
+ 2025-10-14 13:14:19,421 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1337
+ 2025-10-14 13:14:20,811 | INFO | access_logger | app.py:21 | Response status: 200
1338
+ 2025-10-14 13:17:20,775 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1339
+ 2025-10-14 13:17:23,437 | INFO | access_logger | app.py:21 | Response status: 200
1340
+ 2025-10-14 13:21:40,943 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1341
+ 2025-10-14 13:21:42,704 | INFO | access_logger | app.py:21 | Response status: 200
1342
+ 2025-10-14 13:24:26,786 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1343
+ 2025-10-14 13:24:28,767 | INFO | access_logger | app.py:21 | Response status: 200
1344
+ 2025-10-14 13:24:49,417 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/ideation
1345
+ 2025-10-14 13:25:27,180 | INFO | access_logger | app.py:21 | Response status: 200
1346
+ 2025-10-14 13:32:14,899 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/ideation
1347
+ 2025-10-14 13:32:48,183 | INFO | access_logger | app.py:21 | Response status: 200
1348
+ 2025-10-14 13:35:25,345 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/ideation
1349
+ 2025-10-14 13:36:55,023 | INFO | access_logger | app.py:21 | Response status: 200
1350
+ 2025-10-14 13:48:10,484 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1351
+ 2025-10-14 13:48:13,926 | INFO | access_logger | app.py:21 | Response status: 200
1352
+ 2025-10-14 13:49:09,893 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1353
+ 2025-10-14 13:49:11,939 | INFO | access_logger | app.py:21 | Response status: 200
1354
+ 2025-10-14 13:49:26,762 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1355
+ 2025-10-14 13:49:28,922 | INFO | access_logger | app.py:21 | Response status: 200
1356
+ 2025-10-14 13:49:59,979 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1357
+ 2025-10-14 13:50:02,602 | INFO | access_logger | app.py:21 | Response status: 200
1358
+ 2025-10-14 13:53:11,861 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1359
+ 2025-10-14 13:53:14,230 | INFO | access_logger | app.py:21 | Response status: 200
1360
+ 2025-10-14 13:53:46,297 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1361
+ 2025-10-14 13:53:49,150 | INFO | access_logger | app.py:21 | Response status: 200
1362
+ 2025-10-14 13:54:14,680 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1363
+ 2025-10-14 13:54:17,708 | INFO | access_logger | app.py:21 | Response status: 200
1364
+ 2025-10-14 13:54:54,178 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1365
+ 2025-10-14 13:54:56,735 | INFO | access_logger | app.py:21 | Response status: 200
1366
+ 2025-10-14 13:55:36,204 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/context-analysis
1367
+ 2025-10-14 13:55:42,001 | INFO | access_logger | app.py:21 | Response status: 200
1368
+ 2025-10-14 14:03:00,249 | INFO | access_logger | app.py:19 | Request: POST http://127.0.0.1:8000/api/brainstorm
1369
+ 2025-10-14 14:03:00,253 | INFO | access_logger | app.py:21 | Response status: 200
1370
+ 2025-10-14 15:50:23,408 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=compare%20the%20analytics%20of%20munachiya%20and%20istu%20karki%20in%20weekly%20basis
1371
+ 2025-10-14 15:50:35,565 | INFO | access_logger | app.py:21 | Response status: 200
1372
+ 2025-10-15 13:42:48,759 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/
1373
+ 2025-10-15 13:42:48,760 | INFO | access_logger | app.py:21 | Response status: 200
1374
+ 2025-10-15 13:42:49,261 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/favicon.ico
1375
+ 2025-10-15 13:42:49,262 | INFO | access_logger | app.py:21 | Response status: 404
1376
+ 2025-10-15 13:42:51,660 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/docs
1377
+ 2025-10-15 13:42:51,661 | INFO | access_logger | app.py:21 | Response status: 200
1378
+ 2025-10-15 13:42:51,792 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/openapi.json
1379
+ 2025-10-15 13:42:51,799 | INFO | access_logger | app.py:21 | Response status: 200
1380
+ 2025-10-15 13:43:10,648 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1381
+ 2025-10-15 13:43:18,210 | INFO | access_logger | app.py:21 | Response status: 200
1382
+ 2025-10-15 13:50:14,570 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1383
+ 2025-10-15 13:50:14,692 | INFO | access_logger | app.py:21 | Response status: 200
1384
+ 2025-10-15 13:52:58,082 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1385
+ 2025-10-15 13:53:10,743 | INFO | access_logger | app.py:21 | Response status: 200
1386
+ 2025-10-15 13:54:58,485 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1387
+ 2025-10-15 13:55:01,441 | INFO | access_logger | app.py:21 | Response status: 200
1388
+ 2025-10-15 13:57:41,695 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1389
+ 2025-10-15 13:57:44,156 | INFO | access_logger | app.py:21 | Response status: 200
1390
+ 2025-10-15 14:00:52,633 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1391
+ 2025-10-15 14:00:55,239 | INFO | access_logger | app.py:21 | Response status: 200
1392
+ 2025-10-15 14:02:37,430 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1393
+ 2025-10-15 14:02:38,914 | INFO | access_logger | app.py:21 | Response status: 200
1394
+ 2025-10-15 14:03:59,065 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1395
+ 2025-10-15 14:04:00,676 | INFO | access_logger | app.py:21 | Response status: 200
1396
+ 2025-10-15 14:05:53,275 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1397
+ 2025-10-15 14:05:55,350 | INFO | access_logger | app.py:21 | Response status: 200
1398
+ 2025-10-15 14:06:07,711 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1399
+ 2025-10-15 14:06:08,987 | INFO | access_logger | app.py:21 | Response status: 200
1400
+ 2025-10-15 14:10:44,027 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1401
+ 2025-10-15 14:10:46,491 | INFO | access_logger | app.py:21 | Response status: 200
1402
+ 2025-10-15 14:18:16,145 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1403
+ 2025-10-15 14:18:20,639 | INFO | access_logger | app.py:21 | Response status: 200
1404
+ 2025-10-15 14:40:44,006 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1405
+ 2025-10-15 14:40:52,711 | INFO | access_logger | app.py:21 | Response status: 200
1406
+ 2025-10-15 14:44:49,407 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1407
+ 2025-10-15 14:44:57,594 | INFO | access_logger | app.py:21 | Response status: 200
1408
+ 2025-10-15 14:47:26,428 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20sentiment%20distribution%20of%20divya%20dhakal
1409
+ 2025-10-15 14:47:30,974 | INFO | access_logger | app.py:21 | Response status: 200
1410
+ 2025-10-15 14:52:39,905 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20the%20current%20buzz%20of%20muna%20chiya
1411
+ 2025-10-15 14:52:43,213 | INFO | access_logger | app.py:21 | Response status: 200
1412
+ 2025-10-15 14:56:14,341 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20the%20current%20buzz%20of%20munachiya
1413
+ 2025-10-15 14:56:18,402 | INFO | access_logger | app.py:21 | Response status: 200
1414
+ 2025-10-15 14:56:48,683 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20the%20current%20buzz%20of%20divya%20dhakal
1415
+ 2025-10-15 14:56:51,714 | INFO | access_logger | app.py:21 | Response status: 200
1416
+ 2025-10-15 15:09:06,685 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20the%20current%20buzz%20of%20muna%20chiya
1417
+ 2025-10-15 15:09:17,509 | INFO | access_logger | app.py:21 | Response status: 200
1418
+ 2025-10-15 15:10:32,317 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20the%20current%20buzz%20of%20munachiya
1419
+ 2025-10-15 15:10:35,747 | INFO | access_logger | app.py:21 | Response status: 200
1420
+ 2025-10-15 15:14:03,029 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20the%20current%20buzz%20of%20muna%20chiya
1421
+ 2025-10-15 15:14:06,397 | INFO | access_logger | app.py:21 | Response status: 200
1422
+ 2025-10-15 15:14:13,203 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20the%20current%20buzz%20of%20munachiya
1423
+ 2025-10-15 15:14:18,248 | INFO | access_logger | app.py:21 | Response status: 200
1424
+ 2025-10-15 15:40:30,485 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20to%20compare%20the%20analytics%20of%20muna%20and%20divya%20in%20weekly%20basis
1425
+ 2025-10-15 15:40:38,739 | INFO | access_logger | app.py:21 | Response status: 200
1426
+ 2025-10-15 15:42:49,310 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20to%20compare%20the%20analytics%20of%20munachiya%20and%20divyadhakal_%20on%20a%20weekly%20basis.
1427
+ 2025-10-15 15:42:52,373 | INFO | access_logger | app.py:21 | Response status: 200
1428
+ 2025-10-15 16:26:54,690 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20to%20compare%20the%20analytics%20of%20munachiya%20and%20divyadhakal_%20on%20a%20weekly%20basis.
1429
+ 2025-10-15 16:26:57,515 | INFO | access_logger | app.py:21 | Response status: 200
1430
+ 2025-10-15 16:46:06,571 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=I%20want%20to%20compare%20the%20analytics%20of%20munachiya%20and%20divyadhakal_%20on%20a%20weekly%20basis.
1431
+ 2025-10-15 16:46:19,173 | INFO | access_logger | app.py:21 | Response status: 200
1432
+ 2025-10-15 16:55:21,757 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=compare%20the%20analytics%20of%20munachiya%20and%20divyadhakal_%20on%20a%20weekly%20basis.
1433
+ 2025-10-15 16:55:33,602 | INFO | access_logger | app.py:21 | Response status: 200
1434
+ 2025-10-15 16:57:19,291 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=What%20about%20the%20daily%20engagement%20of%20divya%20dhakal%3F
1435
+ 2025-10-15 16:57:29,402 | INFO | access_logger | app.py:21 | Response status: 200
1436
+ 2025-10-15 17:01:48,682 | INFO | access_logger | app.py:19 | Request: GET http://127.0.0.1:8000/api/analytics-chatbot?msg=compare%20munachiya%20and%20divyadhakal_
1437
+ 2025-10-15 17:01:53,796 | INFO | access_logger | app.py:21 | Response status: 200
logs/app.log CHANGED
@@ -126,3 +126,9 @@
126
  2025-09-21 10:35:07,705 | INFO | app_logger | api/routers/orchestration.py:28 | Orchestrator executed
127
  2025-10-09 15:07:54,561 | INFO | app_logger | api/routers/show_analytics.py:14 | Influencer Analytics returned by orchestrator.
128
  2025-10-09 16:48:20,026 | INFO | app_logger | api/routers/show_analytics.py:14 | Influencer Analytics returned by orchestrator.
 
 
 
 
 
 
 
126
  2025-09-21 10:35:07,705 | INFO | app_logger | api/routers/orchestration.py:28 | Orchestrator executed
127
  2025-10-09 15:07:54,561 | INFO | app_logger | api/routers/show_analytics.py:14 | Influencer Analytics returned by orchestrator.
128
  2025-10-09 16:48:20,026 | INFO | app_logger | api/routers/show_analytics.py:14 | Influencer Analytics returned by orchestrator.
129
+ 2025-10-14 12:08:44,677 | INFO | app_logger | api/routers/context_analysis.py:26 | Context Analysis Completed.
130
+ 2025-10-14 13:25:27,179 | INFO | app_logger | api/routers/ideation.py:33 | Executed the ideation pipeline.
131
+ 2025-10-14 13:32:48,182 | INFO | app_logger | api/routers/ideation.py:33 | Executed the ideation pipeline.
132
+ 2025-10-14 13:36:55,021 | INFO | app_logger | api/routers/ideation.py:33 | Executed the ideation pipeline.
133
+ 2025-10-14 13:55:41,999 | INFO | app_logger | api/routers/context_analysis.py:27 | Context Analysis Completed.
134
+ 2025-10-14 14:03:00,252 | INFO | app_logger | api/routers/brainstorm.py:42 | Executed brainstorming agent.
src/genai/analytics_chatbot/agent.py CHANGED
@@ -1,7 +1,7 @@
1
  from langgraph.graph import StateGraph, START, END
2
  from langgraph.checkpoint.memory import MemorySaver
3
  from .utils.state import State
4
- from .utils.nodes import ChatbotNode, FetchDataNode
5
 
6
  class ChatbotAgent:
7
  def __init__(self):
@@ -9,11 +9,17 @@ class ChatbotAgent:
9
 
10
  def chatbot_graph(self):
11
  graph_builder= StateGraph(State)
12
- graph_builder.add_node("chatbot", ChatbotNode().run)
 
 
 
13
  graph_builder.add_node("fetch_data", FetchDataNode().run)
14
 
15
- graph_builder.add_edge(START, "chatbot")
16
- graph_builder.add_edge("chatbot", 'fetch_data')
 
 
 
17
  graph_builder.add_edge("fetch_data", END)
18
 
19
 
 
1
  from langgraph.graph import StateGraph, START, END
2
  from langgraph.checkpoint.memory import MemorySaver
3
  from .utils.state import State
4
+ from .utils.nodes import ChatbotNode, FetchDataNode , FetchLastMessage , RetrievePossibleEndpoints , FetchParametersNode , RetrieveExactEndpoint
5
 
6
  class ChatbotAgent:
7
  def __init__(self):
 
9
 
10
  def chatbot_graph(self):
11
  graph_builder= StateGraph(State)
12
+ graph_builder.add_node("fetch_last_message", FetchLastMessage().run)
13
+ graph_builder.add_node("retrieve_api_endpoints", RetrievePossibleEndpoints().run)
14
+ graph_builder.add_node("retrieve_exact_endpoint", RetrieveExactEndpoint().run)
15
+ graph_builder.add_node("fetch_parameters", FetchParametersNode().run)
16
  graph_builder.add_node("fetch_data", FetchDataNode().run)
17
 
18
+ graph_builder.add_edge(START, "fetch_last_message")
19
+ graph_builder.add_edge("fetch_last_message", 'retrieve_api_endpoints')
20
+ graph_builder.add_edge("retrieve_api_endpoints", 'retrieve_exact_endpoint')
21
+ graph_builder.add_edge("retrieve_exact_endpoint", 'fetch_parameters')
22
+ graph_builder.add_edge("fetch_parameters", 'fetch_data')
23
  graph_builder.add_edge("fetch_data", END)
24
 
25
 
src/genai/analytics_chatbot/utils/nodes.py CHANGED
@@ -1,10 +1,96 @@
1
  import requests
2
  from langchain_core.messages import SystemMessage , HumanMessage , FunctionMessage
3
  from .state import State
4
- from .schemas import ResponseFormatter , CompareBodyFormatter
5
- from .prompts import chatbot_prompt , get_body_prompt
6
- from .utils import generate_api_knowledge
7
  from src.genai.utils.models_loader import llm_gpt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
  class ChatbotNode:
10
  def __init__(self):
@@ -12,7 +98,6 @@ class ChatbotNode:
12
 
13
  def run(self, state:State):
14
  print('Message:',state['messages'])
15
- # state['messages'][-1].content = process_query(state['messages'][-1].content)
16
  template = chatbot_prompt()
17
  knowledge_base = generate_api_knowledge('https://reveltrends.vercel.app')
18
  print('The knowledge base is:', knowledge_base)
@@ -45,11 +130,9 @@ class FetchDataNode:
45
  print('Entered to fetch data')
46
  url = f'''{self.base_url}{state['endpoint']}'''
47
  if state['method'] == 'GET':
48
- response = requests.get(url, params=state['parameters'],headers=self.headers)
49
  elif state['endpoint'] == '/api/v1/compare/':
50
  print('Condition satisfied')
51
- human_messages = [msg.content for msg in state['messages'] if isinstance(msg, HumanMessage)]
52
- print('Human messages:', human_messages)
53
  messages = [SystemMessage(content=get_body_prompt()),
54
  HumanMessage(content=str(state['messages']))]
55
  response=llm_gpt.with_structured_output(CompareBodyFormatter , method='function_calling').invoke(messages)
 
1
  import requests
2
  from langchain_core.messages import SystemMessage , HumanMessage , FunctionMessage
3
  from .state import State
4
+ from .schemas import ResponseFormatter , CompareBodyFormatter, LatestMessageFormatter, ParameterFormatter, EndpointFormatter
5
+ from .prompts import chatbot_prompt , get_body_prompt , fetch_last_message_prompt , fetch_parameters_prompt, fetch_endpoint_prompt
6
+ from .utils import generate_api_knowledge , process_query, get_endpoint_info
7
  from src.genai.utils.models_loader import llm_gpt
8
+ import numpy as np
9
+ from src.genai.utils.data_loader import api_knowledge_df, api_index
10
+ from src.genai.utils.models_loader import embedding_model
11
+
12
+ class FetchLastMessage:
13
+ def __init__(self):
14
+ self.llm = llm_gpt
15
+
16
+ def run (self, state:State):
17
+ print('Message:',state['messages'])
18
+ template = fetch_last_message_prompt
19
+ messages=[SystemMessage(content=template)]+state['messages']
20
+ result = self.llm.with_structured_output(LatestMessageFormatter, method='function_calling').invoke(messages)
21
+ print('Latest Message:', process_query(result.latest_message))
22
+ if len(state['messages'])>11:
23
+ state["messages"] = state["messages"][-9:]
24
+ return {
25
+ 'latest_message': process_query(result.latest_message)
26
+ }
27
+
28
+
29
+ class RetrievePossibleEndpoints:
30
+ def __init__(self):
31
+ self.df = api_knowledge_df
32
+ self.index = api_index
33
+ self.results = []
34
+
35
+ def run(self,state:State):
36
+ query_embedding = np.array(embedding_model.embed_query(state['latest_message'])).reshape(1, -1).astype('float32')
37
+ distances, indices = self.index.search(query_embedding, 5)
38
+ for idx in indices[0]:
39
+ row = self.df.iloc[idx]
40
+ print('Endpoint:',row['endpoint'])
41
+ self.results.append(row['endpoint'])
42
+ print('The possible endpoints are:', self.results)
43
+ return {
44
+ "possible_endpoints": self.results,
45
+ }
46
+
47
+ class RetrieveExactEndpoint:
48
+ def __init__(self):
49
+ self.llm = llm_gpt
50
+
51
+ def run(self,state:State):
52
+ messages = [SystemMessage(content=fetch_endpoint_prompt),
53
+ FunctionMessage(name='possible_endpoints',content=f'''The possible endpoints are: {state['possible_endpoints']}'''),
54
+ HumanMessage(content=f'''The user query is: {state['latest_message']}''')]
55
+
56
+ result = self.llm.with_structured_output(EndpointFormatter, method='function_calling').invoke(messages)
57
+ print('The exact endpoint is:', result.endpoint)
58
+ endpoint_info=get_endpoint_info(result.endpoint)
59
+ print('The endpoint info is:', endpoint_info)
60
+
61
+ return {
62
+ "messages":[{"role": "assistant", "content": f'''The endpoint is: {result.endpoint}'''}],
63
+ "endpoint": result.endpoint,
64
+ "method": endpoint_info['method'],
65
+ "needed_parameters": endpoint_info["parameters"]
66
+ }
67
+
68
+
69
+ class FetchParametersNode:
70
+ def __init__(self):
71
+ self.llm = llm_gpt
72
+
73
+ def run(self , state:State):
74
+ print('Entered to fetch parameters')
75
+ print(state['method'])
76
+ if state['method'] == 'GET':
77
+ print('Condition satisfied')
78
+ template = fetch_parameters_prompt
79
+ messages=[SystemMessage(content=template),
80
+ HumanMessage(content=f'''The query is: {state['latest_message']}\n. The needed parameters: {str(state['needed_parameters'])}''')
81
+ ]
82
+ print('messages:', messages)
83
+ result = self.llm.with_structured_output(ParameterFormatter, method='function_calling').invoke(messages)
84
+ print('The parameter values:', result)
85
+ return {
86
+ 'parameters_values':result.parameters_values
87
+ }
88
+ else:
89
+ return{
90
+ 'parameters_values': {}
91
+ }
92
+
93
+
94
 
95
  class ChatbotNode:
96
  def __init__(self):
 
98
 
99
  def run(self, state:State):
100
  print('Message:',state['messages'])
 
101
  template = chatbot_prompt()
102
  knowledge_base = generate_api_knowledge('https://reveltrends.vercel.app')
103
  print('The knowledge base is:', knowledge_base)
 
130
  print('Entered to fetch data')
131
  url = f'''{self.base_url}{state['endpoint']}'''
132
  if state['method'] == 'GET':
133
+ response = requests.get(url, params=state['parameters_values'],headers=self.headers)
134
  elif state['endpoint'] == '/api/v1/compare/':
135
  print('Condition satisfied')
 
 
136
  messages = [SystemMessage(content=get_body_prompt()),
137
  HumanMessage(content=str(state['messages']))]
138
  response=llm_gpt.with_structured_output(CompareBodyFormatter , method='function_calling').invoke(messages)
src/genai/analytics_chatbot/utils/prompts.py CHANGED
@@ -65,3 +65,50 @@ Then the expected output is:
65
  }
66
  '''
67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
66
  '''
67
 
68
+ fetch_last_message_prompt = '''
69
+ You are a precise text extractor. You are given the entire conversation history between a user and an AI.
70
+ Your task is to identify and return ONLY the user's most recent message, rewritten as a clear, complete sentence.
71
+ Do not include any other part of the conversation.
72
+ If the last message is incomplete or shorthand, infer the intended full meaning in natural language.
73
+ If there is only one message return it as it is.
74
+ Return only the final message as plain text — no explanations or extra text.
75
+
76
+ Example:
77
+ Conversation history:
78
+ User: I want analytics of divya dhakal.
79
+ AI: Sure, here are the analytics for Divya Dhakal.
80
+ User: Now i want of munachiya
81
+
82
+ Output:
83
+ I want analytics of Munachiya.
84
+
85
+ '''
86
+
87
+ fetch_parameters_prompt= '''
88
+ You are an intelligent parameter extractor.
89
+ Given a user query and a list of needed parameters, return a Python dictionary assigning the best value for each parameter.
90
+ Infer values when possible (e.g., “weekly” → frequency).
91
+ Return only a valid Python dictionary — no explanations.
92
+
93
+ Example:
94
+ user_query: I want weekly engagement trend of @john_
95
+ needed_parameters: ['frequency', 'influencer_username']
96
+ parameters_values: {'frequency': 'weekly', 'influencer_username': '@john_'}
97
+
98
+ '''
99
+
100
+ fetch_endpoint_prompt = '''
101
+ You are an intelligent endpoint selector.
102
+ Given a user query in natural language and a list of possible endpoints, select the single most appropriate endpoint from the list.
103
+
104
+ Guidelines:
105
+ - Only choose from the provided list; do not invent endpoints.
106
+ - Consider the intent of the query and the purpose of each endpoint.
107
+ - Return only the endpoint as plain text, no explanations.
108
+
109
+ Example:
110
+ User Query: I want weekly engagement stats of John
111
+ Possible Endpoints: ['/api/v1/overview/buzz_trend', '/api/v1/analytics/engagement', '/api/v1/analytics/followers']
112
+ endpoint: /api/v1/analytics/engagement
113
+
114
+ '''
src/genai/analytics_chatbot/utils/schemas.py CHANGED
@@ -11,4 +11,14 @@ class ResponseFormatter(BaseModel):
11
 
12
  class CompareBodyFormatter(BaseModel):
13
  names: list
14
- frequency: str
 
 
 
 
 
 
 
 
 
 
 
11
 
12
  class CompareBodyFormatter(BaseModel):
13
  names: list
14
+ frequency: str
15
+
16
+ class LatestMessageFormatter(BaseModel):
17
+ latest_message:str
18
+
19
+ class ParameterFormatter(BaseModel):
20
+ parameters_values:Optional[Dict[str, Optional[Any]]] = Field(None)
21
+
22
+ class EndpointFormatter(BaseModel):
23
+ endpoint: str
24
+
src/genai/analytics_chatbot/utils/state.py CHANGED
@@ -4,8 +4,11 @@ from langgraph.graph.message import add_messages
4
 
5
  class State(TypedDict):
6
  messages: Annotated[list, add_messages]
 
7
  endpoint: str
8
  method: str
9
- parameters: dict
10
  response:dict
11
- error_message:str
 
 
 
4
 
5
  class State(TypedDict):
6
  messages: Annotated[list, add_messages]
7
+ possible_endpoints:list
8
  endpoint: str
9
  method: str
10
+ needed_parameters: dict
11
  response:dict
12
+ error_message:str
13
+ latest_message:str
14
+ parameters_values:str
src/genai/analytics_chatbot/utils/tools.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import numpy as np
3
+ from src.genai.utils.data_loader import api_knowledge_df, api_index
4
+ from src.genai.utils.models_loader import embedding_model
5
+
6
+ class APIKnowledgeRetrieveTool:
7
+ def __init__(self):
8
+ self.df = api_knowledge_df
9
+ self.index = api_index
10
+
11
+ def retrieve(self,query):
12
+ query_embedding = np.array(embedding_model.embed_query(query)).reshape(1, -1).astype('float32')
13
+ distances, indices = self.index.search(query_embedding, 1)
14
+ row=self.df.iloc[indices[0]]
15
+ data = {'endpoint':row['endpoint'],
16
+ 'method':row['method'],
17
+ 'parameters':row['parameters']}
18
+ return data
19
+
20
+
21
+
22
+
23
+
24
+
src/genai/analytics_chatbot/utils/utils.py CHANGED
@@ -2,6 +2,40 @@ import requests
2
  import json
3
  import re
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  def generate_api_knowledge(base_url: str):
6
  """
7
  Fetches FastAPI OpenAPI docs and summarizes endpoints, methods, parameters, and descriptions.
@@ -41,7 +75,7 @@ def generate_api_knowledge(base_url: str):
41
  "endpoint": endpoint,
42
  "method": method.upper(),
43
  "parameters": params,
44
- "description": description
45
  })
46
 
47
  return api_knowledge
@@ -85,4 +119,7 @@ def process_query(user_query: str) -> str:
85
  pattern = r"\b" + re.escape(name) + r"\b"
86
  processed = re.sub(pattern, expanded[name], processed, flags=re.IGNORECASE)
87
 
88
- return processed
 
 
 
 
2
  import json
3
  import re
4
 
5
+ def get_endpoint_info( endpoint:str ,base_url="https://reveltrends.vercel.app/"):
6
+ """
7
+ Fetches FastAPI OpenAPI docs for a specific endpoint.
8
+ Returns a dictionary with method and parameters.
9
+ """
10
+ resp = requests.get(f"{base_url}/openapi.json")
11
+ resp.raise_for_status()
12
+ spec = resp.json()
13
+
14
+ if endpoint not in spec["paths"]:
15
+ return {"error": "Endpoint not found"}
16
+
17
+ # Take the first method for the endpoint
18
+ for method, details in spec["paths"][endpoint].items():
19
+ params = []
20
+
21
+ # Collect query/path parameters
22
+ for param in details.get("parameters", []):
23
+ params.append(param.get("name"))
24
+
25
+ # Collect requestBody parameters
26
+ if "requestBody" in details:
27
+ try:
28
+ body_schema = details["requestBody"]["content"]["application/json"]["schema"]
29
+ if "properties" in body_schema:
30
+ params.extend(body_schema["properties"].keys())
31
+ except Exception:
32
+ pass
33
+
34
+ # Return only one method and its parameters
35
+ return {"method": method.upper(), "parameters": params}
36
+
37
+ return {"error": "No method found for endpoint"}
38
+
39
  def generate_api_knowledge(base_url: str):
40
  """
41
  Fetches FastAPI OpenAPI docs and summarizes endpoints, methods, parameters, and descriptions.
 
75
  "endpoint": endpoint,
76
  "method": method.upper(),
77
  "parameters": params,
78
+ # "description": description
79
  })
80
 
81
  return api_knowledge
 
119
  pattern = r"\b" + re.escape(name) + r"\b"
120
  processed = re.sub(pattern, expanded[name], processed, flags=re.IGNORECASE)
121
 
122
+ return processed
123
+
124
+
125
+
src/genai/brainstroming_agent/utils/utils.py CHANGED
@@ -10,12 +10,14 @@ from .prompts import story_to_prompt , final_story_prompt
10
  import os
11
  from langgraph.prebuilt import create_react_agent
12
  from src.genai.utils.models_loader import llm_gpt, image_generation_model
 
13
 
14
  class FinalStoryGenenrator:
15
  def __init__(self):
16
  self.llm = llm_gpt
17
  self.agent = create_react_agent(model=llm_gpt,tools=[])
18
-
 
19
  def generate_final_story(self,final_state):
20
  if 'preferred_topics' in final_state:
21
  if len(final_state['preferred_topics'])>0:
@@ -53,6 +55,7 @@ class ImageGenerator:
53
  prompt = self.llm.invoke(messages)
54
  return prompt.content
55
 
 
56
  def generate_image(self,final_story, business_details, refined_ideation):
57
  prompt = self.generate_prompt(final_story, business_details, refined_ideation)
58
  client = InferenceClient(provider="hf-inference",api_key=os.environ.get('HUGGINGFACEHUB_ACCESS_TOKEN'))
 
10
  import os
11
  from langgraph.prebuilt import create_react_agent
12
  from src.genai.utils.models_loader import llm_gpt, image_generation_model
13
+ from langsmith import traceable
14
 
15
  class FinalStoryGenenrator:
16
  def __init__(self):
17
  self.llm = llm_gpt
18
  self.agent = create_react_agent(model=llm_gpt,tools=[])
19
+
20
+ @traceable(name="final-story")
21
  def generate_final_story(self,final_state):
22
  if 'preferred_topics' in final_state:
23
  if len(final_state['preferred_topics'])>0:
 
55
  prompt = self.llm.invoke(messages)
56
  return prompt.content
57
 
58
+ @traceable(name="image-generation")
59
  def generate_image(self,final_story, business_details, refined_ideation):
60
  prompt = self.generate_prompt(final_story, business_details, refined_ideation)
61
  client = InferenceClient(provider="hf-inference",api_key=os.environ.get('HUGGINGFACEHUB_ACCESS_TOKEN'))
src/genai/context_analysis_agent/agent.py CHANGED
@@ -2,6 +2,7 @@ from langgraph.graph import StateGraph, START, END
2
  from langgraph.checkpoint.memory import MemorySaver
3
  from .utils.state import State
4
  from .utils.nodes import IntroductionNode
 
5
 
6
 
7
  class ContextAnalysisAgent:
 
2
  from langgraph.checkpoint.memory import MemorySaver
3
  from .utils.state import State
4
  from .utils.nodes import IntroductionNode
5
+ import os
6
 
7
 
8
  class ContextAnalysisAgent:
src/genai/context_analysis_agent/utils/nodes.py CHANGED
@@ -1,13 +1,16 @@
 
1
  from langchain_core.messages import SystemMessage
2
  from src.genai.utils.models_loader import llm_gpt
3
  from .prompts import introduction_prompt
4
  from .state import ConversationFormatter, State
 
5
 
6
 
7
  class IntroductionNode:
8
  def __init__(self):
9
  self.llm = llm_gpt
10
-
 
11
  def run(self, state:State):
12
  template = introduction_prompt
13
  messages = [SystemMessage(content=template)] + state["messages"]
 
1
+ import os
2
  from langchain_core.messages import SystemMessage
3
  from src.genai.utils.models_loader import llm_gpt
4
  from .prompts import introduction_prompt
5
  from .state import ConversationFormatter, State
6
+ from langsmith import traceable
7
 
8
 
9
  class IntroductionNode:
10
  def __init__(self):
11
  self.llm = llm_gpt
12
+
13
+ @traceable(name="details collection")
14
  def run(self, state:State):
15
  template = introduction_prompt
16
  messages = [SystemMessage(content=template)] + state["messages"]
src/genai/context_analysis_agent/utils/utils.py CHANGED
@@ -4,12 +4,14 @@ from src.genai.utils.models_loader import llm_gpt
4
  from .prompts import details_extract_prompt
5
  from langchain_core.messages import SystemMessage, HumanMessage
6
  from .state import DetailsFormatter
 
7
 
8
  class DetailsExtractorNode:
9
  def __init__(self, interactions):
10
  self.llm = llm_gpt
11
  self.interactions = interactions
12
-
 
13
  def run(self):
14
  template = details_extract_prompt()
15
  messages = [SystemMessage(content=template), HumanMessage(content=str(self.interactions))]
 
4
  from .prompts import details_extract_prompt
5
  from langchain_core.messages import SystemMessage, HumanMessage
6
  from .state import DetailsFormatter
7
+ from langsmith import traceable
8
 
9
  class DetailsExtractorNode:
10
  def __init__(self, interactions):
11
  self.llm = llm_gpt
12
  self.interactions = interactions
13
+
14
+ @traceable(name="details extraction")
15
  def run(self):
16
  template = details_extract_prompt()
17
  messages = [SystemMessage(content=template), HumanMessage(content=str(self.interactions))]
src/genai/ideation_agent/agent.py CHANGED
@@ -2,6 +2,8 @@ from langgraph.graph import StateGraph, START, END , MessagesState
2
  from .utils.state import State
3
  from .utils.nodes import RetrieverNode, IdeatorNode , ModeratorNode ,NormalizerNode, ValidatorNode , RoutingAfterValidation, JudgeNode1 , JudgeNode2, Aggregrator, SimplifierNode
4
  from langgraph.checkpoint.memory import MemorySaver
 
 
5
 
6
  class IdeationAgent:
7
  def __init__(self):
 
2
  from .utils.state import State
3
  from .utils.nodes import RetrieverNode, IdeatorNode , ModeratorNode ,NormalizerNode, ValidatorNode , RoutingAfterValidation, JudgeNode1 , JudgeNode2, Aggregrator, SimplifierNode
4
  from langgraph.checkpoint.memory import MemorySaver
5
+ import os
6
+
7
 
8
  class IdeationAgent:
9
  def __init__(self):
src/genai/ideation_agent/utils/nodes.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  import pandas as pd
2
  from .state import State , ValidationFormatter , CriticResponseFormatter
3
  from .tools import Retrieval
@@ -8,6 +10,7 @@ from .prompts import ideator_prompt ,critic_prompt, moderator_prompt , validator
8
  from .schemas import ideation_json_schema , judge_response_json_schema
9
 
10
 
 
11
  class RetrieverNode:
12
  def __init__(self):
13
  pass
 
1
+
2
+ import os
3
  import pandas as pd
4
  from .state import State , ValidationFormatter , CriticResponseFormatter
5
  from .tools import Retrieval
 
10
  from .schemas import ideation_json_schema , judge_response_json_schema
11
 
12
 
13
+
14
  class RetrieverNode:
15
  def __init__(self):
16
  pass
src/genai/orchestration_agent/utils/utils.py CHANGED
@@ -7,6 +7,7 @@ from .prompts import captioning_prompt
7
  from langchain_core.messages import FunctionMessage , AIMessage
8
  from .tools import InfluencerRetrievalTool
9
  import re
 
10
 
11
  class ImageCaptioner:
12
  def __init__(self, api_key=os.environ.get('GROQ_API_KEY')):
@@ -43,6 +44,7 @@ class AnalyticsViewer:
43
  def __init__(self, business_details):
44
  self.business_details = business_details
45
 
 
46
  def show_analytics(self):
47
  tool_response = InfluencerRetrievalTool().retrieve_for_analytics(str(self.business_details))
48
  return tool_response
 
7
  from langchain_core.messages import FunctionMessage , AIMessage
8
  from .tools import InfluencerRetrievalTool
9
  import re
10
+ from langsmith import traceable
11
 
12
  class ImageCaptioner:
13
  def __init__(self, api_key=os.environ.get('GROQ_API_KEY')):
 
44
  def __init__(self, business_details):
45
  self.business_details = business_details
46
 
47
+ @traceable(name="influencer_analytics")
48
  def show_analytics(self):
49
  tool_response = InfluencerRetrievalTool().retrieve_for_analytics(str(self.business_details))
50
  return tool_response
src/genai/utils/data_loader.py CHANGED
@@ -12,6 +12,7 @@ class DataLoader:
12
  def __init__(self):
13
  self.caption_dataset = load_dataset("DvorakInnovationAI/rt-genai-dataset-v1", revision="openai-embeddings")
14
  self.ideas_dataset = load_dataset("DvorakInnovationAI/rt-genai-imdb-ideas-v1", revision='openai-embeddings')
 
15
 
16
  def _load_vector_index(self , dataset):
17
  df = dataset["train"].to_pandas()
@@ -27,6 +28,9 @@ class DataLoader:
27
 
28
  def load_imdb_ideas(self):
29
  return self._load_vector_index(self.ideas_dataset)
 
 
 
30
 
31
  try:
32
  data_loader = DataLoader()
@@ -39,6 +43,7 @@ except Exception as e:
39
  try:
40
  caption_df, caption_embeddings, caption_index = data_loader.load_caption()
41
  ideas_df , ideas_embeddings , ideas_index = data_loader.load_imdb_ideas()
 
42
  app_logger.info('Loaded the embeddings.')
43
 
44
  except Exception as e:
 
12
  def __init__(self):
13
  self.caption_dataset = load_dataset("DvorakInnovationAI/rt-genai-dataset-v1", revision="openai-embeddings")
14
  self.ideas_dataset = load_dataset("DvorakInnovationAI/rt-genai-imdb-ideas-v1", revision='openai-embeddings')
15
+ self.api_knowledge_dataset = load_dataset("subashdvorak/api-kb-analytics", revision="openai-embeddings")
16
 
17
  def _load_vector_index(self , dataset):
18
  df = dataset["train"].to_pandas()
 
28
 
29
  def load_imdb_ideas(self):
30
  return self._load_vector_index(self.ideas_dataset)
31
+
32
+ def load_api_knowledge(self):
33
+ return self._load_vector_index(self.api_knowledge_dataset)
34
 
35
  try:
36
  data_loader = DataLoader()
 
43
  try:
44
  caption_df, caption_embeddings, caption_index = data_loader.load_caption()
45
  ideas_df , ideas_embeddings , ideas_index = data_loader.load_imdb_ideas()
46
+ api_knowledge_df , api_embeddings , api_index = data_loader.load_api_knowledge()
47
  app_logger.info('Loaded the embeddings.')
48
 
49
  except Exception as e:
src/genai/utils/ideas/ideas.csv CHANGED
@@ -1,5 +1,5 @@
1
- ,Unnamed: 0.28,Unnamed: 0.27,Unnamed: 0.26,Unnamed: 0.25,Unnamed: 0.24,Unnamed: 0.23,Unnamed: 0.22,Unnamed: 0.21,Unnamed: 0.20,Unnamed: 0.19,Unnamed: 0.18,Unnamed: 0.17,Unnamed: 0.16,Unnamed: 0.15,Unnamed: 0.14,Unnamed: 0.13,Unnamed: 0.12,Unnamed: 0.11,Unnamed: 0.10,Unnamed: 0.9,Unnamed: 0.8,Unnamed: 0.7,Unnamed: 0.6,Unnamed: 0.5,Unnamed: 0.4,Unnamed: 0.3,Unnamed: 0.2,Unnamed: 0.1,Unnamed: 0,BusinessDetails,Ideas
2
- 0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","[
3
  {
4
  ""title"": ""Room Reveal"",
5
  ""one_line_description"": ""Plain room, bold sofa, hidden storage pops out in seconds."",
@@ -57,7 +57,7 @@
57
  ""niche"": ""Families hosting guests in small apartments""
58
  }
59
  ]"
60
- 1,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
61
  [
62
  {
63
  ""title"": ""Swap Old Furniture"",
@@ -117,7 +117,7 @@
117
  }
118
  ]
119
  ```"
120
- 2,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
121
  [
122
  {
123
  ""title"": ""Furniture Makeover"",
@@ -177,7 +177,7 @@
177
  }
178
  ]
179
  ```"
180
- 3,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
181
  [
182
  {
183
  ""title"": ""Furniture Flip Challenge"",
@@ -237,7 +237,7 @@
237
  }
238
  ]
239
  ```"
240
- 4,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
241
  [
242
  {
243
  ""title"": ""Room Transformation"",
@@ -297,7 +297,7 @@
297
  }
298
  ]
299
  ```"
300
- 5,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
301
  [
302
  {
303
  ""title"": ""Flip, Fold, Relax"",
@@ -357,7 +357,7 @@
357
  }
358
  ]
359
  ```"
360
- 6,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
361
  [
362
  {
363
  ""title"": ""Room in a Minute"",
@@ -425,7 +425,7 @@
425
  }
426
  ]
427
  ```"
428
- 7,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
429
  [
430
  {
431
  ""title"": ""Turn a Room into a Cozy Oasis"",
@@ -493,7 +493,7 @@
493
  }
494
  ]
495
  ```"
496
- 8,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,,,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
497
  [
498
  {
499
  ""title"": ""Flip & Reveal"",
@@ -561,7 +561,7 @@
561
  }
562
  ]
563
  ```"
564
- 9,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,,,,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
565
  [
566
  {
567
  ""title"": ""Quick Room Makeover"",
@@ -629,7 +629,7 @@
629
  }
630
  ]
631
  ```"
632
- 10,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,,,,,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","Here are the 8 unique, creative, and feasible TikTok and Instagram Reels video ideas for the furniture and home appliances store, simplified for easy understanding:
633
 
634
  ```json
635
  [
@@ -699,7 +699,7 @@
699
  }
700
  ]
701
  ```"
702
- 11,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
703
  [
704
  {
705
  ""title"": ""Gear Up Challenge"",
@@ -767,7 +767,7 @@
767
  }
768
  ]
769
  ```"
770
- 12,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
771
  [
772
  {
773
  ""title"": ""Get Ready for Adventure"",
@@ -835,7 +835,7 @@
835
  }
836
  ]
837
  ```"
838
- 13,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
839
  [
840
  {
841
  ""title"": ""Trek Test"",
@@ -903,7 +903,7 @@
903
  }
904
  ]
905
  ```"
906
- 14,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
907
  {
908
  ""title"": ""Gear Drop Test"",
909
  ""one_line_description"": ""Drop the backpack from a balcony onto grass and see it stay whole."",
@@ -969,7 +969,7 @@
969
  ""metaphor"": ""Pocket as a treasure chest.""
970
  }
971
  ]"
972
- 15,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
973
  {
974
  ""title"": ""Rain Test"",
975
  ""one_line_description"": ""Pour a bucket of water on a jacket and shoes, then reveal they stay dry."",
@@ -1035,7 +1035,7 @@
1035
  ""metaphor"": ""Shoe = a bridge that spans any terrain.""
1036
  }
1037
  ]"
1038
- 16,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1039
  {
1040
  ""title"": ""Drop Test"",
1041
  ""one_line_description"": ""A shoe is dropped onto a rocky edge and stays completely undamaged."",
@@ -1101,7 +1101,7 @@
1101
  ""metaphor"": ""Gear is an emoji toolbox → each piece shows its own meaning.""
1102
  }
1103
  ]"
1104
- 17,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1105
  [
1106
  {
1107
  ""title"": ""Rain Test"",
@@ -1169,7 +1169,7 @@
1169
  }
1170
  ]
1171
  ```"
1172
- 18,18.0,18.0,18.0,18.0,18.0,18.0,18.0,18.0,18.0,18.0,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1173
  {
1174
  ""title"": ""Rainstorm Reveal"",
1175
  ""one_line_description"": ""Film a sudden rain burst on the jacket while a drone shows water beading and a hidden rainbow LED strip lighting up."",
@@ -1227,7 +1227,7 @@
1227
  ""niche"": ""Eco‑conscious hikers and Gen‑Z shoppers who love AR sustainability""
1228
  }
1229
  ]"
1230
- 19,19.0,19.0,19.0,19.0,19.0,19.0,19.0,19.0,19.0,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1231
  [
1232
  {
1233
  ""title"": ""Wilderness Trek Test"",
@@ -1287,7 +1287,7 @@
1287
  }
1288
  ]
1289
  ```"
1290
- 20,20.0,20.0,20.0,20.0,20.0,20.0,20.0,20.0,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1291
  [
1292
  {
1293
  ""title"": ""Rain-Flip Challenge"",
@@ -1347,7 +1347,7 @@
1347
  }
1348
  ]
1349
  ```"
1350
- 21,21.0,21.0,21.0,21.0,21.0,21.0,21.0,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1351
  [
1352
  {
1353
  ""title"": ""Rain Magic Trick"",
@@ -1407,7 +1407,7 @@
1407
  }
1408
  ]
1409
  ```"
1410
- 22,22.0,22.0,22.0,22.0,22.0,22.0,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1411
  {
1412
  ""title"": ""Rain Test"",
1413
  ""one_line_description"": ""Drop a wet jacket on a rock while a hidden light strip glows, then watch the water drop off and the color change."",
@@ -1465,7 +1465,7 @@
1465
  ""niche"": ""Travelers who care about the environment, fashion, and reducing waste""
1466
  }
1467
  ]"
1468
- 23,23.0,23.0,23.0,23.0,23.0,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1469
  {
1470
  ""title"": ""Gravity Flip Challenge"",
1471
  ""one_line_description"": ""Attach a small parachute to a backpack, drop it from a drone while a popular sound plays, and show that it survives the fall."",
@@ -1523,7 +1523,7 @@
1523
  ""niche"": ""People who trek at high altitudes and like visual effects""
1524
  }
1525
  ]"
1526
- 24,24.0,24.0,24.0,24.0,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1527
  {
1528
  ""title"": ""Rain VR Flip"",
1529
  ""one_line_description"": ""Use a special phone filter to turn a sudden rainstorm into a game where we test how well the gear keeps water out in real time."",
@@ -1581,7 +1581,7 @@
1581
  ""niche"": ""Solo hikers, survival fans, and DIY enthusiasts""
1582
  }
1583
  ]"
1584
- 25,25.0,25.0,25.0,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1585
  {
1586
  ""title"": ""Elemental Gear Flip Challenge"",
1587
  ""one_line_description"": ""Flip a shoe, a tent pole, and a jacket while special effects of fire, water, and earth follow them, showing they can survive in any condition."",
@@ -1639,7 +1639,7 @@
1639
  ""niche"": ""People who love to travel in groups and take on challenges""
1640
  }
1641
  ]"
1642
- 26,26.0,26.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1643
  [
1644
  {
1645
  ""title"": ""Storm Sync Challenge"",
@@ -1699,7 +1699,7 @@
1699
  }
1700
  ]
1701
  ```"
1702
- 27,27.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1703
  {
1704
  ""title"": ""Storm-Swap Challenge"",
1705
  ""one_line_description"": ""Swap a regular hoodie for our waterproof jacket in the middle of the rain using a TikTok transition, then watch the rain roll off like magic."",
@@ -1757,7 +1757,7 @@
1757
  ""niche"": ""Adventure video bloggers, solo travelers, and eco-travel influencers""
1758
  }
1759
  ]"
1760
- 28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","{
1761
  ""title"": ""Packing Challenge"",
1762
  ""one_line_description"": ""Quickly pack a backpack with hiking essentials in a fast video."",
1763
  ""hook"": ""See how to pack a backpack in just 10 seconds!"",
@@ -1813,3 +1813,184 @@
1813
  ""usp"": ""Showing the beauty of hiking with the right gear in stunning time-lapse."",
1814
  ""niche"": ""Nature lovers wanting immersive outdoor experiences.""
1815
  }"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ,Unnamed: 0.31,Unnamed: 0.30,Unnamed: 0.29,Unnamed: 0.28,Unnamed: 0.27,Unnamed: 0.26,Unnamed: 0.25,Unnamed: 0.24,Unnamed: 0.23,Unnamed: 0.22,Unnamed: 0.21,Unnamed: 0.20,Unnamed: 0.19,Unnamed: 0.18,Unnamed: 0.17,Unnamed: 0.16,Unnamed: 0.15,Unnamed: 0.14,Unnamed: 0.13,Unnamed: 0.12,Unnamed: 0.11,Unnamed: 0.10,Unnamed: 0.9,Unnamed: 0.8,Unnamed: 0.7,Unnamed: 0.6,Unnamed: 0.5,Unnamed: 0.4,Unnamed: 0.3,Unnamed: 0.2,Unnamed: 0.1,Unnamed: 0,BusinessDetails,Ideas
2
+ 0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","[
3
  {
4
  ""title"": ""Room Reveal"",
5
  ""one_line_description"": ""Plain room, bold sofa, hidden storage pops out in seconds."",
 
57
  ""niche"": ""Families hosting guests in small apartments""
58
  }
59
  ]"
60
+ 1,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
61
  [
62
  {
63
  ""title"": ""Swap Old Furniture"",
 
117
  }
118
  ]
119
  ```"
120
+ 2,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
121
  [
122
  {
123
  ""title"": ""Furniture Makeover"",
 
177
  }
178
  ]
179
  ```"
180
+ 3,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
181
  [
182
  {
183
  ""title"": ""Furniture Flip Challenge"",
 
237
  }
238
  ]
239
  ```"
240
+ 4,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
241
  [
242
  {
243
  ""title"": ""Room Transformation"",
 
297
  }
298
  ]
299
  ```"
300
+ 5,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
301
  [
302
  {
303
  ""title"": ""Flip, Fold, Relax"",
 
357
  }
358
  ]
359
  ```"
360
+ 6,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
361
  [
362
  {
363
  ""title"": ""Room in a Minute"",
 
425
  }
426
  ]
427
  ```"
428
+ 7,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
429
  [
430
  {
431
  ""title"": ""Turn a Room into a Cozy Oasis"",
 
493
  }
494
  ]
495
  ```"
496
+ 8,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,,,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
497
  [
498
  {
499
  ""title"": ""Flip & Reveal"",
 
561
  }
562
  ]
563
  ```"
564
+ 9,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,,,,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","```json
565
  [
566
  {
567
  ""title"": ""Quick Room Makeover"",
 
629
  }
630
  ]
631
  ```"
632
+ 10,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,10.0,,,,,,,,,,,,"{'business_type': 'furniture and home appliances store', 'platform': 'Instagram, TikTok', 'target_audience': 'homeowners, renters, and interior enthusiasts (ages 25–50) who are looking to furnish or upgrade their living spaces.', 'business_goals': 'to build a trusted home furnishing brand, increase product sales, and attract attention with visually appealing and informative video content.', 'offerings': 'sofas, beds, dining tables, chairs, wardrobes, kitchen appliances, lighting solutions, and home décor items', 'Challenges_faced': 'standing out in a competitive home furnishing market, showcasing quality and style of products effectively, and creating engaging, practical marketing videos', 'device_used': 'only phone. (iPhone 11)', 'additional_details': 'My budget is limited. I want creative and feasible ideas that can be captured using only a mobile phone.'}","Here are the 8 unique, creative, and feasible TikTok and Instagram Reels video ideas for the furniture and home appliances store, simplified for easy understanding:
633
 
634
  ```json
635
  [
 
699
  }
700
  ]
701
  ```"
702
+ 11,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,11.0,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
703
  [
704
  {
705
  ""title"": ""Gear Up Challenge"",
 
767
  }
768
  ]
769
  ```"
770
+ 12,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,12.0,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
771
  [
772
  {
773
  ""title"": ""Get Ready for Adventure"",
 
835
  }
836
  ]
837
  ```"
838
+ 13,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,13.0,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
839
  [
840
  {
841
  ""title"": ""Trek Test"",
 
903
  }
904
  ]
905
  ```"
906
+ 14,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,14.0,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
907
  {
908
  ""title"": ""Gear Drop Test"",
909
  ""one_line_description"": ""Drop the backpack from a balcony onto grass and see it stay whole."",
 
969
  ""metaphor"": ""Pocket as a treasure chest.""
970
  }
971
  ]"
972
+ 15,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,15.0,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
973
  {
974
  ""title"": ""Rain Test"",
975
  ""one_line_description"": ""Pour a bucket of water on a jacket and shoes, then reveal they stay dry."",
 
1035
  ""metaphor"": ""Shoe = a bridge that spans any terrain.""
1036
  }
1037
  ]"
1038
+ 16,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,16.0,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1039
  {
1040
  ""title"": ""Drop Test"",
1041
  ""one_line_description"": ""A shoe is dropped onto a rocky edge and stays completely undamaged."",
 
1101
  ""metaphor"": ""Gear is an emoji toolbox → each piece shows its own meaning.""
1102
  }
1103
  ]"
1104
+ 17,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1105
  [
1106
  {
1107
  ""title"": ""Rain Test"",
 
1169
  }
1170
  ]
1171
  ```"
1172
+ 18,18.0,18.0,18.0,18.0,18.0,18.0,18.0,18.0,18.0,18.0,18.0,18.0,18.0,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1173
  {
1174
  ""title"": ""Rainstorm Reveal"",
1175
  ""one_line_description"": ""Film a sudden rain burst on the jacket while a drone shows water beading and a hidden rainbow LED strip lighting up."",
 
1227
  ""niche"": ""Eco‑conscious hikers and Gen‑Z shoppers who love AR sustainability""
1228
  }
1229
  ]"
1230
+ 19,19.0,19.0,19.0,19.0,19.0,19.0,19.0,19.0,19.0,19.0,19.0,19.0,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1231
  [
1232
  {
1233
  ""title"": ""Wilderness Trek Test"",
 
1287
  }
1288
  ]
1289
  ```"
1290
+ 20,20.0,20.0,20.0,20.0,20.0,20.0,20.0,20.0,20.0,20.0,20.0,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1291
  [
1292
  {
1293
  ""title"": ""Rain-Flip Challenge"",
 
1347
  }
1348
  ]
1349
  ```"
1350
+ 21,21.0,21.0,21.0,21.0,21.0,21.0,21.0,21.0,21.0,21.0,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1351
  [
1352
  {
1353
  ""title"": ""Rain Magic Trick"",
 
1407
  }
1408
  ]
1409
  ```"
1410
+ 22,22.0,22.0,22.0,22.0,22.0,22.0,22.0,22.0,22.0,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1411
  {
1412
  ""title"": ""Rain Test"",
1413
  ""one_line_description"": ""Drop a wet jacket on a rock while a hidden light strip glows, then watch the water drop off and the color change."",
 
1465
  ""niche"": ""Travelers who care about the environment, fashion, and reducing waste""
1466
  }
1467
  ]"
1468
+ 23,23.0,23.0,23.0,23.0,23.0,23.0,23.0,23.0,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1469
  {
1470
  ""title"": ""Gravity Flip Challenge"",
1471
  ""one_line_description"": ""Attach a small parachute to a backpack, drop it from a drone while a popular sound plays, and show that it survives the fall."",
 
1523
  ""niche"": ""People who trek at high altitudes and like visual effects""
1524
  }
1525
  ]"
1526
+ 24,24.0,24.0,24.0,24.0,24.0,24.0,24.0,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1527
  {
1528
  ""title"": ""Rain VR Flip"",
1529
  ""one_line_description"": ""Use a special phone filter to turn a sudden rainstorm into a game where we test how well the gear keeps water out in real time."",
 
1581
  ""niche"": ""Solo hikers, survival fans, and DIY enthusiasts""
1582
  }
1583
  ]"
1584
+ 25,25.0,25.0,25.0,25.0,25.0,25.0,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1585
  {
1586
  ""title"": ""Elemental Gear Flip Challenge"",
1587
  ""one_line_description"": ""Flip a shoe, a tent pole, and a jacket while special effects of fire, water, and earth follow them, showing they can survive in any condition."",
 
1639
  ""niche"": ""People who love to travel in groups and take on challenges""
1640
  }
1641
  ]"
1642
+ 26,26.0,26.0,26.0,26.0,26.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1643
  [
1644
  {
1645
  ""title"": ""Storm Sync Challenge"",
 
1699
  }
1700
  ]
1701
  ```"
1702
+ 27,27.0,27.0,27.0,27.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","[
1703
  {
1704
  ""title"": ""Storm-Swap Challenge"",
1705
  ""one_line_description"": ""Swap a regular hoodie for our waterproof jacket in the middle of the rain using a TikTok transition, then watch the rain roll off like magic."",
 
1757
  ""niche"": ""Adventure video bloggers, solo travelers, and eco-travel influencers""
1758
  }
1759
  ]"
1760
+ 28,28.0,28.0,28.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","{
1761
  ""title"": ""Packing Challenge"",
1762
  ""one_line_description"": ""Quickly pack a backpack with hiking essentials in a fast video."",
1763
  ""hook"": ""See how to pack a backpack in just 10 seconds!"",
 
1813
  ""usp"": ""Showing the beauty of hiking with the right gear in stunning time-lapse."",
1814
  ""niche"": ""Nature lovers wanting immersive outdoor experiences.""
1815
  }"
1816
+ 29,29.0,29.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","{
1817
+ ""title"": ""Exciting Outdoor Video Ideas"",
1818
+ ""one_line_description"": ""Refined video ideas for outdoor enthusiasts with a focus on gear and adventure transformations."",
1819
+ ""hook"": ""Ideas to make fun and engaging videos for people who love outdoor activities and gear."",
1820
+ ""usp"": ""Highlighting the best features of the brand's gear and how it enhances outdoor experiences."",
1821
+ ""niche"": ""Targeting specific groups of outdoor enthusiasts who value quality, style, and functionality in their gear."",
1822
+ ""ideas"": [
1823
+ {
1824
+ ""title"": ""Gear Up Challenge"",
1825
+ ""description"": ""Quickly pack a trekking kit in under a minute."",
1826
+ ""hook"": ""Feel the excitement of getting ready for an adventure in just 30 seconds!"",
1827
+ ""usp"": ""Showcasing the brand's efficient and high-quality gear."",
1828
+ ""niche"": ""For adventure lovers who want fast and efficient gear setup.""
1829
+ },
1830
+ {
1831
+ ""title"": ""Trail Transformation"",
1832
+ ""description"": ""Change from city wear to trekking gear instantly."",
1833
+ ""hook"": ""See a quick switch from city to outdoor explorer!"",
1834
+ ""usp"": ""Highlighting the brand's versatile and stylish clothing."",
1835
+ ""niche"": ""For trendy trekkers who seek functional and fashionable gear.""
1836
+ },
1837
+ {
1838
+ ""title"": ""Shoe Swap Magic"",
1839
+ ""description"": ""Watch shoes change color with each step on a trail."",
1840
+ ""hook"": ""Experience color-changing shoes for every terrain!"",
1841
+ ""usp"": ""Showcasing the brand's innovative and durable footwear."",
1842
+ ""niche"": ""For shoe enthusiasts looking for reliable and creative trekking shoes.""
1843
+ },
1844
+ {
1845
+ ""title"": ""Adventure Avatar"",
1846
+ ""description"": ""Transform into a trekking avatar instantly."",
1847
+ ""hook"": ""Go from ordinary to adventure-ready in a snap!"",
1848
+ ""usp"": ""Enhancing outdoor experiences for enthusiasts."",
1849
+ ""niche"": ""For travelers who want a quick and stylish outdoor change.""
1850
+ },
1851
+ {
1852
+ ""title"": ""Tent Time-lapse"",
1853
+ ""description"": ""Set up a tent in 15 seconds with a twist."",
1854
+ ""hook"": ""Experience quick tent magic for easy camping adventures!"",
1855
+ ""usp"": ""Showcasing easy-to-use and efficient camping gear."",
1856
+ ""niche"": ""For campers seeking convenient and reliable tent solutions.""
1857
+ },
1858
+ {
1859
+ ""title"": ""Backpack Blitz"",
1860
+ ""description"": ""Unpack a backpack to reveal trekking essentials."",
1861
+ ""hook"": ""Discover endless surprises in a backpack!"",
1862
+ ""usp"": ""Highlighting a wide range of essential trekking gear."",
1863
+ ""niche"": ""For adventure enthusiasts in need of reliable and well-equipped backpacks.""
1864
+ },
1865
+ {
1866
+ ""title"": ""Mountain Mirror"",
1867
+ ""description"": ""See a trekker's reflection in a mountain lake revealing gear."",
1868
+ ""hook"": ""Explore gear through nature's reflection in the mountains!"",
1869
+ ""usp"": ""Integrating the brand's products with the natural environment."",
1870
+ ""niche"": ""For nature-loving trekkers who appreciate gear blending with the wilderness.""
1871
+ },
1872
+ {
1873
+ ""title"": ""Epic Expedition Edit"",
1874
+ ""description"": ""Create a montage of trekking adventures with gear changes."",
1875
+ ""hook"": ""Watch gear evolve in thrilling trekking moments!"",
1876
+ ""usp"": ""Showcasing gear durability and adaptability in real outdoor situations."",
1877
+ ""niche"": ""For adventure enthusiasts needing gear that can handle tough terrains and challenges.""
1878
+ }
1879
+ ]
1880
+ }"
1881
+ 30,30.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","{
1882
+ ""title"": ""Clothing Swap"",
1883
+ ""one_line_description"": ""Change your outfit quickly for outdoor adventures."",
1884
+ ""hook"": ""Have a fast and fun outfit change for your next trip."",
1885
+ ""usp"": ""Easily switch between everyday clothes and outdoor gear."",
1886
+ ""niche"": ""People who like fashion and the outdoors and want versatile clothing.""
1887
+ },
1888
+ {
1889
+ ""title"": ""Time-lapse Trekking"",
1890
+ ""one_line_description"": ""Watch a beautiful trekking journey from day to night in seconds."",
1891
+ ""hook"": ""See a whole trek in a cool fast-forward video."",
1892
+ ""usp"": ""Showing the beauty and endurance of the trek through fast video storytelling."",
1893
+ ""niche"": ""People who love nature and adventures and are interested in fast videos.""
1894
+ },
1895
+ {
1896
+ ""title"": ""Gear History"",
1897
+ ""one_line_description"": ""Learn about the evolution of trekking gear over time."",
1898
+ ""hook"": ""See how trekking essentials have changed from old to new."",
1899
+ ""usp"": ""Showing how the brand's gear has improved over the years."",
1900
+ ""niche"": ""History buffs and gear fans who like seeing how gear has progressed.""
1901
+ },
1902
+ {
1903
+ ""title"": ""Outdoor Fashion Show"",
1904
+ ""one_line_description"": ""Show off stylish outdoor gear for any adventure."",
1905
+ ""hook"": ""Mix fancy fashion with tough outdoor clothes for a special show."",
1906
+ ""usp"": ""Combining fashion and function in outdoor clothing."",
1907
+ ""niche"": ""Fashionable adventurers who want trendy and practical outdoor clothes.""
1908
+ },
1909
+ {
1910
+ ""title"": ""Gear Test"",
1911
+ ""one_line_description"": ""Try out and review the latest trekking gear in real conditions."",
1912
+ ""hook"": ""See real reactions to new gear's durability and features."",
1913
+ ""usp"": ""Honest reviews from active trekkers testing gear outdoors."",
1914
+ ""niche"": ""Outdoor gear fans and review lovers.""
1915
+ },
1916
+ {
1917
+ ""title"": ""Adventure Makeover"",
1918
+ ""one_line_description"": ""See the amazing change when gearing up for an adventure."",
1919
+ ""hook"": ""Watch the visual impact of getting ready for a trip through gear."",
1920
+ ""usp"": ""Highlighting the benefits of gearing up for outdoor fun."",
1921
+ ""niche"": ""Fans of visual stories and transformations who like change.""
1922
+ },
1923
+ {
1924
+ ""title"": ""Gear Tips"",
1925
+ ""one_line_description"": ""Learn smart ways to use trekking gear beyond the trail."",
1926
+ ""hook"": ""Find creative ways to use trekking gear in daily life."",
1927
+ ""usp"": ""Offering unique tips for using gear in different ways."",
1928
+ ""niche"": ""People who like DIY projects and outdoor gear innovation.""
1929
+ },
1930
+ {
1931
+ ""title"": ""Trekking Must-Haves"",
1932
+ ""one_line_description"": ""Get a quick guide to essential trekking gear in 15 seconds."",
1933
+ ""hook"": ""See must-have gear for a smooth trekking experience in a flash."",
1934
+ ""usp"": ""Making gear selection easy for beginners going on treks."",
1935
+ ""niche"": ""Beginner trekkers looking for guidance on essential gear.""
1936
+ }"
1937
+ 31,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"{'business_type': 'trekking clothes, shoes and equipment selling brand', 'platform': 'Instagram, TikTok', 'target_audience': 'adventure lovers, trekkers, hikers, and travelers (ages 18–45) who are passionate about outdoor activities.', 'business_goals': 'to build a trusted adventure gear brand, increase product sales, and attract attention with visually striking and catchy video contents.', 'offerings': 'durable trekking clothes, high-quality shoes, backpacks, tents, and essential trekking equipment', 'Challenges_faced': 'standing out in a crowded outdoor gear market, proving durability and reliability of products, and creating engaging, catchy marketing videos', 'device_used': 'only phone. (Iphone 11)', 'additional_details': 'My budget is not so high. I want creative and feasible ideas to be captured by just mobile phone only.'}","```json
1938
+ [
1939
+ {
1940
+ ""title"": ""Rain Proof"",
1941
+ ""one_line_description"": ""Watch water roll off a trekking jacket in just a few seconds."",
1942
+ ""hook"": ""Will it stay dry in a heavy rain? Let’s find out!"",
1943
+ ""usp"": ""See the waterproof shell with quick-bead technology for dependable protection."",
1944
+ ""niche"": ""Monsoon trekkers""
1945
+ },
1946
+ {
1947
+ ""title"": ""Night Glow"",
1948
+ ""one_line_description"": ""Reflective seams shine under streetlights, helping you see your way."",
1949
+ ""hook"": ""Watch your path light up without any batteries—how cool is that?"",
1950
+ ""usp"": ""Stay safe with highly reflective gear made for night trekkers."",
1951
+ ""niche"": ""Night hikers and early-morning climbers""
1952
+ },
1953
+ {
1954
+ ""title"": ""Pack Five"",
1955
+ ""one_line_description"": ""A 20L backpack holds a full day’s gear in seconds—check out the pocket reveal trick."",
1956
+ ""hook"": ""5 essentials in one bag—watch how it all fits!"",
1957
+ ""usp"": ""Find smart pockets and a flexible design for very light trips."",
1958
+ ""niche"": ""Lightweight trekkers and weekend warriors""
1959
+ },
1960
+ {
1961
+ ""title"": ""Grippy Step"",
1962
+ ""one_line_description"": ""Soles made to grip wet rocks and mud—no slipping here."",
1963
+ ""hook"": ""Grip you can trust on every trail—let’s test it out!"",
1964
+ ""usp"": ""Experience trail-tested outsoles with great grip."",
1965
+ ""niche"": ""Rocky terrain hikers and beginners in scrambling""
1966
+ },
1967
+ {
1968
+ ""title"": ""Layer Flip"",
1969
+ ""one_line_description"": ""One jacket, three styles: sleeves zip off for warmth, wind protection, and light use."",
1970
+ ""hook"": ""Three weather types, one jacket—let’s see how it works!"",
1971
+ ""usp"": ""Enjoy a flexible layering system for sudden weather changes."",
1972
+ ""niche"": ""Seasonal trekkers and travelers""
1973
+ },
1974
+ {
1975
+ ""title"": ""Tent Sprint"",
1976
+ ""one_line_description"": ""Turn your bag into a shelter in under a minute with just one shake."",
1977
+ ""hook"": ""60 seconds to a cozy shelter—can it really be that fast?"",
1978
+ ""usp"": ""Experience quick-setup tents perfect for one person or small groups."",
1979
+ ""niche"": ""Budget campers and solo trekkers""
1980
+ },
1981
+ {
1982
+ ""title"": ""Value Beast"",
1983
+ ""one_line_description"": ""We test price vs performance on a tough trail—wait until you see the results."",
1984
+ ""hook"": ""Big value, serious gear—can it really do better than its price?"",
1985
+ ""usp"": ""Find high-value gear that goes beyond expectations."",
1986
+ ""niche"": ""Budget-conscious hikers""
1987
+ },
1988
+ {
1989
+ ""title"": ""Nepal Trails"",
1990
+ ""one_line_description"": ""Real trekkers share their stories on famous Nepali trails in short clips."",
1991
+ ""hook"": ""Locals and travelers trust this gear on Himalaya trails—let’s hear their stories!"",
1992
+ ""usp"": ""Nepal-tested, guide-approved gear for tough trails."",
1993
+ ""niche"": ""Nepalese trekkers and international Himalayan hikers""
1994
+ }
1995
+ ]
1996
+ ```"
src/genai/utils/models_loader.py CHANGED
@@ -20,23 +20,23 @@ llm_gemini = ChatGoogleGenerativeAI(model="gemini-1.5-flash")
20
  llm_groq_openai = ChatGroq(model="openai/gpt-oss-120b",temperature=0.7)
21
  llm_groq = ChatGroq(model="llama-3.3-70b-versatile",temperature=0)
22
 
23
- llm_gpt_small = ChatOpenAI(model="gpt-4o-mini",temperature=0.3)
24
- llm_gpt = ChatOpenAI(model="gpt-4o-mini",temperature=0.3)
25
- llm_gpt_high = ChatOpenAI(model="gpt-4o-mini",temperature=0.5)
26
  encoding_model = tiktoken.encoding_for_model('gpt-4o-mini')
27
 
28
 
29
  captioning_model = "meta-llama/llama-4-scout-17b-16e-instruct"
30
  image_generation_model = "black-forest-labs/FLUX.1-schnell"
31
 
32
- ideator_llm = llm_gpt_small
33
- moderator_llm = llm_gpt_small
34
- critic_llm = llm_gpt_small
35
- simplifier_llm = llm_gpt_small
36
- normalizer_llm = llm_gpt_small
37
  validator_llm = llm_gpt_small
38
- judge1_llm = llm_gpt_small
39
- judge2_llm = llm_gpt_small
40
 
41
 
42
 
 
20
  llm_groq_openai = ChatGroq(model="openai/gpt-oss-120b",temperature=0.7)
21
  llm_groq = ChatGroq(model="llama-3.3-70b-versatile",temperature=0)
22
 
23
+ llm_gpt_small = ChatOpenAI(model="gpt-3.5-turbo",temperature=0.3)
24
+ llm_gpt = ChatOpenAI(model="gpt-3.5-turbo",temperature=0.3)
25
+ llm_gpt_high = ChatOpenAI(model="gpt-5-nano",temperature=0.5)
26
  encoding_model = tiktoken.encoding_for_model('gpt-4o-mini')
27
 
28
 
29
  captioning_model = "meta-llama/llama-4-scout-17b-16e-instruct"
30
  image_generation_model = "black-forest-labs/FLUX.1-schnell"
31
 
32
+ ideator_llm = llm_gpt_high
33
+ moderator_llm = llm_gpt
34
+ critic_llm = llm_gpt
35
+ simplifier_llm = llm_gpt
36
+ normalizer_llm = llm_gpt
37
  validator_llm = llm_gpt_small
38
+ judge1_llm = llm_gpt
39
+ judge2_llm = llm_gpt
40
 
41
 
42