fix(openai): adjustments

-
master
TBS093A 2025-05-20 18:19:29 +02:00
parent 50d5f2f1cb
commit 8df1bd3cec
3 changed files with 11 additions and 11 deletions

View File

@ -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}"""

View File

@ -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
) )

View File

@ -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()