Notice
Recent Posts
Recent Comments
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
Archives
Today
In Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

A Joyful AI Research Journey๐ŸŒณ๐Ÿ˜Š

[6] 241106 Notion, Prompt Engineering [๊ตฌ๋ฆ„ goorm ์˜ฌ์ธ์› Pass! ์ธ๊ณต์ง€๋Šฅ ํ”„๋กœ์ ํŠธ ๋งˆ์Šคํ„ฐ 4๊ธฐ 6์ผ] ๋ณธ๋ฌธ

๐ŸŒณAI Project Mastery Bootcamp 2024โœจ/Revision

[6] 241106 Notion, Prompt Engineering [๊ตฌ๋ฆ„ goorm ์˜ฌ์ธ์› Pass! ์ธ๊ณต์ง€๋Šฅ ํ”„๋กœ์ ํŠธ ๋งˆ์Šคํ„ฐ 4๊ธฐ 6์ผ]

yjyuwisely 2024. 11. 6. 09:00

241106 Wed 6th class

์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ ์ค‘ ๊ธฐ์–ตํ•  ๊ฒƒ์„ ์ •๋ฆฌํ–ˆ๋‹ค.


ChatGPT ํ™œ์šฉ 

ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ์ค‘์š”: ์ฝ”๋“œ ๋ชฐ๋ผ๋„ ๋งŒ๋“ฆ 

ChatGPT, Claude ์ ˆ๋Œ€ ์˜์กดX 

AI ์‚ฌ์šฉ, ์‚ฌ์šฉX ์ฐจ์ด๊ฐ€ ์ปค์ง„๋‹ค 

๊ณ„์† ๊ต์œก ๋ฐ›๊ณ  ๊ณต๋ถ€ํ•ด์•ผํ•œ๋‹ค ์•„๊นŒ์›Œํ•˜๋ฉด X

๋ฐ”์˜๊ฒŒ, ์—ด์‹ฌํžˆ๊ฐ€ ํ•ญ์ƒ ์ข‹์€ ๊ฑด X

ํˆฌ์žํ•˜๋Š” ์‹œ๊ฐ„ -> ๋‚˜์˜ ๋ฐœ์ „, ์—…๋ฌด ๋ฐœ์ „ 

๋ˆ๋งŒ ๋ณด๋ฉด ์˜ค๋ž˜ ๋ชป๊ฐ 

์ง์—…์ด ์—†์–ด์ง€๊ณ  ์ผ์ด ๋  ์ˆ˜ ์žˆ๋‹ค ๊ณ ์ง‘X

๋‚œ ๋ฐ˜๋“œ์‹œ ์ด๊ฑธ ํ•ด์•ผํ•œ๋‹คX

์ˆ˜์š”๊ฐ€ ๋‚˜๋Š” ๋ถ„์•ผ๋กœ ์—ด์–ด๋‘”๋‹ค, ํˆฌ์žํ•ด์„œ ๊ฐ€์น˜๊ฐ€ ์žˆ์„ ๋ถ„์•ผ๋กœ ๊ฐ„๋‹ค 

์ž˜ ํ•˜๋Š” ๊ฑธ AI๋กœ ํ™œ์šฉํ•ด์„œ ๊ทธ ๋ถ„์•ผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. 

๊ฐ•์˜: ์ดˆ๊ธ‰์ž ๊ฐ•์˜๊ฐ€ ๋งŽ๋‹ค. ์ˆ˜์š”O

๋„ˆ๋ฌด ์‹œ๊ฐ„X (๊ฐ•์˜ ๋“ฑ)

ํšŒ์‚ฌ๊ฐ€์„œ ๊ณต๋ถ€, ์ง์žฅ์—์„œ ์ผ ์•ˆ ํ•˜๋ฉด ๋‹ค ๋ชจ๋ฅด๋Š” ๊ฑฐ๋‹ค 

ํŽธํ•œ ์ชฝ์œผ๋กœ ๊ฐ€๋ฉด X

