File size: 1,063 Bytes
c4ab5fa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d234e06
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
"""
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ถ”์ถœ ํ”„๋กฌํ”„ํŠธ
"""

from typing import Optional


def get_metadata_extraction_prompt(
    chunk_content: str,
    max_length: int = 2000
) -> str:
    """
    ์ฒญํฌ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ถ”์ถœ์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ
    
    Args:
        chunk_content: ๋ถ„์„ํ•  ์ฒญํฌ ๋‚ด์šฉ
        max_length: ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จํ•  ์ตœ๋Œ€ ํ…์ŠคํŠธ ๊ธธ์ด
    
    Returns:
        ํ”„๋กฌํ”„ํŠธ ๋ฌธ์ž์—ด
    """
    content_preview = chunk_content[:max_length]
    
    prompt = f"""๋‹ค์Œ ์›น์†Œ์„ค ํ…์ŠคํŠธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์•„๋ž˜ ์ •๋ณด๋ฅผ JSON ํ˜•์‹์œผ๋กœ๋งŒ ์‘๋‹ตํ•˜์„ธ์š”:

ํ…์ŠคํŠธ:
{content_preview}

๋‹ค์Œ ํ˜•์‹์œผ๋กœ๋งŒ ์‘๋‹ตํ•˜์„ธ์š” (JSON ํ˜•์‹):
{{
    "pov": "ํ™”์ž/์‹œ์ ์„ ์„ค๋ช…ํ•˜์„ธ์š” (์˜ˆ: 1์ธ์นญ ์ฃผ์ธ๊ณต, 3์ธ์นญ ์ „์ง€์  ์ž‘๊ฐ€ ๋“ฑ)",
    "characters": ["๋“ฑ์žฅ์ธ๋ฌผ1", "๋“ฑ์žฅ์ธ๋ฌผ2"],
    "time_background": "์‹œ๊ฐ„์  ๋ฐฐ๊ฒฝ ์„ค๋ช… (์˜ˆ: ๊ณผ๊ฑฐ ํšŒ์ƒ, ํ˜„์žฌ ์‹œ์ , ๋ฏธ๋ž˜ ๋“ฑ)"
}}

์‘๋‹ต์€ ์˜ค์ง JSON ํ˜•์‹๋งŒ ์‚ฌ์šฉํ•˜๊ณ , ๋‹ค๋ฅธ ์„ค๋ช…์€ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”."""
    
    return prompt