language:
- en
- ko
license: other
tags:
- facebook
- meta
- pytorch
- llama
- llama-3
- llama-3-ko
pipeline_tag: text-generation
license_name: llama3
license_link: LICENSE
Llama-3-Open-Ko-8B-Instruct-preview
Update @ 2024.05.01: Pre-Release Llama-3-KoEn-8B model & Llama-3-KoEn-8B-Instruct-preview
Update @ 2024.04.24: Release Llama-3-Open-Ko-8B model & Llama-3-Open-Ko-8B-Instruct-preview
Model Details
Llama-3-Open-Ko-8B-Instruct-preview
Llama-3-Open-Ko-8B model is continued pretrained language model based on Llama-3-8B.
This model is trained fully with publicily available resource, with 60GB+ of deduplicated texts.
With the new Llama-3 tokenizer, the pretraining conducted with 17.7B+ tokens, which slightly more than Korean tokenizer(Llama-2-Ko tokenizer).
The train was done on TPUv5e-256, with the warm support from TRC program by Google.
With applying the idea from Chat Vector paper, I released Instruction model named Llama-3-Open-Ko-8B-Instruct-preview.
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.
Sample usage
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "beomi/Llama-3-Open-Ko-8B-Instruct-preview"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
)
messages = [
{"role": "system", "content": "μΉμ ν μ±λ΄μΌλ‘μ μλλ°©μ μμ²μ μ΅λν μμΈνκ³ μΉμ νκ² λ΅νμ. λͺ¨λ λλ΅μ νκ΅μ΄(Korean)μΌλ‘ λλ΅ν΄μ€."},
{"role": "user", "content": "νΌλ³΄λμΉ μμ΄μ΄ λμΌ? κ·Έλ¦¬κ³ νΌλ³΄λμΉ μμ΄μ λν΄ νμ΄μ¬ μ½λλ₯Ό μ§μ€λ³Όλ?"},
]
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = model.generate(
input_ids,
max_new_tokens=512,
eos_token_id=terminators,
do_sample=True,
temperature=1,
top_p=0.9,
)
response = outputs[0][input_ids.shape[-1]:]
print(tokenizer.decode(response, skip_special_tokens=True))
Sample Output
μ¬λ¬λΆκ»μλ λ¬Όλ‘ μμλμ§λΌλ μ€λͺ
μ λλ¦¬κ² μ΅λλ€! νΌλ³΄λμΉ(Piconacci) μμ΄μ λ€μκ³Ό κ°μ μμ΄μ λ§ν©λλ€: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,.... μ΄λ κ² κ³μλκ³ μμ΅λλ€. μ΄ μμ΄μ μΌλ°μ μΌλ‘λ μνμμ 무νν μ§μλ©λλ€. κ° μλ μ΄μ μμ λ λ°°κ° λλ μμ΄μ
λλ€.
μ΄ μμ΄μ νμ΄μ¬(Python)μΌλ‘ ꡬννκ³ μ νμ λ€λ©΄ λ€μκ³Ό κ°μ μ½λλ₯Ό μμ±ν μ μμ΅λλ€.
```python
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
```
μ΄ μ½λμμλ `n`μ΄ μ
λ ₯λ°μ μλ₯Ό λνλ΄λ λ³μλ‘, νΌλ³΄λμΉ μμ΄μ ꡬνν©λλ€. μ΄ μ½λλ₯Ό μ€νμν€λ©΄ μ
λ ₯λ°μ μμ λ°λΌ νΌλ³΄λμΉ μμ΄μ ν΄λΉ νμ λ°νν©λλ€. μλ₯Ό λ€μ΄, `fibonacci(10)` νλ©΄ 55λ₯Ό λ°νν©λλ€.
μ΄ μ½λλ μ¬κ·μ ν¨μμ΄κΈ° λλ¬Έμ λ©λͺ¨λ¦¬ μ¬μ©μ΄ μ€μ΄λ€ μ μμ΅λλ€. κ·Έλ¬λ μ¬κ·μ ν¨μλ λ©λͺ¨λ¦¬ μ¬μ©λμ΄ λ§μμ§ μ μμ΅λλ€. μ΄λ₯Ό μ€μ΄κΈ° μν΄ μ΄ν°λ μ΄ν°λΈ ν¨μλ‘ κ΅¬νν μλ μμ΅λλ€.
```python
a, b = 0, 1
for i in range(n):
a, b = b, a + b
```
μ΄ μ½λμμλ μ΄ν°λ μ΄ν°λΈ ν¨μλ‘ νΌλ³΄λμΉ μμ΄μ ꡬνν©λλ€. μ΄ μ½λλ₯Ό μ€νμν€λ©΄ μ
λ ₯λ°μ μμ λ°λΌ νΌλ³΄λμΉ μμ΄μ ν΄λΉ νμ λ°νν©λλ€. μ΄ μ½λλ λ©λͺ¨λ¦¬ μ¬μ©λμ μ€μ
λλ€. λ€λ§, μ΄ μ½λλ λ 볡μ‘ν©λλ€. μ΄ μ½λλ₯Ό λ κ°λ¨νκ² νλ €λ©΄ μ΄ν°λ μ΄ν°λΈ ν¨μλ₯Ό λ μ ꡬνν μ μμ΅λλ€.
```python
a, b = 0, 1
while True:
if n == 1:
return a
a, b = b, a + b
n -= 1
```
μ΄ μ½λμμλ μ
λ ₯λ°μ μμ λ°λΌ νΌλ³΄λμΉ μμ΄μ...
More samples
I used same system prompt, but you could change on your own.
messages = [
{"role": "system", "content": "μΉμ ν μ±λ΄μΌλ‘μ μλλ°©μ μμ²μ μ΅λν μμΈνκ³ μΉμ νκ² λ΅νμ. λͺ¨λ λλ΅μ νκ΅μ΄(Korean)μΌλ‘ λλ΅ν΄μ€."},
{"role": "user", "content": "νκ΅μ μ ν νλ²μ λν΄μ μμΈν μ€λͺ
ν΄μ£ΌμΈμ."},
]
---
νκ΅μ μ ν νλ²μ 1948λ
7μ 17μΌμ μ μ λ λνλ―Όκ΅ νλ²μΌλ‘μ, λνλ―Όκ΅μ μ립과 νλ² μ§μλ₯Ό μ ν νλ²μΈλ°μ. μ΄ νλ²μ λνλ―Όκ΅μ κΈ°λ³ΈμμΉκ³Ό κ΅λ―Όμ κΆμ΅μ κ·μ νκ³ μμ΅λλ€. 17μ‘°λ‘ κ΅¬μ±λ νλ² 1021κ° μ‘°νμΌλ‘ ꡬμ±λμ΄ μμ΅λλ€. νλ²μ μΌκΆλΆλ¦½, κ΅λ―Όμ£ΌκΆ, κΈ°λ³ΈκΆ, μνμ λ, νμ κΆ, μ
λ²κΆ, μ¬λ²κΆ λ±μΌλ‘ ꡬμ±λμ΄ μμ΅λλ€.
μ°μ , μΌκΆλΆλ¦½μ λν΅λ Ήγκ΅νμμγλ λ²κ΄μΌλ‘ μ‘°μ§λ μΈλ―Όμ ν΅μ μ μν΄ κ΅κ° κΆνμ λλμ΄ μμνκ³ μμ΅λλ€. λν΅λ Ήμ κ΅κ°μμλ‘μ νμ κΆμ, κ΅νμμμ μ
λ²κΆμ, λλ²μμ μ¬λ²κΆμ νν μ μμ΅λλ€. μ΄μ λ°λΌ νμ λΆγμ
λ²λΆγμ¬λ²λΆμ 견μ μ κ· νμ ν΅ν΄ μ μΉμ μμ μ±μ ν보νκ³ μμ΅λλ€.
κ΅λ―Όμ£ΌκΆμ νλ² μ 1μ‘°μμ "λνλ―Όκ΅μ 민주곡νκ΅"μμ μ μΈνκ³ , λͺ¨λ κΆλ ₯μ κ΅λ―ΌμΌλ‘λΆν° λμ¨λ€λ μ리λ₯Ό κ·μ ν©λλ€. κ΅λ―ΌμΌλ°μ΄ μ΅κ³ μ μ£ΌκΆμμμ λΆλͺ
ν λ³΄μ¬ μ£Όκ³ μμ΅λλ€.
μνμ λλ μ
λ²λΆλ₯Ό ꡬμ±νλ μνμ κ·Έ κΈ°λ₯μ μ νκ³ μμ΅λλ€. μμμ κ΅λ―Όμ λνλ‘ μ μΆλκ³ , κ΅μ μ΄μμ λν κ΅μ κ°μγλΉνγκ°μ μ±
μ λ§λ ¨ν©λλ€. λν νλ²μ κ·μ λ μ무λ₯Ό μ΄νν΄μΌ ν©λλ€.
μ
λ²κΆκ³Ό μ¬λ²κΆμ νλ²μ μ γκ°μ μ κ΄μ¬νκ³ , λ²λ₯ μ μ μ γκ°νν μ μμ΅λλ€. λν μ¬λ²κΆμ νλ²μ ν΄μγμ μ©νκ³ μμ΅λλ€. μ΄μ λ°λΌ μ°λ¦¬λλΌμ λ²μΉμ£Όμ μμΉμ ꡬνν©λλ€. νλ§λλ‘ μΈλ―Όμ κΈ°λ³ΈκΆμ 보νΈνκ³ μμ΅λλ€.
μ΄λ¬ν λνλ―Όκ΅μ νλ²μ μΈκ°μ μμ μ κΆλ¦¬λ₯Ό 보μ₯νκΈ° μν΄ κ΅λ―Όμ κΈ°λ³ΈκΆμ κ·μ νκ³ μμ΅λλ€. μλ₯Ό λ€μ΄ κΈ°λ³ΈκΆμλ λͺ¨λ κ΅λ―Όμ μΈκ°μ μ‘΄μκ³Ό κ°μΉ λ° ν볡μΆκ΅¬κΆ, μΌνκ³ , μΌνλ κΆλ¦¬λ₯Ό 보μ₯ν©λλ€. λν μ§νγκ²°μ¬γννμ μμ μ μ κ±°κΆμ 보μ₯ν©λλ€. μμ μ κΈ°λ³ΈκΆμ 보μ₯ν κ²μ νλ²μ΄ μ§ν₯νλ λ―Όμ£Όμ κΈ°λ³Έμ§μ νμ±μ ꡬννλ κ²μ
λλ€. λ§μ§λ§μΌλ‘ κ΅λ―Όμ νλ²μ κ°μ νκ³ μμΌ μ μ μ ν μ μμ΅λλ€.
μ΄μ κ°μ λνλ―Όκ΅μ μ ν νλ²μ κ΅λ―Όμ κΈ°λ³ΈκΆκ³Ό νλ² μ§μλ₯Ό κ²¬κ³ νκ² νμ¬, μ μΉμ μμ μ±μ μ μ§νκ³ μμ΅λλ€. νλ²μ λ³κ²½μμλ 곡μ νκ³ κ³΅νν νκ²°μ κ±°μ³μΌ ν©λλ€.
λ°λΌμ λνλ―Όκ΅μ μ ν νλ²μ κ·Έ μλ―Έκ° λ§€μ° ν½λλ€. νλ²μ ν΅ν΄ λνλ―Όκ΅μ λ―Όμ£Όμ£Όμλ₯Ό νκ³ ν νλ κ²μ
λλ€. κ΅λ―Όμ κΆλ¦¬μ μ무λ₯Ό μ νκ³ μμ΅λλ€. μ΄νλ²μ λνλ―Όκ΅μ κΈ°λ³ΈμμΉμ΄ λμμ΅λλ€. 7γ28μ μΈκ³Ό 5γ16κ΅°μ¬νλͺ
μ ν΅ν΄ νλλμ΄ νλ²μ μ‘΄μμ±μ΄ λ€μ μ 립λμμ΅λλ€. μ΄νλ²μ λνλ―Όκ΅μ κ·Όκ°μ΄ λμμ΅λλ€.
λμμ΄ νμνμ
¨λμ? μΆκ°λ‘ μ€λͺ
ν΄ λ릴κΉμ?
messages = [
{"role": "system", "content": "μΉμ ν μ±λ΄μΌλ‘μ μλλ°©μ μμ²μ μ΅λν μμΈνκ³ μΉμ νκ² λ΅νμ. λͺ¨λ λλ΅μ νκ΅μ΄(Korean)μΌλ‘ λλ΅ν΄μ€."},
{"role": "user", "content": "μ΄μμ μ₯κ΅°μ λν΄ μ€λͺ
ν΄μ€."},
]
---
μ΄μμ μ₯κ΅°μ μ‘°μ μλμ 무μΈμΌλ‘, λνλ―Όκ΅μ κ΅κ°μ 곡μμΈ μ°μμ 곡 μ΄μμ μ₯κ΅°μ 1545λ
9μ 28μΌ κ²½μλ¨λ μλ Ήμμ νμ΄λ¬μ΅λλ€. μ΄μμ μ₯κ΅°μ ν΅μ μ¬ μμ μ μλ λ μ‘°μ κ³Ό λͺ
λλΌ μ°ν©κ΅°μ λκ·λͺ¨ κ΅°λλ₯Ό μΌμΌμΌ λ첩μ μ±κ³΅μ μΌλ‘ μ΄λμ΄ μ μ μ¬λκ³Ό μμ§μλμ μΉλ¦¬λ‘ μ΄λ μΈλ¬Όμ
λλ€. κ·Έλ 1592λ
μ λΌμ’μμκ΄μ°°μ¬κ° λμ΄ μ λΌμ’μμμμ μμ μ 물리쳀μΌλ©°, 1597λ
μλ μμκ³Ό νμ λ°©μ΄μ μ±κ³΅μ μΌλ‘ μΉλ£νμ΅λλ€. λν λͺ
λλ첩μμ μμ κ³Ό 격μ νμ¬ μ΄μμ μ΄μμ μ₯κ΅°μ λͺ
λλ첩μμ μ‘°μ κ΄κ΅°μ μΉλ¦¬λ₯Ό μ΄λμμ΅λλ€. μ΄μμ μ₯κ΅°μ μ리λ₯Ό μ§ν€κΈ° μν΄ μ 리νμ κ³ μνλ κ²°λ¨μ λ΄λ Έμ΅λλ€. μ΄μμ μ₯κ΅°μ 1598λ
μ¬μ²μ± μ ν¬μμ ν¨μ ν ν μ μΈκ° μμ λΌ μ μΈκ° λΆλ¦¬ν΄μ§μ, λ¨ννμ¬ μ΄μμ μ₯κ΅°μ κ²°κ΅ μΆ©λ¬΄κ³΅ μ΄μμ μ μΉνΈλ₯Ό λ°μμ΅λλ€. κ·Έμ 곡μ μ λνλ―Όκ΅ μ΄μμ μ₯κ΅° κΈ°λ
κ΄μΌλ‘ λͺ
μλ₯Ό λμ΄κ³ μμ΅λλ€. μ΄μμ μ₯κ΅°λμ μ νμ μΉνΈλ‘ 1963λ
건κ΅νμ₯ μ΅κ³ νμ₯μ μμ¬λ°μμΌλ©°, λνλ―Όκ΅μ κ΅λ³΄ μ 13νΈλ‘ μ§μ λμ΅λλ€. μ΄μμ μ₯κ΅°μ μ μ€μ μΈ μΈλ¬Όλ‘ νκ΅μ μμ¬μμ ν° μ‘±μ μ λ¨κ²Όμ΅λλ€. μ΄μμ μ₯κ΅°μ΄ μλ λΉμμ μ ν¬μ₯μλ μΆ©λ¬΄κ³΅μ΄ μ λΌ μ²μμκ² λλΌλ₯Ό μν΄ μΈμ΄ κ³³μ μ΄μμ μ₯κ΅°μ λ¬κ° μμ΅λλ€. λλΌμ κ³ λμ μ§μ± μ΄μμ μ₯κ΅°λμ μμ
κ³Ό μ리λ₯Ό κΈ°λ
νλ κ³³μ
λλ€. μ΄μμ μ₯κ΅°μ νμ μ μ΄μμ μ₯κ΅° κΈ°λ
κ΄, μ΄μμ 곡μ λ±μ΄ μμ΅λλ€. μ΄μμ μ₯κ΅°μ 곡μ μ κΈ°λ
νκΈ° μν΄ λ€μν λ¬Ένμ μ°κ³Ό κΈ°λ
λ¬Όμ΄ μ‘°μ±λμ΅λλ€. μ΄μμ μ₯κ΅°μ μ μ μ λλΌλ₯Ό μν΄ μΈμ΄ μλν μ°λ¦¬μ μμ
μ
λλ€. 1552λ
12μμλ μ΄μμ μ₯κ΅°μ μ μ€μ μλ λλ€μ λ°°ν₯, νμ¬λ 좩무곡 μ΄μμ μ₯κ΅°κ»μλ μ°λ¦¬λλΌμ μμ§μ μΈλ¬Όμ΄ λμ΅λλ€. μ΄μμ μ₯κ΅°μ μ‘°μ μμ‘°μ μ€μλ₯Ό λ°κ³ μμ΅λλ€. μ΄μμ μ₯κ΅°μ μ μ‘°μκ² λ§μ λμλ₯Ό μ΄λ£¨μμ΅λλ€. μ΄μμ μ₯κ΅°μ 곡μ μ μ€λλ μ μ΄λμ΄ μ£Όλ μΈλ¬Όμ
λλ€. κ·Έλ₯Ό λͺ¨μ κ²μ μ κ΅μ μ¬λλ€μ
λλ€. μ΄μμ μ₯κ΅°λμ κ³ κ²°ν μ μ μ μ°λ¦¬λλΌκ° μ΄λ£©ν μ±κ³Όμ
λλ€. μ΄μμ μ₯κ΅°μ λλΌλ₯Ό μν΄ μΈμ΄ μλν μΈλ¬Όμ
λλ€. μ΄μμ μ₯κ΅°μ λνλ―Όκ΅μμ κ°μ₯ μλν μΈλ¬Όμ
λλ€. μ΄μμ μ₯κ΅°μ νμ μ μμν κΈ°μ΅ λκ² μ§μ.
messages = [
{"role": "system", "content": "μΉμ ν μ±λ΄μΌλ‘μ μλλ°©μ μμ²μ μ΅λν μμΈνκ³ μΉμ νκ² λ΅νμ. λͺ¨λ λλ΅μ νκ΅μ΄(Korean)μΌλ‘ λλ΅ν΄μ€."},
{"role": "user", "content": "μΈμ’
λμμ μ§νμ λ§₯λΆ λμ§ μ¬κ±΄μ λν΄μ μκ³ μμ΄?"},
]
---
λ€, μΈμ’
λμμ μ§νμ λ§₯λΆ λμ§ μ¬κ±΄μ μ‘°μ μλ μ€κΈ°μ λ¬Ένμ λ°°κ²½κ³Ό κ΄λ ¨λ μ€μν μ¬κ±΄μ
λλ€. 1399λ
10μ 2μΌμ μΌμ΄λ μ΄ μ¬κ±΄μ μΈμ’
λμμ΄ μ μ ν γμ£Όν΄γμ λν λΉνλ¬ΈμΈ γμμ°λ‘γμ μ μ ν μ΅λ§λ¦¬μμ λ
ΌμμΌλ‘ μμλμ΅λλ€. λΉμ μΈμ’
λμμ μ§νμ νμ¬λ€μκ² λ¬ΈμλΆμ μΌμΉλ 견ν΄λ₯Ό ꡬνλ μ€μ μ΅λ§λ¦¬κ° γμμ°λ‘γμ κΈμ κ±°λ‘ νμ¬ λΉννμ, μΈμ’
λμμ΄ λ§₯λΆμ λμ‘λ€κ³ ν©λλ€. μ΄ μ¬κ±΄μ μ¬μμ μΌλ‘λ μ‘°μ μμ‘° μ΄κΈ° λ¬ΈμλΆμ νμ 체κ³μ μ μΉμ 견ν΄μ λ립μ λ
ΈμΆνλ μ¬κ±΄μ΄μ λ¬Ένμ¬μ μΈ λ¬Έμ λ‘ μ΄μ΄μ‘μ΅λλ€. μ΄ μ¬κ±΄μΌλ‘ μΈν΄ μ‘°μ μλμ λ¬ΈμλΆμ μ¬λλΆμ κ²¬ν΄ μ°¨μ΄μ μ λ
ΈμΆνλ μ€μν μ¬κ±΄μΌλ‘ κΈ°λ‘λκ³ μμ΅λλ€. μ£Όλ‘ λ
Όμ λ°°κ²½μ γμ£Όν΄γμ μ μλ λ΄μ© λΆμμ λν μ΄κ²¬κ³Ό μ§νμ νμ¬λ€μ λ¬Έμκ΄μ λν λΉνμ μ€μ¬μΌλ‘ μ΄λ€μ‘μ΅λλ€. μ΄ μ¬κ±΄μ μ‘°μ μ΄κΈ° μμ‘° λ΄λΆμ κ²¬ν΄ μ°¨μ΄μ λ°λ₯Έ νμ μ μΈ λ
ΌμμΌλ‘ μμλμ΄ μ μΉμ μΈ μμΈκΉμ§ κ²°λΆνμ¬ μ‘°μ μμ‘° μ΄κΈ° λ¬Ένμ Β·μ μΉμ λ
ΌμμΌλ‘ νμ₯λμμ΅λλ€. μ΄ μ¬κ±΄μ λΉμμ μμ‘° λ΄λΆμ κ΄λ£μ λμ μΈλ ₯μΈ΅μ κ°λ±μ 보μ¬μ£Όλ μ€μν μκ° λ©λλ€. μ΄ μ¬κ±΄μμ μ£Όλ₯ ννμ λΉνλΏ μλλΌ, μμ¬μ μ¬μ€μ μ곑μ λν λ
Όλλ μ κΈ° λ©λλ€. μ€μ λ‘ μ¬κ°ν μ¬λμ μ΄λνλ λκ·λͺ¨μ μΈ λ
ΌμμΌλ‘ νμ°λμ§ μμλ€ νλλΌλ λΉμ μ¬λλΆ λ΄λΆμ κ²¬ν΄ μ°¨μ΄λ μ μΉμ μ΅μμΌλ‘ μΈν μ¬νμ μ§κ° λ³λμ μΌμΌν€κΈ°λ νμ΅λλ€. λΉμμ λ§₯λΆ λμ§μ λ¬ΈμλΆμ 견ν΄κ° κ°λλ μ¬κ±΄μ΄λΌ ν μ μμ΅λλ€. λμ±μ΄ λΉμμ λ§₯λΆ λμ§μ μ¬νμ μ§μμΈμΈ΅μμλ μ΄κ²¬μ΄ μμ μ μλ κ²μ κΈ°λ³Έμ
λλ€. μ΄ μ¬κ±΄μΌλ‘ μ€λλ κΉμ§λ νκ΅μ μμ¬μμ μ€μν μ°κ΅¬ λμμ΄ λκ³ μμ΅λλ€. λ§₯λΆ μ΄λΌλ λ§μ μ¬κ±΄μ 주무λλΌλ μ©μ΄λ₯Ό λ§λ€μ΄ λΉμμ μ¬κ±΄μ ννν μ μμ΅λλ€. μ΄ μ¬κ±΄μ μ£Όλ‘ μ μΉΒ·νμ Β·μμ λ± μ¬νμ Β·λ¬Ένμ μΈ μ¬λ¬ λΆμΌμμ μΌμ΄λκ² λ©λλ€. μ΄ μ¬κ±΄μ μ΄λ
μ κ΄μ μ μ°¨μ΄μμ μμλμ§λ§, μ¬νμ λ립과 κ°λ±κΉμ§ μ΄λνλ μ¬κ±΄μΌλ‘ κ°μ£ΌνκΈ°λ ν©λλ€. μ΄ λ¬Έκ±΄μ λν μ¬ν΄μμ ν΅ν΄ λΉμ νκ΅ μ¬νλ₯Ό μ΄ν΄ν μ μμ΅λλ€. μ΅λ§λ¦¬λ λ¬ΈμλΆμ 견ν΄λ₯Ό λΉνν μ μλ 곡κ°μΌλ‘ 보μμ§λ§, λΉμμ λ§₯λΆμ μ μΉμ Β·λ¬Έμμ μΌλ‘λ μ¬κ°ν λ¬Έμ λ‘ μΈμνκ² λ©λλ€. μ΄ μ¬κ±΄μ λΉμμ μν©μ μ΄ν΄νλ λ° λμμ΄ λ©λλ€. μ΄λ‘ μ μ΄ μ¬νμ μ£Όλ₯ ννμ΄λ λ¬Ένμ λ°°κ²½μ μ½μ μ μλ μ€μν μ¬κ±΄μ μ¦κ±°μ
λλ€. λ°λΌμ μ΄ μ¬κ±΄μ μ€λλ κΉμ§λ λ€μν λ°©λ©΄μμ μ°κ΅¬μ λμμΌλ‘ λ¨μ μμ΅λλ€. μ΄ μ¬κ±΄μ΄ μ μ μΌλ‘ λ
Όμλ§μ΄ μλλΌλ μ μ μ£Όμν νμκ° μμ΅λλ€. μ΄μ ν¨κ» μ¬λλΆ λ΄λΆμ κ²¬ν΄ μ°¨μ΄ κ·Έλ¦¬κ³ μ§μ κ°λ±μ νλμ μλ―Έλ₯Ό μ΄ν΄νλλ° λμμ΄ λ©λλ€. μ΄ μ¬κ±΄μΌλ‘ μΈν΄, λ¬ΈμλΆμ μ μΉμ 견ν΄μ λ립μ νκ΅ μ¬νμ λ³νμ λν ν μμμ 보μ¬μ£Όλ νλμ μλ£κ° λ©λλ€. μ΄λ‘μ¨ μ°λ¦¬λ μ‘°μ μμ‘° μ΄κΈ° λ¬Ένμ λ°°κ²½κ³Ό μ κΆμ 견ν΄λ₯Ό νμΈν μ μμ΅λλ€. μ΄ μ¬κ±΄μ λΉμμ νκ΅ μ¬νμ λ¬Ένμ Β·μ μΉμ νμ κ°μ΄λ° νλμ
λλ€. μ΄μ κ°μ λ§₯λΆ λμ§ μ¬κ±΄μμ μ°λ¦¬λ λ€μν λ°©μμΌλ‘ νκ΅μ¬μ μμ¬μ μΈ λ°°κ²½μ νμΈν μ μμ΅λλ€. λ§μ§λ§μΌλ‘ λ§₯λΆ μ¬κ±΄μ μ¬κ±΄ μμ²΄κ° μλ μ¬κ±΄μ λ§₯λ½μμ νκ΅μ¬μ μΈ λ°°κ²½μ νμ
νλ κ²μ΄ μ€μν©λλ€. μ°λ¦¬λ μ΄ μ¬κ±΄μΌλ‘ λΉμμ μ¬νμμ μ΄ν΄νκ³ λ¬Ένμ λ°°κ²½μ νμ
ν μ μμ΅λλ€. μ΄μ μμ μ¬κ±΄μ λΉμ μ¬νμ μ€μμ±μ κ°μ‘°ν©λλ€. μ΄ μ¬κ±΄μ μ¬νμ¬μ μΌλ‘ μ°κ΅¬νμ¬ λΉμ μ¬νμμ μ€μμ±μ νμΈν μ μμ΅λλ€. μ΄ μ μ μμ¬μ Β·λ¬Ένμ λ°°κ²½μ μ¬ν΄μν μ μμ΅λλ€. μ΄ μ¬κ±΄μ μ‘°μ μμ‘° μ΄κΈ°μ μ£Όμ μ¬κ±΄μ΄ λ©λλ€. μ΄ μ μμ μ€μν μ¬κ±΄μΌλ‘ μΈμ ν©λλ€. λ
Όμμ μ κ°κΉμ§λ μ΄λ³΄λ€ λ 볡μ‘ν μ μμ΅λλ€. λ§₯λΆ λμ§ μ¬κ±΄
messages = [
{"role": "system", "content": "μΉμ ν μ±λ΄μΌλ‘μ μλλ°©μ μμ²μ μ΅λν μμΈνκ³ μΉμ νκ² λ΅νμ. λͺ¨λ λλ΅μ νκ΅μ΄(Korean)μΌλ‘ λλ΅ν΄μ€."},
{"role": "user", "content": "λλ μ€λ μ¬κ³Ό 5κ°λ₯Ό κ°κ³ μμ΄. κ·Έλ¦¬κ³ μ΄μ λλ μ¬κ³Ό 2κ°λ₯Ό λ¨Ήμμ§. λ΄κ° μ§κΈ κ°μ§ μ¬κ³Όλ λͺ κ°μ§?"},
]
---
μ¬κ³Όμ μλμ νμΈνκ² μ΅λλ€. μ λ 5κ°μ μ¬κ³Όκ° μμΌμ λ°, κ·Έ μ€ 2κ°λ₯Ό μ΄λ―Έ λ¨ΉμμΌλ 3κ°μ μ¬κ³Όκ° λ¨μμμ΅λλ€! γ
γ
. κ³μν΄μ λ¨Ήμ κ³ν μμμμ? π