parent
50d5f2f1cb
commit
8df1bd3cec
|
|
@ -39,8 +39,9 @@ if not YOUTUBE_TRANSCRIPT_API_TOKEN:
|
||||||
|
|
||||||
# Inne ustawienia
|
# Inne ustawienia
|
||||||
TRANSCRIPT_LANGUAGES = ['pl', 'en'] # Priorytet języków transkrypcji
|
TRANSCRIPT_LANGUAGES = ['pl', 'en'] # Priorytet języków transkrypcji
|
||||||
SUMMARY_PROMPT = """Streść poniższy transkrypt filmu z YouTube w zwięzły sposób w języku polskim.
|
SUMMARY_PROMPT = """Dokonaj przeformułowania do bardziej czytelnej formy z zachowaniem wszystkich nawet najmniejszych szczegółów poniższego transkryptu w języku polskim z podziałem na sekcje tematyczne.
|
||||||
prosiłbym o dokonanie tego streszczenia w formacie Markdown.
|
Użyj formatu Markdown dla lepszej czytelności.
|
||||||
|
Upewnij się, że wszystkie znaki specjalne Markdown (*, _, [], (), #, `, ~) są poprawnie escapowane (poprzedzone znakiem \).
|
||||||
|
|
||||||
Transkrypt:
|
Przetłumaczony transkrypt:
|
||||||
{transcript}"""
|
{transcript}"""
|
||||||
|
|
@ -9,7 +9,7 @@ from .db import save_video_summary, check_if_url_exists
|
||||||
from .config import TRANSCRIPT_LANGUAGES
|
from .config import TRANSCRIPT_LANGUAGES
|
||||||
|
|
||||||
# Stała dla maksymalnej długości wiadomości Telegram
|
# Stała dla maksymalnej długości wiadomości Telegram
|
||||||
MAX_MESSAGE_LENGTH = 4096
|
MAX_MESSAGE_LENGTH = 3900 # 4096
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
@ -78,7 +78,7 @@ async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
|
||||||
context.bot,
|
context.bot,
|
||||||
chat_id=chat_id,
|
chat_id=chat_id,
|
||||||
text=f"*Rozpoczynam przetwarzanie filmu:*\n{title}\n\n*Link:* {url}",
|
text=f"*Rozpoczynam przetwarzanie filmu:*\n{title}\n\n*Link:* {url}",
|
||||||
parse_mode="Markdown",
|
parse_mode=None,
|
||||||
disable_web_page_preview=True
|
disable_web_page_preview=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -99,6 +99,7 @@ async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
|
||||||
context.bot,
|
context.bot,
|
||||||
chat_id=chat_id,
|
chat_id=chat_id,
|
||||||
text=f"Film jest długi, podzielono transkrypcję na {len(chunks)} części. Przetwarzam każdą z nich...",
|
text=f"Film jest długi, podzielono transkrypcję na {len(chunks)} części. Przetwarzam każdą z nich...",
|
||||||
|
parse_mode=None,
|
||||||
disable_web_page_preview=True
|
disable_web_page_preview=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -121,7 +122,7 @@ async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
|
||||||
context.bot,
|
context.bot,
|
||||||
chat_id=chat_id,
|
chat_id=chat_id,
|
||||||
text=response_text,
|
text=response_text,
|
||||||
parse_mode="Markdown",
|
parse_mode=None,
|
||||||
disable_web_page_preview=True
|
disable_web_page_preview=True
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
@ -178,7 +179,7 @@ async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
|
||||||
context.bot,
|
context.bot,
|
||||||
chat_id=chat_id,
|
chat_id=chat_id,
|
||||||
text=final_text,
|
text=final_text,
|
||||||
parse_mode="Markdown",
|
parse_mode=None,
|
||||||
disable_web_page_preview=True
|
disable_web_page_preview=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -236,9 +236,7 @@ async def summarize_text(text: str, is_partial: bool = False, part_num: int = 0,
|
||||||
Połączone streszczenia:
|
Połączone streszczenia:
|
||||||
{text}"""
|
{text}"""
|
||||||
elif is_partial:
|
elif is_partial:
|
||||||
prompt = f"""Streść poniższy fragment transkryptu filmu z YouTube (część {part_num} z {total_parts})
|
prompt = f"""{SUMMARY_PROMPT.format(transcript=text)}
|
||||||
w zwięzły sposób w języku polskim. Skup się na głównych tematach i wnioskach.
|
|
||||||
Użyj formatu markdown.
|
|
||||||
|
|
||||||
Fragment transkryptu (część {part_num}/{total_parts}):
|
Fragment transkryptu (część {part_num}/{total_parts}):
|
||||||
{text}"""
|
{text}"""
|
||||||
|
|
@ -256,7 +254,7 @@ async def summarize_text(text: str, is_partial: bool = False, part_num: int = 0,
|
||||||
{"role": "user", "content": prompt}
|
{"role": "user", "content": prompt}
|
||||||
],
|
],
|
||||||
temperature=0.2, # Niższa temperatura dla bardziej spójnych streszczeń
|
temperature=0.2, # Niższa temperatura dla bardziej spójnych streszczeń
|
||||||
max_tokens=50000, # Ogranicz długość odpowiedzi
|
max_tokens=16384, # Ogranicz długość odpowiedzi
|
||||||
)
|
)
|
||||||
|
|
||||||
summary = response.choices[0].message.content.strip()
|
summary = response.choices[0].message.content.strip()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue