Spaces:
Sleeping
Sleeping
Commit
·
6b83c96
1
Parent(s):
3df9cb1
update: prompt for live event accuracy
Browse files
app.py
CHANGED
|
@@ -335,7 +335,10 @@ def get_initial_analysis(
|
|
| 335 |
link_start = "https"
|
| 336 |
print(uid)
|
| 337 |
if ct == "si": # street interview
|
| 338 |
-
prompt = f"""This is a transcript for a street interview.
|
|
|
|
|
|
|
|
|
|
| 339 |
|
| 340 |
Your task is to analyze this street interview transcript and identify the final/best timestamps for each topic or question discussed. Here are the key rules:
|
| 341 |
|
|
@@ -379,15 +382,56 @@ Total takes: 2
|
|
| 379 |
- [Take 1. <div id='topic' style="display: inline"> 20s at 25:45]({link_start}://{{origin}}/collab/{{cid}}/{{rsid}}?st={{1245}}&et={{1265}}&uid={{uid}}))
|
| 380 |
- [Take 3 (Best). <div id='topic' style="display: inline"> 5s at 10:13 </div>]({link_start}://roll.ai/colab/1234aq_12314/51234151?st=613&et=618&uid=82314)"""
|
| 381 |
else:
|
| 382 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 383 |
|
| 384 |
Format requirements:
|
| 385 |
|
| 386 |
1. SPEAKER FORMAT:
|
| 387 |
**Speaker Name**
|
| 388 |
-
1. [Topic title <div id='topic' style="display: inline"> 20s at 12:30 </div>]({link_start}://{{origin}}/collab/{{cid}}/{{rsid}}?st={{750}}&et={{770}}&uid={{uid}})
|
| 389 |
-
2. [Topic title <div id='topic' style="display: inline"> 45s at 14:45 </div>]({link_start}://{{origin}}/collab/{{cid}}/{{rsid}}?st={{885}}&et={{930}}&uid={{uid}})
|
| 390 |
-
3. [Topic title <div id='topic' style="display: inline"> 55s at 16:20 </div>]({link_start}://{{origin}}/collab/{{cid}}/{{rsid}}?st={{980}}&et={{1035}}&uid={{uid}})
|
| 391 |
|
| 392 |
2. TIMESTAMP RULES:
|
| 393 |
- Start time (st): Must begin exactly when speaker starts discussing the specific topic
|
|
|
|
| 335 |
link_start = "https"
|
| 336 |
print(uid)
|
| 337 |
if ct == "si": # street interview
|
| 338 |
+
prompt = f"""This is a transcript for a street interview. Call Details are as follows:
|
| 339 |
+
User ID UID: {uid}
|
| 340 |
+
Speakers: {", ".join(speaker_mapping.values())}
|
| 341 |
+
Transcript: {transcript}
|
| 342 |
|
| 343 |
Your task is to analyze this street interview transcript and identify the final/best timestamps for each topic or question discussed. Here are the key rules:
|
| 344 |
|
|
|
|
| 382 |
- [Take 1. <div id='topic' style="display: inline"> 20s at 25:45]({link_start}://{{origin}}/collab/{{cid}}/{{rsid}}?st={{1245}}&et={{1265}}&uid={{uid}}))
|
| 383 |
- [Take 3 (Best). <div id='topic' style="display: inline"> 5s at 10:13 </div>]({link_start}://roll.ai/colab/1234aq_12314/51234151?st=613&et=618&uid=82314)"""
|
| 384 |
else:
|
| 385 |
+
topic_identification_prompt = f"""Given the transcript {transcript}, identify compelling social media clip topics for each speaker.
|
| 386 |
+
|
| 387 |
+
For each speaker, analyze their dialogue and list 2-3 most engaging topics they discussed that would make viral social media content.
|
| 388 |
+
|
| 389 |
+
Format:
|
| 390 |
+
**Speaker Name**
|
| 391 |
+
1. Topic title: [Brief description of the specific discussion point]
|
| 392 |
+
2. Topic title: [Brief description of the specific discussion point]
|
| 393 |
+
3. Topic title: [Brief description of the specific discussion point]
|
| 394 |
+
|
| 395 |
+
Requirements:
|
| 396 |
+
- Each topic should be a distinct, self-contained discussion
|
| 397 |
+
- Topics should mention people, news, events, trends, or sources
|
| 398 |
+
- Skip the host if no compelling content
|
| 399 |
+
- Topics should be substantial enough for 20-60 second clips
|
| 400 |
+
"""
|
| 401 |
+
|
| 402 |
+
topics_completion = client.chat.completions.create(
|
| 403 |
+
model="gpt-4o-mini",
|
| 404 |
+
messages=[
|
| 405 |
+
{
|
| 406 |
+
"role": "system",
|
| 407 |
+
"content": """You are analyzing a transcript to identify engaging social media clip topics.
|
| 408 |
+
Focus on finding viral-worthy, substantial content that can be turned into 20-60 second clips.
|
| 409 |
+
Avoid mundane or generic content.""",
|
| 410 |
+
},
|
| 411 |
+
{"role": "user", "content": topic_identification_prompt},
|
| 412 |
+
],
|
| 413 |
+
stream=False,
|
| 414 |
+
temperature=0.3,
|
| 415 |
+
)
|
| 416 |
+
|
| 417 |
+
topics_result = topics_completion.choices[0].message.content
|
| 418 |
+
|
| 419 |
+
prompt = f"""Call Details:
|
| 420 |
+
Call ID: {cid}
|
| 421 |
+
Speakers: {", ".join(speaker_mapping.values())}
|
| 422 |
+
Transcript: {transcript}
|
| 423 |
+
Using the following list of identified topics:
|
| 424 |
+
{topics_result}
|
| 425 |
+
|
| 426 |
+
Find the exact timestamps in the above transcript where each speaker discusses these specific topics.
|
| 427 |
|
| 428 |
Format requirements:
|
| 429 |
|
| 430 |
1. SPEAKER FORMAT:
|
| 431 |
**Speaker Name**
|
| 432 |
+
1. [Topic title <div id='topic' style="display: inline"> 20s at 12:30 </div>]({link_start}://{{origin}}/collab/{{cid}}/{{rsid}}?st={{750}}&et={{770}}&uid={{uid}})
|
| 433 |
+
2. [Topic title <div id='topic' style="display: inline"> 45s at 14:45 </div>]({link_start}://{{origin}}/collab/{{cid}}/{{rsid}}?st={{885}}&et={{930}}&uid={{uid}})
|
| 434 |
+
3. [Topic title <div id='topic' style="display: inline"> 55s at 16:20 </div>]({link_start}://{{origin}}/collab/{{cid}}/{{rsid}}?st={{980}}&et={{1035}}&uid={{uid}})
|
| 435 |
|
| 436 |
2. TIMESTAMP RULES:
|
| 437 |
- Start time (st): Must begin exactly when speaker starts discussing the specific topic
|