๋…ธ์ฝ”๋”ฉ, ๋กœ์ฝ”๋”ฉ X, ๋•Œ๋กœ๋Š” ์ฝ”๋”ฉ์„ ํ•ด์„œ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค 

AI๊ฐ€ ์ฃผ๋‘๊ถŒ X, ์‚ฌ๋žŒ: ์ปจํŠธ๋กค 

๊ตญ์–ด๋ฅผ ์ž˜ ํ•œ๋‹ค -> AI์—๊ฒŒ ์ž˜ ์ „๋‹ฌ -> ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์„ ์ž˜ ํ•œ๋‹ค. 

2024๋…„ 11์›” 6์ผ ์˜ค๋Š˜์˜ ์ด์Šˆ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ์•Œ๋ ค์ฃผ๋ ด.

1๋…„  6๊ฐœ์›” ์ด์ƒ ์“ธ ๊ฒƒ ๊ฐ™๋‹ค -> ๊ตฌ๋…! 

๋…ผ๋ฌธ์„ ์ค‘์š”์‹œ ํ•˜๋Š” ๊ณณ์ด๋ผ๋ฉด ๋…ผ๋ฌธ ์ ์šฉ "~~ ๋…ผ๋ฌธ๊ณผ ๊ด€๋ จ๋œ ~~ ๋ฅผ ๋งŒ๋“ค์–ด์ค˜" 

๋…ผ๋ฌธ -> ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ ์šฉ -> ์ข‹์•„ํ•˜๋Š” ๊ธฐ์—…์ด ์žˆ๋‹ค. 


Notion

  • ๊ฐ€์žฅ ํฐ ์ œ๋ชฉ: # ๋˜๋Š” <h1> ํƒœ๊ทธ
  • ์ค‘๊ฐ„ ์ œ๋ชฉ: ## ๋˜๋Š” <h2> ํƒœ๊ทธ
  • ์ž‘์€ ์ œ๋ชฉ: ### ๋˜๋Š” <h3> ํƒœ๊ทธ

/๋ชฉ์ฐจ 

# + space

์ฝ”๋“œ ์ค„ ๋ฐ”๊ฟˆ ๊ฐ€๋Šฅ 

/ํ† ๊ธ€ /toggle 

window + shift + s -> ์บก์ณ 

๊ณต์œ  > ๊ฒŒ์‹œ


https://rowan-sail-868.notion.site/Prompt-1337d480b5938034a699d397716aecb8

 

Prompt ์‹ค์Šต - ์Šค๋งˆํŠธ ์Šคํ† ์–ด | Notion

๋„ค์ด๋ฒ„ ์ž๋™ ์™„์„ฑ ํ‚ค์›Œ๋“œ ๊ฐ€์ ธ์˜ค๊ธฐ(1)

rowan-sail-868.notion.site

https://rowan-sail-868.notion.site/Prompt-bab8adb4fc2741bf944b3c525b5ed68f

 

Prompt ์—”์ง€๋‹ˆ์–ด๋ง | Notion

Prompt Engineering ?

rowan-sail-868.notion.site

 

์ฝ”๋“œ) 

import requests

def get_naver_autocomplete(query):
    url = f"https://ac.search.naver.com/nx/ac"
    params = {
        "q": query,
        "con": "1",
        "frm": "nx",
        "ans": "2",
        "r_format": "json",
        "r_enc": "utf-8",
        "r_unicode": "0",
        "st": "100"
    }

    response = requests.get(url, params=params)
    
    if response.status_code == 200:
        data = response.json()
        suggestions = [item[0] for item in data['items'][0]]
        return suggestions
    else:
        print("์ž๋™์™„์„ฑ ์š”์ฒญ ์‹คํŒจ:", response.status_code)
        return None

# ํ…Œ์ŠคํŠธ ์˜ˆ์ œ
query = "ํŒŒ์ด์ฌ"
suggestions = get_naver_autocomplete(query)
print(f"'{query}'์˜ ์ž๋™์™„์„ฑ ํ‚ค์›Œ๋“œ:")
print(suggestions)

๊ฒฐ๊ณผ)

'ํŒŒ์ด์ฌ'์˜ ์ž๋™์™„์„ฑ ํ‚ค์›Œ๋“œ:
['ํŒŒ์ด์ฌ', 'ํŒŒ์ด์ฌ ์ž๊ฒฉ์ฆ', 'ํŒŒ์ด์ฌ ๋…ํ•™', 'ํŒŒ์ด์ฌ ์„ค์น˜', 'ํŒŒ์ด์ฌ ๊ธฐ์ดˆ', 'ํŒŒ์ด์ฌ ์ฑ…', 'ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ', 'ํŒŒ์ด์ฌ ๋œป', 'ํŒŒ์ด์ฌ int', 'ํŒŒ์ด์ฌ float']

 


ํ”„๋กฌํ”„ํŠธ)

๋ฐฉ๊ธˆ ํ”„๋กœ๊ทธ๋žจ์„ ์—…๊ทธ๋ ˆ์ด๋“œ ์‹œํ‚ค๊ณ  ์‹ถ๋‹ค. query๋ฅผ csv ํŒŒ์ผ์˜ 1์—ด๋กœ ์ž…๋ ฅ๋ฐ›๊ณ  ์‹ถ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ csv ํŒŒ์ผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์–ป์–ด์„œ 1์—ด์—๋Š” ํ‚ค์›Œ๋“œ, 2์—ด์—๋Š” ์ž๋™์™„์„ฑ ํ‚ค์›Œ๋“œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด ์ฃผ๋ ด.

์ฝ”๋“œ) 

import requests
import pandas as pd

def get_naver_autocomplete(query):
    url = f"https://ac.search.naver.com/nx/ac"
    params = {
        "q": query,
        "con": "1",
        "frm": "nx",
        "ans": "2",
        "r_format": "json",
        "r_enc": "utf-8",
        "r_unicode": "0",
        "st": "100"
    }

    response = requests.get(url, params=params)
    
    if response.status_code == 200:
        data = response.json()
        suggestions = [item[0] for item in data['items'][0]]
        return suggestions
    else:
        print("์ž๋™์™„์„ฑ ์š”์ฒญ ์‹คํŒจ:", response.status_code)
        return None

# ์—‘์…€์—์„œ query ์ฝ๊ธฐ
input_df = pd.read_excel("input_queries.xlsx", header=None)
queries = input_df.iloc[0].tolist()  # ์ฒซ ๋ฒˆ์งธ ํ–‰์˜ ๋ชจ๋“  query ๊ฐ€์ ธ์˜ค๊ธฐ

# ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ๋ฆฌ์ŠคํŠธ
results = []

# ๊ฐ query์— ๋Œ€ํ•ด ์ž๋™์™„์„ฑ ๊ฒฐ๊ณผ ๊ฐ€์ ธ์˜ค๊ธฐ
for query in queries:
    suggestions = get_naver_autocomplete(query)
    results.append(suggestions)

# ๊ฒฐ๊ณผ๋ฅผ ์ƒˆ๋กœ์šด ์—‘์…€ ํŒŒ์ผ๋กœ ์ €์žฅ
output_df = pd.DataFrame([queries, results])  # queries๋Š” 1ํ–‰, results๋Š” 2ํ–‰์— ์ €์žฅ
output_df.to_excel("output_suggestions.xlsx", index=False, header=False)

print("์ž๋™์™„์„ฑ ๊ฒฐ๊ณผ๊ฐ€ output_suggestions.xlsx ํŒŒ์ผ์— ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")

ํ”„๋กฌํ”„ํŠธ) 
์‹œ๊ฐ„ ์ง€์—ฐํ•˜์—ฌ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ฃผ๋ ด.

์ฝ”๋“œ) 

import requests
import pandas as pd
import time

def get_naver_autocomplete(query):
    url = f"https://ac.search.naver.com/nx/ac"
    params = {
        "q": query,
        "con": "1",
        "frm": "nx",
        "ans": "2",
        "r_format": "json",
        "r_enc": "utf-8",
        "r_unicode": "0",
        "st": "100"
    }

    response = requests.get(url, params=params)
    
    if response.status_code == 200:
        data = response.json()
        suggestions = [item[0] for item in data['items'][0]]
        return suggestions if suggestions else ["์ž๋™์™„์„ฑ ๊ฒฐ๊ณผ ์—†์Œ"]
    else:
        print("์ž๋™์™„์„ฑ ์š”์ฒญ ์‹คํŒจ:", response.status_code)
        return ["์ž๋™์™„์„ฑ ๊ฒฐ๊ณผ ์—†์Œ"]

# CSV ํŒŒ์ผ์—์„œ query ์ฝ๊ธฐ
input_df = pd.read_csv("input_queries.csv")
queries = input_df.iloc[:, 0].tolist()  # ์ฒซ ๋ฒˆ์งธ ์—ด์˜ ๋ชจ๋“  query ๊ฐ€์ ธ์˜ค๊ธฐ

# ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ๋ฆฌ์ŠคํŠธ
results = []

# ๊ฐ query์— ๋Œ€ํ•ด ์ž๋™์™„์„ฑ ๊ฒฐ๊ณผ ๊ฐ€์ ธ์˜ค๊ธฐ
for query in queries:
    suggestions = get_naver_autocomplete(query)
    print(query)
    results.append([query, ", ".join(suggestions)])
    
    # ๊ฐ ์š”์ฒญ ์‚ฌ์ด์— 2์ดˆ ์ง€์—ฐ ์ถ”๊ฐ€
    time.sleep(2)

# ๊ฒฐ๊ณผ๋ฅผ ์ƒˆ๋กœ์šด CSV ํŒŒ์ผ๋กœ ์ €์žฅ
output_df = pd.DataFrame(results, columns=["ํ‚ค์›Œ๋“œ", "์ž๋™์™„์„ฑ ๊ฒฐ๊ณผ"])
output_df.to_csv("output_suggestions.csv", index=False, encoding="utf-8-sig")

print("์ž๋™์™„์„ฑ ๊ฒฐ๊ณผ๊ฐ€ output_suggestions.csv ํŒŒ์ผ์— ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")

import requests
import pandas as pd
from datetime import datetime

def get_naver_autocomplete(query):
    url = f"https://ac.search.naver.com/nx/ac"
    params = {
        "q": query,
        "con": "1",
        "frm": "nx",
        "ans": "2",
        "r_format": "json",
        "r_enc": "utf-8",
        "r_unicode": "0",
        "st": "100"
    }

    response = requests.get(url, params=params)
    
    if response.status_code == 200:
        data = response.json()
        suggestions = [item[0] for item in data['items'][0]]
        return suggestions
    else:
        print(f"์ž๋™์™„์„ฑ ์š”์ฒญ ์‹คํŒจ: {response.status_code} (๊ฒ€์ƒ‰์–ด: {query})")
        return []

def read_keywords_from_excel(file_path):
    try:
        # Excel ํŒŒ์ผ ์ฝ๊ธฐ
        df = pd.read_excel(file_path)
        # 'ํ‚ค์›Œ๋“œ' ์ปฌ๋Ÿผ์˜ ๊ฐ’์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜
        keywords = df['ํ‚ค์›Œ๋“œ'].str.strip().tolist()
        return keywords
    except Exception as e:
        print(f"Excel ํŒŒ์ผ ์ฝ๊ธฐ ์˜ค๋ฅ˜: {e}")
        return []

def get_multiple_autocompletes(keywords):
    results = []
    for keyword in keywords:
        suggestions = get_naver_autocomplete(keyword)
        results.append({
            'ํ‚ค์›Œ๋“œ': keyword,
            '์ž๋™์™„์„ฑ ํ‚ค์›Œ๋“œ': ', '.join(suggestions),
            '๊ฒ€์ƒ‰์ผ์ž': datetime.now().strftime('%Y-%m-%d'),
            '์ถ”์ถœ ๊ฐœ์ˆ˜': len(suggestions)
        })
    return results

def save_results_to_excel(results, output_file):
    try:
        # ๊ฒฐ๊ณผ๋ฅผ DataFrame์œผ๋กœ ๋ณ€ํ™˜
        df = pd.DataFrame(results)
        
        # Excel ์ž‘์„ฑ์ž ์„ค์ •
        writer = pd.ExcelWriter(output_file, engine='xlsxwriter')
        
        # DataFrame์„ Excel๋กœ ์ €์žฅ
        df.to_excel(writer, index=False, sheet_name='์ž๋™์™„์„ฑ๊ฒฐ๊ณผ')
        
        # ์›Œํฌ๋ถ๊ณผ ์›Œํฌ์‹œํŠธ ๊ฐ€์ ธ์˜ค๊ธฐ
        workbook = writer.book
        worksheet = writer.sheets['์ž๋™์™„์„ฑ๊ฒฐ๊ณผ']
        
        # ์—ด ๋„ˆ๋น„ ์ž๋™ ์กฐ์ •
        for i, col in enumerate(df.columns):
            column_width = max(df[col].astype(str).apply(len).max(), len(col)) + 2
            worksheet.set_column(i, i, column_width)
# ํ—ค๋” ํ˜•์‹ ์ง€์ •
        header_format = workbook.add_format({
            'bold': True,
            'text_wrap': True,
            'valign': 'top',
            'fg_color': '#D7E4BC',
            'border': 1
        })
        
        # ํ—ค๋” ์Šคํƒ€์ผ ์ ์šฉ
        for col_num, value in enumerate(df.columns.values):
            worksheet.write(0, col_num, value, header_format)
            
        # ํŒŒ์ผ ์ €์žฅ
        writer.close()
        return True
    except Exception as e:
        print(f"Excel ํŒŒ์ผ ์ €์žฅ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}")
        return False

def main():
    # ํŒŒ์ผ ๊ฒฝ๋กœ ์„ค์ •
    input_file = 'input_keyword.xlsx'  # ์ž…๋ ฅ Excel ํŒŒ์ผ
    output_file = f'naver_autocomplete_results_{datetime.now().strftime("%Y%m%d")}.xlsx'  # ๊ฒฐ๊ณผ Excel ํŒŒ์ผ
    
    try:
        # Excel์—์„œ ํ‚ค์›Œ๋“œ ์ฝ๊ธฐ
        print("ํ‚ค์›Œ๋“œ ํŒŒ์ผ์„ ์ฝ๋Š” ์ค‘...")
        keywords = read_keywords_from_excel(input_file)
        
        if not keywords:
            print("ํ‚ค์›Œ๋“œ๋ฅผ ์ฝ์–ด์˜ค์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.")
            return
            
        print(f"์ด {len(keywords)}๊ฐœ์˜ ํ‚ค์›Œ๋“œ๋ฅผ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค.")
        
        # ์ž๋™์™„์„ฑ ํ‚ค์›Œ๋“œ ์ถ”์ถœ
        print("์ž๋™์™„์„ฑ ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœํ•˜๋Š” ์ค‘...")
        results = get_multiple_autocompletes(keywords)
        
        # ๊ฒฐ๊ณผ๋ฅผ Excel ํŒŒ์ผ๋กœ ์ €์žฅ
        print("๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๋Š” ์ค‘...")
        if save_results_to_excel(results, output_file):
            print(f"์ž๋™์™„์„ฑ ํ‚ค์›Œ๋“œ๋ฅผ '{output_file}' ํŒŒ์ผ์— ์„ฑ๊ณต์ ์œผ๋กœ ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.")
        else:
            print("๊ฒฐ๊ณผ ์ €์žฅ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.")
            
    except Exception as e:
        print(f"ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}")

if __name__ == "__main__":
    main()

ํ”„๋กฌํ”„ํŠธ)

ChatGPT API (๋ชจ๋ธ๋ช… gpt-4o)

~ ํ•˜๊ณ  ์‹ถ๋‹ค. ์ƒ˜ํ”Œ ์ฝ”๋“œ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ๋‹ˆ? 

(1)
(2)
(3)

