File size: 1,104 Bytes
0e8e2dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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