Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,217 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language:
|
3 |
+
- en
|
4 |
+
- ko
|
5 |
+
license: cc-by-nc-sa-4.0
|
6 |
+
tags:
|
7 |
+
- facebook
|
8 |
+
- meta
|
9 |
+
- pytorch
|
10 |
+
- llama
|
11 |
+
- llama-3
|
12 |
+
- llama-3-ko
|
13 |
+
pipeline_tag: text-generation
|
14 |
+
license_name: llama3
|
15 |
+
license_link: LICENSE
|
16 |
+
---
|
17 |
+
|
18 |
+
## Llama-3-KoEn-8B-Instruct-preview
|
19 |
+
|
20 |
+
> Update @ 2024.05.01: Pre-Release [Llama-3-KoEn-8B model](https://huggingface.co/beomi/Llama-3-KoEn-8B-preview) & [Llama-3-KoEn-8B-Instruct-preview](https://huggingface.co/beomi/Llama-3-KoEn-8B-Instruct-preview)
|
21 |
+
|
22 |
+
## Model Details
|
23 |
+
|
24 |
+
**Llama-3-KoEn-8B-Instruct-preview**
|
25 |
+
|
26 |
+
Llama-3-KoEn-8B model is continued pretrained language model based on Llama-3-8B.
|
27 |
+
|
28 |
+
The train was done on TPUv5e-256, with the warm support from TRC program by Google.
|
29 |
+
|
30 |
+
With applying the idea from [Chat Vector paper](https://arxiv.org/abs/2310.04799),
|
31 |
+
I released Instruction model named [Llama-3-KoEn-8B-Instruct-preview](https://huggingface.co/beomi/Llama-3-KoEn-8B-Instruct-preview).
|
32 |
+
|
33 |
+
Since it is NOT finetuned with any Korean instruction set(indeed `preview`), but it would be great starting point for creating new Chat/Instruct models.
|
34 |
+
|
35 |
+
**Sample usage**
|
36 |
+
|
37 |
+
```python
|
38 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM
|
39 |
+
import torch
|
40 |
+
|
41 |
+
model_id = "beomi/Llama-3-KoEn-8B-Instruct-preview"
|
42 |
+
|
43 |
+
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
44 |
+
model = AutoModelForCausalLM.from_pretrained(
|
45 |
+
model_id,
|
46 |
+
torch_dtype="auto",
|
47 |
+
device_map="auto",
|
48 |
+
)
|
49 |
+
|
50 |
+
messages = [
|
51 |
+
{"role": "system", "content": "์น์ ํ ์ฑ๋ด์ผ๋ก์ ์๋๋ฐฉ์ ์์ฒญ์ ์ต๋ํ ์์ธํ๊ณ ์น์ ํ๊ฒ ๋ตํ์. ๋ชจ๋ ๋๋ต์ ํ๊ตญ์ด(Korean)์ผ๋ก ๋๋ตํด์ค."},
|
52 |
+
{"role": "user", "content": "ํผ๋ณด๋์น ์์ด์ด ๋ญ์ผ? ๊ทธ๋ฆฌ๊ณ ํผ๋ณด๋์น ์์ด์ ๋ํด ํ์ด์ฌ ์ฝ๋๋ฅผ ์ง์ค๋ณผ๋?"},
|
53 |
+
]
|
54 |
+
|
55 |
+
input_ids = tokenizer.apply_chat_template(
|
56 |
+
messages,
|
57 |
+
add_generation_prompt=True,
|
58 |
+
return_tensors="pt"
|
59 |
+
).to(model.device)
|
60 |
+
|
61 |
+
terminators = [
|
62 |
+
tokenizer.eos_token_id,
|
63 |
+
tokenizer.convert_tokens_to_ids("<|eot_id|>")
|
64 |
+
]
|
65 |
+
|
66 |
+
outputs = model.generate(
|
67 |
+
input_ids,
|
68 |
+
max_new_tokens=512,
|
69 |
+
eos_token_id=terminators,
|
70 |
+
do_sample=True,
|
71 |
+
temperature=1,
|
72 |
+
top_p=0.9,
|
73 |
+
)
|
74 |
+
response = outputs[0][input_ids.shape[-1]:]
|
75 |
+
print(tokenizer.decode(response, skip_special_tokens=True))
|
76 |
+
```
|
77 |
+
|
78 |
+
**Sample Output**
|
79 |
+
|
80 |
+
ํผ๋ณด๋์น ์์ด์ ์ดํ๋ฆฌ์ ์ํ์ ๋ ์ค๋๋ฅด๋ ํผ๋ณด๋์น์ ์ด๋ฆ์ ๋ฐ์ ์ ๋๋ ์์ด์
๋๋ค. ํผ๋ณด๋์น ์์ด์ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ป์ด์ง๋ ๋ฑ์ฐจ์์ด๋ก, ๋ค์ ์๋ฅผ ๊ตฌํ๋ ๋จ์ํ ๊ท์น์ ์ํด ์์ฑ๋๋ ์์ด์
๋๋ค.
|
81 |
+
|
82 |
+
1, 1, 2, 3, 5, 8, 13, 21,... (๋ฑ์ฐจ ์์ด)
|
83 |
+
|
84 |
+
์ด๋ฌํ ์์ด์ ์์ฐ ์ธ๊ณ์๋ ๋ง์ด ๋ฐ๊ฒฌ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์์น์ด ์๋ผ๋ ๋ฐฉ์, ๋ฌ๊ฑ์ด ๋ถํ๋๋ ํ์, ์ฝ๋ผ๋ฆฌ์ ์์ฅ ๋ฑ์ด ํผ๋ณด๋์น ์์ด์ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์
๋๋ค. ๐ฑ๐ฆ๐ฎ
|
85 |
+
|
86 |
+
์ง๊ธ๋ถํฐ๋ ํ์ด์ฌ ์ฝ๋๋ฅผ ์์ฑํด ๋ณผ๊น์? ๐
|
87 |
+
|
88 |
+
๋จผ์ , ํ์ด์ฌ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด ํ์ํ ๋ชจ๋์ ์์ต๋๋ค. ์ ํฌ๋ ํผ๋ณด๋์น ์์ด์ ์์ฑํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ฑํ ๊ฒ์
๋๋ค.
|
89 |
+
|
90 |
+
1. ํ์ด์ฌ ์ฝ๋ ์์ฑ
|
91 |
+
๋ค์์ ํผ๋ณด๋์น ์์ด์ ์์ฑํ๋ ์ฝ๋์
๋๋ค. ์ด ์ฝ๋๋ `while` ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ํผ๋ณด๋์น ์์ด์ ์์ฑํฉ๋๋ค.
|
92 |
+
|
93 |
+
```python
|
94 |
+
def fib(n):
|
95 |
+
if n <= 1:
|
96 |
+
return n
|
97 |
+
a, b = 0, 1
|
98 |
+
for _ in range(2, n+1):
|
99 |
+
a, b = b, a + b
|
100 |
+
return b
|
101 |
+
|
102 |
+
n = int(input("ํผ๋ณด๋์น ์์ด์ ์ผ๋ง๋ ์์ฑํ ์ง ์
๋ ฅํ์ธ์: "))
|
103 |
+
for i in range(n):
|
104 |
+
print(fib(i+1))
|
105 |
+
```
|
106 |
+
2. ์ฝ๋ ์ค๋ช
|
107 |
+
์ ์ฝ๋๋ `fib(n)` ํจ์๋ฅผ ์ ์ํฉ๋๋ค. ์ด ํจ์๋ `n`๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ๋ฐํํฉ๋๋ค.
|
108 |
+
|
109 |
+
`fib(n)` ํจ์๋ `if` ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ์ฌ `n`์ด 0 ๋๋ 1์ผ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ ์ฆ์ ๋ฐํํฉ๋๋ค.
|
110 |
+
|
111 |
+
`a, b = 0, 1`์ ํผ๋ณด๋์น ์์ด์ ์ด๊ธฐ ๊ฐ์ ์ค์ ํฉ๋๋ค. `a`๋ `0`์, `b`๋ `1`์ ํ ๋นํฉ๋๋ค.
|
112 |
+
|
113 |
+
`for` ๋ฃจํ๋ `range(2, n+1)`์์ ์์ฑ๋๋ ๋ฐ๋ณต์ ์ํํฉ๋๋ค. ์ด ๋ฐ๋ณต์ `a, b = b, a + b`๋ฅผ ์ํํ์ฌ ํผ๋ณด๋์น ์์ด์ ์์ฑํฉ๋๋ค.
|
114 |
+
|
115 |
+
`print(fib(i+1))`๋ `fib(n)` ํจ์ ํธ์ถ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
|
116 |
+
|
117 |
+
3. ์ฝ๋ ์คํ
|
118 |
+
์ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํด ํ์ด์ฌ ์ธํฐํ๋ ํฐ์์ ๋ค์๊ณผ ๊ฐ์ด ์คํํ ์ ์์ต๋๋ค.
|
119 |
+
```python
|
120 |
+
$ python fib.py
|
121 |
+
ํผ๋ณด๋์น ์์ด์ ์ผ๋ง๋ ์์ฑํ ์ง ์
๋ ฅํ์ธ์: 10
|
122 |
+
1
|
123 |
+
1
|
124 |
+
2
|
125 |
+
3
|
126 |
+
5
|
127 |
+
8
|
128 |
+
13
|
129 |
+
21
|
130 |
+
34
|
131 |
+
55
|
132 |
+
```
|
133 |
+
์ ์ฝ๋๋ฅผ ์คํํ๋ฉด, ์ฌ์ฉ์๋ `ํผ๋ณด๋์น ์์ด์ ์ผ๋ง๋ ์์ฑํ ์ง ์
๋ ฅํ์ธ์:`๋ฅผ ์
๋ ฅํ ์ ์์ต๋๋ค. ์ด ์
๋ ฅ์ `n`์ ํ ๋น๋ฉ๋๋ค. `n`์ ์ฝ๋๊ฐ ํผ๋ณด๋์น ์์ด์ ์์ฑํ๋ ํ์๋ฅผ ๊ฒฐ์ ํ๋ ๋ณ์์
๋๋ค. ์ฌ์ฉ์๋ ์ด ํ์๋ฅผ ์
๋ ฅํ์ฌ ํผ๋ณด๋์น ์์ด์ ์์ฑํ ์ ์์ต๋๋ค.
|
134 |
+
|
135 |
+
์ด์ ํ์ด์ฌ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์คํํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํ์ต๋๋ค. ๐
|
136 |
+
|
137 |
+
### More samples
|
138 |
+
|
139 |
+
> I used same system prompt, but you could change on your own.
|
140 |
+
|
141 |
+
```python
|
142 |
+
messages = [
|
143 |
+
{"role": "system", "content": "์น์ ํ ์ฑ๋ด์ผ๋ก์ ์๋๋ฐฉ์ ์์ฒญ์ ์ต๋ํ ์์ธํ๊ณ ์น์ ํ๊ฒ ๋ตํ์. ๋ชจ๋ ๋๋ต์ ํ๊ตญ์ด(Korean)์ผ๋ก ๋๋ตํด์ค."},
|
144 |
+
{"role": "user", "content": "ํ๊ตญ์ ์ ํ ํ๋ฒ์ ๋ํด์ ์์ธํ ์ค๋ช
ํด์ฃผ์ธ์."},
|
145 |
+
]
|
146 |
+
---
|
147 |
+
๋ํ๋ฏผ๊ตญ ํ๋ฒ์ 1948๋
7์ 17์ผ ์ ์ ๋ ์ด๋ ํ์ฌ๊น์ง ๋ํ๋ฏผ๊ตญ์ ๊ธฐ๋ณธ๋ฒ์ธ ๊ตญ๊ฐ์ ๊ธฐ๋ณธ์ง์์ ๊ตญ๊ฐ๊ธฐ๊ด์ ๊ถํ, ๊ตญ๋ฏผ์ ๊ถ๋ฆฌยท์๋ฌด, ํต์น์กฐ์ง, ํต์น๋ฐฉ๋ฒ ๋ฑ์ ๊ท์ ํ๋ ๋ฒ๋ฅ ์
๋๋ค. ํ๋ฒ์ ๋ํ๋ฏผ๊ตญ์ ์ต๊ณ ๋ฒ๋ น์ผ๋ก, ์ผ๋ฐ๋ฒ์ ๋ชจ๋ ๋ฒ๋ฅ ์ ๊ทผ๊ฑฐ๊ฐ ๋ฉ๋๋ค. ๋ํ ํ๋ฒ์ 1987๋
์ ์ ๋ ์ 6๊ณตํ๊ตญ ํ๋ฒ๋ถํฐ๋ '๋ฏผ์ฃผ๊ณตํ๊ตญ'์ ๊ธฐ๋ณธ์ง์๋ก ๊ท์ ํ๊ณ ์์ต๋๋ค.
|
148 |
+
|
149 |
+
** ์ฃผ์ ๋ด์ฉ **
|
150 |
+
|
151 |
+
1. ๊ธฐ๋ณธ์ง์ : ๋ฏผ์ฃผ๊ณตํ๊ตญ, ํต์ผ์กฐ๊ตญ์ ์์น, ์ธ๊ถ์ ๋ณด์ฅ
|
152 |
+
2. ๊ตญ๋ฏผ์ ๊ถ๋ฆฌ : ์ ์ฒด์ ์์ , ๊ธฐ๋ณธ์ ์ธ๊ถ, ์ฌ์ฐ๊ถ, ์ฐธ์ ๊ถ
|
153 |
+
3. ๊ตญ๊ฐ๊ธฐ๊ด : ๋ํต๋ น, ๊ตญ๋ฌด์ด๋ฆฌ, ๊ตญํ, ๋๋ฒ์, ํ๋ฒ์ฌํ์, ๊ฒ์ฐฐ
|
154 |
+
4. ํต์น์กฐ์ง : ํ์ ๋ถ, ์
๋ฒ๋ถ, ์ฌ๋ฒ๋ถ์ ๋ถ๋ฆฌ
|
155 |
+
5. ํต์น๋ฐฉ๋ฒ : ๋ฏผ์ฃผ์ฃผ์(๊ตญ๋ฏผ์ ์ฃผ๊ถ์ ์ํ์ฌ ๊ตญ๋ฏผ์ผ๋ก๋ถํฐ ์์๋ฐ์ ๊ถ๋ ฅ ํ์ฌ), ๋ฒ์น์ฃผ์(๋ฒ๋ฅ ์ ์ํ์ฌ ํต์น)
|
156 |
+
|
157 |
+
** ์ฃผ์ ์กฐํญ **
|
158 |
+
|
159 |
+
1. ์ 1์กฐ : ๋ํ๋ฏผ๊ตญ์ ๋ฏผ์ฃผ๊ณตํ๊ตญ์์ ์ฒ๋ช
|
160 |
+
2. ์ 2์กฐ : ๋ฏผ์ฃผ๊ณตํ๊ตญ์ ์ฃผ๊ถ์ ๊ตญ๋ฏผ์๊ฒ ์์ผ๋ฉฐ, ๋ชจ๋ ๊ถ๋ ฅ์ ๊ตญ๋ฏผ์ผ๋ก๋ถํฐ ๋์จ๋ค
|
161 |
+
3. ์ 10์กฐ : ๋ชจ๋ ๊ตญ๋ฏผ์ ํ๋ณต์ ์ถ๊ตฌํ ๊ถ๋ฆฌ๋ฅผ ๊ฐ์ง๋ค
|
162 |
+
4. ์ 13์กฐ : ๋ชจ๋ ๊ตญ๋ฏผ์ ์ฃผ๊ฑฐ์ ์์ ๋ฅผ ๊ฐ๋๋ค
|
163 |
+
5. ์ 25์กฐ : ๊ตญ๊ฐ๋ ์ฌํด๋ฅผ ๋ฐฉ์งํ๊ณ ๊ทธ์ ๋์ฒํ๋ ์์ฑ
์ ์ํํ์ฌ์ผ ํ๋ค
|
164 |
+
6. ์ 64์กฐ : ๋ํต๋ น์ ๋ฒ๋ฅ ์ ๊ณตํฌํ๊ณ , ๊ตญ๋ฌด์ด๋ฆฌ์ ๊ตญ๋ฌด์์์ ์๋ช
ํ๋ค
|
165 |
+
7. ์ 111์กฐ : ๋๋ฒ์์ ์ต์ข
์ ์ธ ๋ฒ๋ฅ ์ฌํ์ ํํ๊ณ , ํ๋ฒ์ฌํ์๋ ํ๋ฒ์ ์๋ฐ๋๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์
|
166 |
+
|
167 |
+
** ํ๋ฒ์ ํจ๋ ฅ **
|
168 |
+
|
169 |
+
ํ๋ฒ์ ๋ํ๋ฏผ๊ตญ์ ๊ธฐ๋ณธ๋ฒ๋ฅ ์ด๋ฏ๋ก ๋ชจ๋ ๊ตญ๋ฏผ์ ํ๋ฒ์ ๋ฐ๋ผ์ผ ํฉ๋๋ค. ๋ํ ํ๋ฒ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ํ๋ฒ๊ฐ์ ์์ ์ ์ํ๊ณ , ์ด๋ฅผ ๊ตญ๋ฏผํฌํ์ ๋ถ์ฌ์ผ ํ๋ฉฐ, ์ด๋ฅผ ํต๊ณผํ๋ฉด ์ ํ๋ฒ์ ์ ์ ํ๊ฒ ๋ฉ๋๋ค. (์ 130์กฐ)
|
170 |
+
|
171 |
+
์ด์, ๋ํ๋ฏผ๊ตญ ํ๋ฒ์ ์ฃผ์ ๋ด์ฉ๊ณผ ์กฐํญ, ํจ๋ ฅ์ ์ค๋ช
ํ์์ต๋๋ค. ํ๊ตญ ํ๋ฒ์ ๋ฏผ์ฃผ๊ณตํ๊ตญ์ ๊ธฐ๋ณธ์ง์๋ฅผ ์ค์ํ๊ณ , ๊ธฐ๋ณธ๊ถ์ ๋ณดํธํ ๋ฟ๋ง ์๋๋ผ, ํต์น์กฐ์ง์ ๋ถ๋ฆฌ, ๋ฒ์น์ฃผ์, ๋ฏผ์ฃผ์ฃผ์๋ฅผ ๊ทผ๊ฐ์ผ๋ก ํฉ๋๋ค. ๐ฐ๐ท
|
172 |
+
```
|
173 |
+
|
174 |
+
```python
|
175 |
+
messages = [
|
176 |
+
{"role": "system", "content": "์น์ ํ ์ฑ๋ด์ผ๋ก์ ์๋๋ฐฉ์ ์์ฒญ์ ์ต๋ํ ์์ธํ๊ณ ์น์ ํ๊ฒ ๋ตํ์. ๋ชจ๋ ๋๋ต์ ํ๊ตญ์ด(Korean)์ผ๋ก ๋๋ตํด์ค."},
|
177 |
+
{"role": "user", "content": "์ด์์ ์ฅ๊ตฐ์ ๋ํด ์ค๋ช
ํด์ค."},
|
178 |
+
]
|
179 |
+
---
|
180 |
+
์ด์์ ์ฅ๊ตฐ์ ์กฐ์ ์ ๋ฌธ์ , ๋ฌด์ , ํด๊ตฐ์ ์์
์ผ๋ก 1592๋
๋ถํฐ 1598๋
๊น์ง ์์ง์๋๊ณผ ์ ์ ์ฌ๋ ๋์ ํด๊ตฐ์ผ๋ก์ ํ์ฝํ์ต๋๋ค. ๊ทธ๋ 1591๋
์ ๋ผ์ข๋ ์๊ตฐ์ ๋์ฌ๊ฐ ๋์ด ์ ์ ๊ณต๊ฒฉ ์ ํต์ ์ด์ด๋ฐ์ ๋ฐ, '์ ์์ฑ'๊ณผ '์ ์ฉ', '๋ํ์ ' ๋ฑ์ ๋ณ๋ฒ์ ๋์
ํ์ฌ ์กฐ์ ์๊ตฐ์ ๊ฐํธํ์ต๋๋ค. ์ด์์ ์ฅ๊ตฐ์ ๊ฐ์ฅ ํฐ ์
์ ์ผ๋ก๋ ๋ ๊ฐ์ง๋ฅผ ๊ผฝ์ ์ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ 'ํ์ฐ๋ ๋์ฒฉ'์
๋๋ค. 1592๋
7์ 8์ผ, ์ด์์ ์ฅ๊ตฐ์ ์ด๋๋ ์กฐ์ ์๊ตฐ 13์ฒ์ด ์๊ตฐ 133์ฒ์ ๋ง์ 13์ฒ์ ๋ฐฐ๋ก๋ ๋ถ๊ฐ๋ฅํ ์ ์์ ๋ฒ์ด๊ฒ ๋ฉ๋๋ค. ์ด๋ ์ด์์ ์ฅ๊ตฐ์ '์งํด์ ๊ณก'์ ์ ์ ์ ์ฌ์ฉํ์ฌ 13์ฒ์ ๋ฐฐ๋ฅผ 133์ฒ์ ๋ฐฐ์ ์ธ์ ์น๋ฆฌ๋ฅผ ๊ฑฐ๋์์ต๋๋ค. ๋ ๋ฒ์งธ๋ '๋
ธ๋ํด์ '์
๋๋ค. 1598๋
11์ 14์ผ, ์ด์์ ์ฅ๊ตฐ์ ๋
ธ๋์์ 12์ฒ์ ๋ฐฐ๋ก 330์ฒ์ ๋ฐฐ๋ฅผ ์ด๋๋ ์ํค์์นด ์ผ์คํ๋ฃจ์ ์ธ์ฐ๊ฒ ๋ฉ๋๋ค. ์ด๋ ์ด์์ ์ฅ๊ตฐ์ ๋ฐฐ์ ๋ช
์ค๋ ์ด์์ด 1๋ฐ์ด์๊ณ , 12์ฒ์ ๋ฐฐ๊ฐ ๊ณ ์ ์ ๋ฉด์น ๋ชปํ์ง๋ง, ์ด์์ ์ฅ๊ตฐ์ ๋๊น์ง ์ธ์ 2๋ช
์ ์ ์ธํ๊ณ ๋ ์ ์ ์ ์ฌํ๊ฒ ๋ฉ๋๋ค. ์ด์์ ์ฅ๊ตฐ์ ์ ํฌ๋ฅผ ๋น๋กฏํ์ฌ ๊ทธ์ ์
์ ์ ์กฐ์ ์๊ตฐ์ ์ ํฌ ์น๋ฆฌ๋ฅผ ์ด๋์์ผ๋ฉฐ, ๊ทธ์ ์ด๋ฆ์ ํ๊ตญ์ ๊ตญ๋ณด ์ 76ํธ๋ก ๋ฑ์ฌ๋์ด ์์ต๋๋ค. ์ด์์ ์ฅ๊ตฐ์ ์
์ ๊ณผ ์ ์ ์ ํ๊ตญ ์ญ์ฌ์ ๋ฌธํ์ ์ง๋ํ ์ํฅ์ ๋ผ์ณค์ต๋๋ค.
|
181 |
+
```
|
182 |
+
|
183 |
+
```python
|
184 |
+
messages = [
|
185 |
+
{"role": "system", "content": "์น์ ํ ์ฑ๋ด์ผ๋ก์ ์๋๋ฐฉ์ ์์ฒญ์ ์ต๋ํ ์์ธํ๊ณ ์น์ ํ๊ฒ ๋ตํ์. ๋ชจ๋ ๋๋ต์ ํ๊ตญ์ด(Korean)์ผ๋ก ๋๋ตํด์ค."},
|
186 |
+
{"role": "user", "content": "๋
๋์ ๋ค์ผ์๋ง์ ์ฐจ์ด๊ฐ ๋ญ์ผ?"},
|
187 |
+
]
|
188 |
+
---
|
189 |
+
! `ํ๊ตญ์ ๊ณ ์ ์ํ `์ `์ผ๋ณธ์ ์์ ๊ถ ๊ณผ์ฅ` ์ฐจ์ด! ๐
|
190 |
+
|
191 |
+
์ผ๋ณธ์ด ์ฃผ์ฅํ๋ `๋ค์ผ์๋ง(็ซนๅณถ)`๋, ์ค์ ๋ก๋ '์ธ๋ฆ๋' ์์ชฝ ์ฝ 87km ์ง์ ์ ์๋ '๋
๋(็จๅณถ)'๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. ํ๊ตญ์ด ์ญ์ฌ์ ์ผ๋ก๋ถํฐ ์ง๋ฐฐํ๊ณ ๊ด๋ฆฌํด์จ ๊ฒ์ ๋ฌผ๋ก , ์ ๋ค์ค์ฝ ์ธ๊ณ์ ์ฐ์ผ๋ก ๋ฑ์ฌ๋ `๋ํ๋ฏผ๊ตญ์ ์ํ `์ด์ง์. ๐
|
192 |
+
|
193 |
+
ํํธ, ๋
๋๋ ํ๊ตญ์ ๊ณ ์ ๏ฟฝ๏ฟฝ๏ฟฝ๋ฆ์ผ๋ก, `์ธ๋ฆ๋`์ ํจ๊ป `์ผ๊ตญ์ฌ๊ธฐ`์ ์ฒ์ ๊ธฐ์ฌ๋ `๋ํ๋ฏผ๊ตญ์ ๊ณ ์ ์ฌ`์
๋๋ค. 1886๋
์ผ๋ณธ์ด '๋ค์ผ์๋ง'๋ผ๊ณ ๋ช
๋ช
ํ ์ด๋, ๊ณต์์ ์ผ๋ก `์ผ๋ณธ ๊ณ ์ ์ฌ`์ผ๋ก ์ฃผ์ฅํ๊ณ ์์ง๋ง, ์ด๋ `์ญ์ฌ ์๊ณก`์
๋๋ค! โ ๏ธ
|
194 |
+
|
195 |
+
๋ฐ๋ผ์, ์ธ๊ณ์ ์ผ๋ก ์ธ์ ๋ฐ๋ ๊ตญ๊ฐ์ `์ํ `๋ ํ๊ตญ์ `๋
๋`๊ฐ ๋ง๋ ๊ฒ์ด์ง์! ๐ฅ `์ธ๋ฆ๋`๋ `๋
๋`๋ ํ๊ตญ์ ๊ณ ์ ์ํ ์ ์ํ ์ฌ๋ค์ด๋๋๋ค! ๐
|
196 |
+
|
197 |
+
ํน์ ๋ ๊ถ๊ธํ ์ฌ์ค์ด ์์ผ๋ฉด ๋ง์ํด์ฃผ์ธ์! ๐ค
|
198 |
+
```
|
199 |
+
|
200 |
+
```python
|
201 |
+
messages = [
|
202 |
+
{"role": "system", "content": "์น์ ํ ์ฑ๋ด์ผ๋ก์ ์๋๋ฐฉ์ ์์ฒญ์ ์ต๋ํ ์์ธํ๊ณ ์น์ ํ๊ฒ ๋ตํ์. ๋ชจ๋ ๋๋ต์ ํ๊ตญ์ด(Korean)์ผ๋ก ๋๋ตํด์ค."},
|
203 |
+
{"role": "user", "content": "์ธ์ข
๋์์ ์งํ์ ๋งฅ๋ถ ๋์ง ์ฌ๊ฑด์ ๋ํด์ ์๊ณ ์์ด?"},
|
204 |
+
]
|
205 |
+
---
|
206 |
+
์์ฃผ ํฅ๋ฏธ๋ก์ด ์ฌ๊ฑด์
๋๋ค. ์ธ์ข
๋์์ด ์งํ์ ์์ ๋งฅ๋ถ์ ๋์ก๋ค๋ ์ด์ผ๊ธฐ๋ ์์ต๋๋ค. ์ค์ ๋ก ์ธ์ข
๋์์ 1418๋
1์ 9์ผ ์งํ์ ์์ 26๋ช
์ ๋ฌธ์ ๊ณผ ํจ๊ป ์๋ก์ด ํ๋ฏผ์ ์ ๋ฐํฌ๋ฅผ ์ํด ๊ฐ์์ฒด์ ๊ธ์จ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ฐ๋ํ ํ์ค์ฑ ๋ฑ์ ๋ฌด๋ฆฌ์์ ๋
ผ์์ ๋ฒ์์ต๋๋ค. ๋น์ ์ธ์ข
๋์์ ์ด๋ค์ ์ฃผ์ฅ์ ๋จํธํ ๊ฑฐ๋ถํ์ต๋๋ค. ์ด ์ฌ๊ฑด์ '์งํ์ ๋
ผ๋ฐ ์ฌ๊ฑด'์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค. ๋งฅ๋ถ๊ณผ ๊ด๋ จ๋ ์ผ์ด ์๋๋ผ๋ ๊ฒ์ด์ฃ . ๋งฅ๋ถ์ 2006๋
์ ํ์ด ์ถ์ํ ๋
ธํธ๋ถ์ ๋ธ๋๋๋ช
์
๋๋ค. ์ธ์ข
๋์์ด ์ด์๋ ์๊ธฐ๋ 1418๋
์์ 1450๋
๊น์ง์
๋๋ค. ๋งฅ๋ถ์ ํจ์ฌ ๋ค์ ์ผ์
๋๋ค. ๐
|
207 |
+
```
|
208 |
+
|
209 |
+
```python
|
210 |
+
messages = [
|
211 |
+
{"role": "system", "content": "์น์ ํ ์ฑ๋ด์ผ๋ก์ ์๋๋ฐฉ์ ์์ฒญ์ ์ต๋ํ ์์ธํ๊ณ ์น์ ํ๊ฒ ๋ตํ์. ๋ชจ๋ ๋๋ต์ ํ๊ตญ์ด(Korean)์ผ๋ก ๋๋ตํด์ค."},
|
212 |
+
{"role": "user", "content": "๋๋ ์ค๋ ์ฌ๊ณผ 5๊ฐ๋ฅผ ๊ฐ๊ณ ์์ด. ๊ทธ๋ฆฌ๊ณ ์ด์ ๋๋ ์ฌ๊ณผ 2๊ฐ๋ฅผ ๋จน์์ง. ๋ด๊ฐ ์ง๊ธ ๊ฐ์ง ์ฌ๊ณผ๋ ๋ช ๊ฐ์ง?"},
|
213 |
+
]
|
214 |
+
---
|
215 |
+
๐ ๋น์ ์ ์ค๋ 5๊ฐ์ ์ฌ๊ณผ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ 2๊ฐ๋ฅผ ๋จน์๋ค๊ณ ํ์
จ์ผ๋, ์ค๋ ํ์ฌ ๋น์ ์ด ๊ฐ๊ณ ์๋ ์ฌ๊ณผ๋ 5๊ฐ์์ 2๊ฐ๋ฅผ ๋บ 3๊ฐ์
๋๋ค! ๐
|
216 |
+
```
|
217 |
+
|