File size: 1,249 Bytes
fa20d20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
43
44
45
46
47
48
49
50
51
52
53
54
55
"""

Parent Chunk ๋ถ„์„ ํ”„๋กฌํ”„ํŠธ

"""

from typing import Optional


def get_parent_chunk_analysis_prompt(

    content: str,

    max_length: int = 8000

) -> str:
    """

    Parent Chunk ๋ถ„์„์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ

    

    Args:

        content: ๋ถ„์„ํ•  ์ „์ฒด ํ…์ŠคํŠธ

        max_length: ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จํ•  ์ตœ๋Œ€ ํ…์ŠคํŠธ ๊ธธ์ด

    

    Returns:

        ํ”„๋กฌํ”„ํŠธ ๋ฌธ์ž์—ด

    """
    content_preview = content[:max_length]
    is_truncated = len(content) > max_length
    
    truncation_note = "\n(์ฐธ๊ณ : ํ…์ŠคํŠธ๊ฐ€ ๊ธธ์–ด ์ผ๋ถ€๋งŒ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.)" if is_truncated else ""
    
    prompt = f"""๋‹ค์Œ ์›น์†Œ์„ค ํ…์ŠคํŠธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์„ธ๊ณ„๊ด€, ์บ๋ฆญํ„ฐ, ์Šคํ† ๋ฆฌ, ์—ํ”ผ์†Œ๋“œ, ๊ธฐํƒ€ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜์„ธ์š”.



ํ…์ŠคํŠธ:

{content_preview}{truncation_note}



๋‹ค์Œ ํ˜•์‹์œผ๋กœ ์‘๋‹ตํ•˜์„ธ์š”:



## ์„ธ๊ณ„๊ด€

[์„ธ๊ณ„๊ด€์— ๋Œ€ํ•œ ์ƒ์„ธ ์„ค๋ช…]



## ์บ๋ฆญํ„ฐ

[์ฃผ์š” ์บ๋ฆญํ„ฐ๋“ค์˜ ํŠน์ง•๊ณผ ๋ฐฐ๊ฒฝ]



## ์Šคํ† ๋ฆฌ

[์ฃผ์š” ์Šคํ† ๋ฆฌ ๋ผ์ธ๊ณผ ์ „๊ฐœ]



## ์—ํ”ผ์†Œ๋“œ

[์ฃผ์š” ์—ํ”ผ์†Œ๋“œ์™€ ์‚ฌ๊ฑด๋“ค]



## ๊ธฐํƒ€

[๊ธฐํƒ€ ์ค‘์š”ํ•œ ์ •๋ณด]



๊ฐ ์„น์…˜์€ ์ƒ์„ธํ•˜๊ณ  ๊ตฌ์กฐํ™”๋œ ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”."""
    
    return prompt