์œ„์˜ ์ž‘์—… ๋‚ด์šฉ์„ ๊ธฐ์–ตํ•ด ์ฃผ๋ ด. ๊ทธ๋ฆฌ๊ณ  ์ด ์ž‘์—…์„ ์ด์–ด์„œ ํ•ด ๋‚˜๊ฐˆ๊ฑฐ์•ผ.


4-2 ์Šค๋งˆํŠธ ์Šคํ† ์–ด ๋ณต์Šต or ๋‚ด ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค์–ด๋ณด๊ธฐ


https://rowan-sail-868.notion.site/Prompt-bab8adb4fc2741bf944b3c525b5ed68f

 

Prompt ์—”์ง€๋‹ˆ์–ด๋ง | Notion

Prompt Engineering ?

rowan-sail-868.notion.site

๋ช…๋ น + ๋งฅ๋ฝ + ์˜ˆ์‹œ + ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ 

์•„๋ž˜ ์›๊ณ ์—์„œ ๊ด„ํ˜ธ[]๋‚ด์šฉ๋งŒ ์กฐ๊ธˆ ์‰ฝ๊ฒŒ ์ˆ˜์ •์„ ๋ถ€ํƒํ•ฉ๋‹ˆ๋‹ค.
 - ๊ด„ํ˜ธ ์ด์™ธ์˜ ๋ถ€๋ถ„์€ ๋ณ€๊ฒฝ์—†์ด ์ œ๊ณตํ•ด ์ฃผ์„ธ์š”.
 - ์ˆ˜์ •ํ•œ ๋‚ด์šฉ์€ ๋ณผ๋“œ์ฒด๋กœ ํ‘œ์‹œํ•ด ์ฃผ์„ธ์š”.
์•„๋ž˜ ์›๊ณ ์—์„œ ๊ด„ํ˜ธ[]๋‚ด์šฉ๋งŒ ์กฐ๊ธˆ ์‰ฝ๊ฒŒ ์ˆ˜์ •์„ ๋ถ€ํƒํ•ฉ๋‹ˆ๋‹ค.
 - ๊ด„ํ˜ธ ์ด์™ธ์˜ ๋ถ€๋ถ„์€ ๋ณ€๊ฒฝ์—†์ด ์ œ๊ณตํ•ด ์ฃผ์„ธ์š”.
 - ์ˆ˜์ •ํ•œ ๋‚ด์šฉ์€ ๋ณผ๋“œ์ฒด๋กœ ํ‘œ์‹œํ•ด ์ฃผ์„ธ์š”.
 - ์ˆ˜์ • ์ „๊ณผ ์ˆ˜์ • ํ›„์˜ ๋‚ด์šฉ์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•ด ์ฃผ์„ธ์š”.

์ผ๋ฐ˜์ ์œผ๋กœ ์˜์–ด๋กœ ํ•™์Šตํ•œ ์–‘์ด ๋งŽ๊ธฐ์— ์˜์–ด๋กœ ๋ฌผ์–ด๋ณผ ๋•Œ, ์ข€ ๋” ์ž์„ธํ•œ ์„ค๋ช…์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.


์ •๋ณด, ๋งฅ๋ฝ, ์˜ˆ์‹œ๋ฅผ ์ถ”๊ฐ€๋กœ ์ œ๊ณตํ•˜๊ธฐ

AI๋ฅผ ๊ณต๋ถ€์‹œํ‚จ๋‹ค. ์ˆ˜ ์ฒœ๋งŒ๊ถŒ ์ด์ƒ์„ ๊ณต๋ถ€ํ–ˆ์Œ


RAG์˜ ๊ทธ๋ฆผ๋„ AI๊ฐ€ ๋งŒ๋“ค์–ด ์ค€ ๊ฒƒ 

2021๋…„๋ถ€ํ„ฐ 2024๋…„๊นŒ์ง€์˜ ์€๊ณผ ๊ธˆ์˜ ๊ฐ€๊ฒฉ์€ ์–ด๋–ป๊ฒŒ ๋˜๊ณ , ์ „๋ง์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ๋ ด. ์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰ ์ด์šฉํ•ด ์ฃผ๋ ด. ๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡์ด๋“  ๋ถ„์„ ๊ทธ๋ž˜ํ”„๋ฅผ ์ถ”๊ฐ€ํ•ด ์ฃผ๋ ด. - ์€๊ณผ ๊ธˆ ๊ฐ€๊ฒฉ ๊ทธ๋ž˜ํ”„ - ๊ธฐํƒ€ ๊ทธ๋ž˜ํ”„



๊ธฐํƒ€ ๋Œ€ํ‘œ์ ์ธ ๋…ผ๋ฌธ

  1. Chain-of-Thought Prompting
  • ๋…ผ๋ฌธ ์ œ๋ชฉ: "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models"
  • ์—ฐ๋„: 2022๋…„
  • ๋งํฌ: https://arxiv.org/abs/2201.11903
  • ํ•ต์‹ฌ: ๋ชจ๋ธ์ด ๋‹จ๊ณ„๋ณ„ ์‚ฌ๊ณ  ๊ณผ์ •์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋„๋ก ์œ ๋„ํ•˜๋Š” ๊ธฐ๋ฒ•
  1. ReAct: Reasoning and Acting
  • ๋…ผ๋ฌธ ์ œ๋ชฉ: "ReAct: Synergizing Reasoning and Acting in Language Models"
  • ์—ฐ๋„: 2022๋…„
  • ๋งํฌ: https://arxiv.org/abs/2210.03629
  • ํ•ต์‹ฌ: ์ถ”๋ก (Reasoning)๊ณผ ํ–‰๋™(Acting)์„ ๊ฒฐํ•ฉํ•˜๋Š” ํ˜์‹ ์ ์ธ ํ”„๋กฌํ”„ํŠธ ๊ธฐ๋ฒ•
  1. Tree of Thoughts
  • ๋…ผ๋ฌธ ์ œ๋ชฉ: "Tree of Thoughts: Deliberate Problem Solving with Large Language Models"
  • ์—ฐ๋„: 2023๋…„
  • ๋งํฌ: https://arxiv.org/abs/2305.10601
  • ํ•ต์‹ฌ: ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์‚ฌ๊ณ ์˜ ํŠธ๋ฆฌ ๊ตฌ์กฐ ํƒ์ƒ‰ ๋ฐฉ๋ฒ•
  1. Self-Consistency
  • ๋…ผ๋ฌธ ์ œ๋ชฉ: "Self-Consistency Improves Chain of Thought Reasoning in Language Models"
  • ์—ฐ๋„: 2022๋…„
  • ๋งํฌ: https://arxiv.org/abs/2203.11171
  • ํ•ต์‹ฌ: ๋‹ค์–‘ํ•œ ์ถ”๋ก  ๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ€์žฅ ์ผ๊ด€๋œ ๋‹ต๋ณ€์„ ์„ ํƒํ•˜๋Š” ๊ธฐ๋ฒ•
  1. Least-to-Most Prompting
  • ๋…ผ๋ฌธ ์ œ๋ชฉ: "Least-to-Most Prompting Enables Complex Reasoning in Large Language Models"
  • ์—ฐ๋„: 2022๋…„
  • ๋งํฌ: https://arxiv.org/abs/2205.10601
  • ํ•ต์‹ฌ: ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ•˜์œ„ ๋ฌธ์ œ๋ถ€ํ„ฐ ์ ์ฐจ ๋ณต์žกํ•œ ๋ฌธ์ œ๋กœ ํ™•์žฅํ•˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹

์ถ”๊ฐ€ ์ฐธ๊ณ  ์ž๋ฃŒ:

  • Prompt Engineering Guide: https://www.promptingguide.ai/papers
  • ์ตœ์‹  Prompt Engineering ๋…ผ๋ฌธ ๋ชจ์Œ ์‚ฌ์ดํŠธ๋กœ, ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๋…ผ๋ฌธ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
728x90
๋ฐ˜์‘ํ˜•
Comments