feat(telegram / openai): adjustments

-
master
TBS093A 2025-05-20 23:33:49 +02:00
parent aa38345587
commit 7090b03ebd
3 changed files with 11 additions and 4 deletions

View File

@ -45,3 +45,10 @@ Upewnij się, że wszystkie znaki specjalne Markdown (*, _, [], (), #, `, ~) są
Przetłumaczony transkrypt: Przetłumaczony transkrypt:
{transcript}""" {transcript}"""
DETAILED_SUMMARY_PROMPT = """Dokonaj streszczenia zachowaniem wszystkich nawet najmniejszych szczegółów poniższego transkryptu w języku polskim z podziałem na sekcje tematyczne.
Użyj formatu Markdown dla lepszej czytelności.
Upewnij się, że wszystkie znaki specjalne Markdown (*, _, [], (), #, `, ~) są poprawnie escapowane (poprzedzone znakiem \).
Przetłumaczony transkrypt:
{transcript}"""

View File

@ -135,7 +135,7 @@ async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
) )
# Jeśli mamy więcej niż 3 fragmenty, generuj końcowe streszczenie # Jeśli mamy więcej niż 3 fragmenty, generuj końcowe streszczenie
if len(chunks) > 3: if len(chunks) > 1:
await context.bot.send_chat_action(chat_id=chat_id, action='typing') await context.bot.send_chat_action(chat_id=chat_id, action='typing')
await safe_send_message( await safe_send_message(
context.bot, context.bot,

View File

@ -1,7 +1,7 @@
import logging import logging
from typing import Optional, Tuple, Dict, Any, List from typing import Optional, Tuple, Dict, Any, List
from openai import AsyncOpenAI # Używamy AsyncOpenAI dla kompatybilności z asyncio from openai import AsyncOpenAI # Używamy AsyncOpenAI dla kompatybilności z asyncio
from .config import OPENAI_API_KEY, SUMMARY_PROMPT from .config import OPENAI_API_KEY, SUMMARY_PROMPT, DETAILED_SUMMARY_PROMPT
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -236,12 +236,12 @@ 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"""{SUMMARY_PROMPT.format(transcript=text)} prompt = f"""{DETAILED_SUMMARY_PROMPT.format(transcript=text)}
Fragment transkryptu (część {part_num}/{total_parts}): Fragment transkryptu (część {part_num}/{total_parts}):
{text}""" {text}"""
else: else:
prompt = SUMMARY_PROMPT.format(transcript=text) prompt = DETAILED_SUMMARY_PROMPT.format(transcript=text)
logger.debug(f"Długość tekstu do streszczenia: {len(text)} znaków") logger.debug(f"Długość tekstu do streszczenia: {len(text)} znaków")