Update main_process/salamandra_router.py
Browse files
main_process/salamandra_router.py
CHANGED
|
@@ -41,6 +41,11 @@ from main_process.main_router import (
|
|
| 41 |
get_initial_srt_path
|
| 42 |
)
|
| 43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
EMBEDDINGS_ROOT = Path("/data/embeddings")
|
| 45 |
MEDIA_ROOT = Path("/data/media")
|
| 46 |
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
|
|
@@ -761,23 +766,26 @@ class Identity_Manager:
|
|
| 761 |
|
| 762 |
else:
|
| 763 |
# Aqu铆 entra cuando hay una escena nueva
|
| 764 |
-
content_escena = ""
|
| 765 |
|
| 766 |
-
|
| 767 |
-
|
| 768 |
-
Si la descripci贸 apareix de manera gen猫rica, per exemple "Una dona", substitueix-la pel nom concret de la persona identificada.
|
| 769 |
|
| 770 |
-
|
| 771 |
-
|
| 772 |
-
|
|
|
|
|
|
|
| 773 |
|
| 774 |
-
|
| 775 |
-
- Torna nom茅s el text corregit en el format (AD_Descripci贸n): "text"
|
| 776 |
-
"""
|
| 777 |
-
messages = [{'role': 'system', 'content': prompt}]
|
| 778 |
-
out = state['llm_GPT'](messages).strip()
|
| 779 |
|
| 780 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 781 |
|
| 782 |
content_anterior = content
|
| 783 |
content_escena += out
|
|
@@ -885,8 +893,6 @@ class UNE_Actor_prev:
|
|
| 885 |
|
| 886 |
class UNE_Actor:
|
| 887 |
def __call__(self, state: NState, srt_original_silence_con_ad_ocr_identity_une_1, srt_original_silence_con_ad_ocr_identity_une_2):
|
| 888 |
-
print("UNE_Actor.__call__ iniciado")
|
| 889 |
-
|
| 890 |
silence_dict = words_silence_srt(srt_original_silence_con_ad_ocr_identity_une_1)
|
| 891 |
|
| 892 |
with open(srt_original_silence_con_ad_ocr_identity_une_1, "r", encoding="utf-8-sig") as f:
|
|
@@ -908,32 +914,9 @@ class UNE_Actor:
|
|
| 908 |
out = '(AD): ""'
|
| 909 |
|
| 910 |
else:
|
| 911 |
-
|
| 912 |
-
|
| 913 |
-
|
| 914 |
-
que representi el mateix significat que aquest fragment: {content}.
|
| 915 |
-
|
| 916 |
-
D鈥檃ltra banda, s鈥檈st脿 modificant el fitxer SRT complet {srt_text}, concretament el fragment n煤mero {idx},
|
| 917 |
-
per si et pot servir de context. Aqu铆 tens el contingut actualitzat de l鈥橲RT fins ara: {srt_text_modified}
|
| 918 |
-
|
| 919 |
-
Has de complir amb la norma UNE: llenguatge clar, descriptiu i narratiu, sense repeticions i mostrant
|
| 920 |
-
les accions i emocions de manera natural.
|
| 921 |
-
|
| 922 |
-
Important:
|
| 923 |
-
- Revisa el contingut anterior de l鈥橲RT i evita repetir frases o expressions ja utilitzades.
|
| 924 |
-
- Si hi ha informaci贸 semblant, expressa-la d鈥檜na manera diferent, mantenint la coher猫ncia i la claredat.
|
| 925 |
-
- El resultat ha de ser narratiu, natural i fluid.
|
| 926 |
-
- Regla estricta: si el nombre de paraules requerit 茅s 1 o 2 i no 茅s possible expressar el contingut de manera coherent amb tan poques paraules,
|
| 927 |
-
has de retornar exactament: (AD): "" (cometes buides), sense afegir res m茅s.
|
| 928 |
-
|
| 929 |
-
La resposta s鈥檋a de donar en el format seg眉ent:
|
| 930 |
-
|
| 931 |
-
(AD): "text amb exactament {silence_dict[idx]} paraules, que representi fidelment el text proporcionat ({content}),
|
| 932 |
-
sense repetir f贸rmules ja utilitzades a l鈥橲RT i complint amb la norma UNE"
|
| 933 |
-
"""
|
| 934 |
-
|
| 935 |
-
messages = [{'role': 'system', 'content': sys_prompt}]
|
| 936 |
-
out = state['llm_GPT'](messages)
|
| 937 |
|
| 938 |
srt_text_modified += f"{idx}\n{start_str} --> {end_str}\n{out}\n\n"
|
| 939 |
else:
|
|
@@ -1476,51 +1459,61 @@ async def generate_salamadra_result(
|
|
| 1476 |
|
| 1477 |
count = 1
|
| 1478 |
|
| 1479 |
-
user_prompt = "Ejecuta la funci贸n
|
| 1480 |
-
final_state, messages_registro = run_salamandra_agent(salamandraclient, state, tools, user_prompt, messages_registro, count)
|
|
|
|
| 1481 |
print("Transcripci贸n con AD guardada")
|
| 1482 |
|
| 1483 |
-
user_prompt = "Ejecuta la funci贸n
|
| 1484 |
-
final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
|
|
|
| 1485 |
print("Transcripci贸n con AD y Add_Silence_AD guardada")
|
| 1486 |
|
| 1487 |
-
user_prompt = "Ejecuta la funci贸n
|
| 1488 |
-
final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
|
|
|
| 1489 |
print("Transcripci贸n con AD y Unir_AD_Silence guardada")
|
| 1490 |
|
| 1491 |
count = 2
|
| 1492 |
|
| 1493 |
-
user_prompt = "Ejecuta la funci贸n
|
| 1494 |
-
|
|
|
|
| 1495 |
print("Transcripci贸n con AD y Add_Silence_AD guardada")
|
| 1496 |
|
| 1497 |
user_prompt = "Ejecuta la funci贸n Unir_AD_Silences_a_ADs"
|
| 1498 |
-
|
|
|
|
| 1499 |
print("Transcripci贸n con AD y Unir_AD_Silences_a_ADs guardada")
|
| 1500 |
|
| 1501 |
user_prompt = "Ejecuta la funci贸n Introduccion_OCR"
|
| 1502 |
-
|
|
|
|
| 1503 |
print("Transcripci贸n con AD, Add_Silence_AD e Introduccion_OCR guardada")
|
| 1504 |
|
| 1505 |
-
|
| 1506 |
user_prompt = "Ejecuta la funci贸n Identity_Manager"
|
| 1507 |
-
|
|
|
|
| 1508 |
print("Transcripci贸n con AD, Add_Silence_AD, Introduccion_OCR e Identity_Manager guardada")
|
| 1509 |
|
| 1510 |
user_prompt = "Ejecuta la funci贸n UNE_Actor_prev"
|
| 1511 |
-
|
|
|
|
| 1512 |
print("Transcripci贸n con AD, Add_Silence_AD, Introduccion_OCR, Identity_Manager y norma UNE guardada")
|
| 1513 |
|
| 1514 |
user_prompt = "Ejecuta la funci贸n UNE_Actor"
|
| 1515 |
-
|
|
|
|
| 1516 |
print("Transcripci贸n con AD, Add_Silence_AD, Introduccion_OCR, Identity_Manager y norma UNE guardada")
|
| 1517 |
|
| 1518 |
user_prompt = "Ejecuta la funci贸n Valoracion_Final"
|
| 1519 |
-
|
|
|
|
| 1520 |
print("Valoraci贸n guardada")
|
| 1521 |
|
| 1522 |
user_prompt = "Ejecuta la funci贸n Free_Narration"
|
| 1523 |
-
final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
|
|
|
| 1524 |
print("Free Narration guardada")
|
| 1525 |
|
| 1526 |
srt_update(srt_final,srt_final)
|
|
|
|
| 41 |
get_initial_srt_path
|
| 42 |
)
|
| 43 |
|
| 44 |
+
from schat_client import (
|
| 45 |
+
resumir_frases_salamandra,
|
| 46 |
+
identificar_personajes
|
| 47 |
+
)
|
| 48 |
+
|
| 49 |
EMBEDDINGS_ROOT = Path("/data/embeddings")
|
| 50 |
MEDIA_ROOT = Path("/data/media")
|
| 51 |
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
|
|
|
|
| 766 |
|
| 767 |
else:
|
| 768 |
# Aqu铆 entra cuando hay una escena nueva
|
| 769 |
+
content_escena = content.replace("(AD_Descripci贸n):", "").strip()
|
| 770 |
|
| 771 |
+
if persona:
|
| 772 |
+
personas = ""
|
|
|
|
| 773 |
|
| 774 |
+
for person in persona:
|
| 775 |
+
if person == "Desconegut":
|
| 776 |
+
continue
|
| 777 |
+
else:
|
| 778 |
+
personas += person
|
| 779 |
|
| 780 |
+
result = identificar_personajes(content_escena, personas)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 781 |
|
| 782 |
+
out = f"(AD_Descripci贸n): {result}"
|
| 783 |
+
|
| 784 |
+
srt_text_modified += f"{idx}\n{time_range}\n{out}\n\n"
|
| 785 |
+
|
| 786 |
+
else:
|
| 787 |
+
out = content
|
| 788 |
+
srt_text_modified += f"{idx}\n{time_range}\n{out}\n\n"
|
| 789 |
|
| 790 |
content_anterior = content
|
| 791 |
content_escena += out
|
|
|
|
| 893 |
|
| 894 |
class UNE_Actor:
|
| 895 |
def __call__(self, state: NState, srt_original_silence_con_ad_ocr_identity_une_1, srt_original_silence_con_ad_ocr_identity_une_2):
|
|
|
|
|
|
|
| 896 |
silence_dict = words_silence_srt(srt_original_silence_con_ad_ocr_identity_une_1)
|
| 897 |
|
| 898 |
with open(srt_original_silence_con_ad_ocr_identity_une_1, "r", encoding="utf-8-sig") as f:
|
|
|
|
| 914 |
out = '(AD): ""'
|
| 915 |
|
| 916 |
else:
|
| 917 |
+
content = content.replace("(AD_Descripci贸n):", "").strip()
|
| 918 |
+
result = resumir_frases_salamandra(content, silence_dict[idx])
|
| 919 |
+
out = f"(AD): {result} "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 920 |
|
| 921 |
srt_text_modified += f"{idx}\n{start_str} --> {end_str}\n{out}\n\n"
|
| 922 |
else:
|
|
|
|
| 1459 |
|
| 1460 |
count = 1
|
| 1461 |
|
| 1462 |
+
user_prompt = "Ejecuta la funci贸n add_ad"
|
| 1463 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, state, tools, user_prompt, messages_registro, count)
|
| 1464 |
+
state = add_ad(state, temp_srt_files[0].name, temp_srt_files[1].name)
|
| 1465 |
print("Transcripci贸n con AD guardada")
|
| 1466 |
|
| 1467 |
+
user_prompt = "Ejecuta la funci贸n add_silence_ad"
|
| 1468 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1469 |
+
state = add_silence_ad(state, temp_srt_files[1].name, temp_srt_files[2].name)
|
| 1470 |
print("Transcripci贸n con AD y Add_Silence_AD guardada")
|
| 1471 |
|
| 1472 |
+
user_prompt = "Ejecuta la funci贸n unir_ad_silence"
|
| 1473 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1474 |
+
state = unir_ad_silence(state, temp_srt_files[2].name, temp_srt_files[3].name)
|
| 1475 |
print("Transcripci贸n con AD y Unir_AD_Silence guardada")
|
| 1476 |
|
| 1477 |
count = 2
|
| 1478 |
|
| 1479 |
+
user_prompt = "Ejecuta la funci贸n add_silence_ad"
|
| 1480 |
+
state = add_silence_ad(state, temp_srt_files[3].name, temp_srt_files[4].name)
|
| 1481 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1482 |
print("Transcripci贸n con AD y Add_Silence_AD guardada")
|
| 1483 |
|
| 1484 |
user_prompt = "Ejecuta la funci贸n Unir_AD_Silences_a_ADs"
|
| 1485 |
+
state = unir_ad_silences_a_ads(state, temp_srt_files[4].name, temp_srt_files[5].name)
|
| 1486 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1487 |
print("Transcripci贸n con AD y Unir_AD_Silences_a_ADs guardada")
|
| 1488 |
|
| 1489 |
user_prompt = "Ejecuta la funci贸n Introduccion_OCR"
|
| 1490 |
+
state = introduccion_ocr(state, temp_srt_files[5].name, temp_srt_files[6].name)
|
| 1491 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1492 |
print("Transcripci贸n con AD, Add_Silence_AD e Introduccion_OCR guardada")
|
| 1493 |
|
|
|
|
| 1494 |
user_prompt = "Ejecuta la funci贸n Identity_Manager"
|
| 1495 |
+
state = identity_manager(state, temp_srt_files[6].name, temp_srt_files[7].name)
|
| 1496 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1497 |
print("Transcripci贸n con AD, Add_Silence_AD, Introduccion_OCR e Identity_Manager guardada")
|
| 1498 |
|
| 1499 |
user_prompt = "Ejecuta la funci贸n UNE_Actor_prev"
|
| 1500 |
+
state = une_actor_prev(state, temp_srt_files[7].name, temp_srt_files[8].name)
|
| 1501 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1502 |
print("Transcripci贸n con AD, Add_Silence_AD, Introduccion_OCR, Identity_Manager y norma UNE guardada")
|
| 1503 |
|
| 1504 |
user_prompt = "Ejecuta la funci贸n UNE_Actor"
|
| 1505 |
+
state = une_actor(state, temp_srt_files[8].name, srt_final)
|
| 1506 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1507 |
print("Transcripci贸n con AD, Add_Silence_AD, Introduccion_OCR, Identity_Manager y norma UNE guardada")
|
| 1508 |
|
| 1509 |
user_prompt = "Ejecuta la funci贸n Valoracion_Final"
|
| 1510 |
+
state = valoracion_final(state, srt_final, csv_evaluacion)
|
| 1511 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1512 |
print("Valoraci贸n guardada")
|
| 1513 |
|
| 1514 |
user_prompt = "Ejecuta la funci贸n Free_Narration"
|
| 1515 |
+
#final_state, messages_registro = run_salamandra_agent(salamandraclient, final_state, tools, user_prompt, messages_registro, count)
|
| 1516 |
+
state = free_narration(state, srt_final, free_narration_moe)
|
| 1517 |
print("Free Narration guardada")
|
| 1518 |
|
| 1519 |
srt_update(srt_final,srt_final)
|