๋ฌธ์„œ ์ดํ•ด

๋ฌธ์„œ(PDF ๋ฐ TXT ํŒŒ์ผ)๋ฅผ Gemini ์š”์ฒญ์— ์ถ”๊ฐ€ํ•˜์—ฌ ํฌํ•จ๋œ ๋ฌธ์„œ์˜ ์ฝ˜ํ…์ธ  ์ดํ•ด์™€ ๊ด€๋ จ๋œ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์—์„œ๋Š” Google Cloud ์ฝ˜์†”๊ณผ Vertex AI API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Vertex AI์—์„œ Gemini์— ๋Œ€ํ•œ ์š”์ฒญ์— PDF๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” ๋ชจ๋ธ

๋‹ค์Œ ํ‘œ์—๋Š” ๋ฌธ์„œ ์ธ์‹์„ ์ง€์›ํ•˜๋Š” ๋ชจ๋ธ์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ ๋ฌธ์„œ ํ˜•์‹ ์„ธ๋ถ€์ •๋ณด ๋ชจ๋ธ ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ
Gemini 2.0 Flash
gemini-2.0-flash
  • ์š”์ฒญ๋‹น ์ตœ๋Œ€ ํŒŒ์ผ ์ˆ˜: 3,000
  • ํŒŒ์ผ๋‹น ์ตœ๋Œ€ ํŽ˜์ด์ง€ ์ˆ˜: 1,000
  • ํŒŒ์ผ๋‹น ์ตœ๋Œ€ ํŒŒ์ผ ํฌ๊ธฐ: 50MB
Gemini 2.0 Flash ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ
Gemini 2.0 Flash-Lite
gemini-2.0-flash-lite
  • ์š”์ฒญ๋‹น ์ตœ๋Œ€ ํŒŒ์ผ ์ˆ˜: 3,000
  • ํŒŒ์ผ๋‹น ์ตœ๋Œ€ ํŽ˜์ด์ง€ ์ˆ˜: 1,000
  • ํŒŒ์ผ๋‹น ์ตœ๋Œ€ ํŒŒ์ผ ํฌ๊ธฐ: 50MB
Gemini 2.0 Flash-Lite ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ

Gemini ๋ชจ๋ธ์—์„œ ์ง€์›๋˜๋Š” ์–ธ์–ด ๋ชฉ๋ก์€ ๋ชจ๋ธ ์ •๋ณด Google ๋ชจ๋ธ์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ชจ๋ฐ”์ผ ๋ฐ ์›น ์•ฑ์—์„œ Gemini๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š” ๊ฒฝ์šฐ Android, Swift, ์›น, Flutter ์•ฑ์˜ Vertex AI in Firebase SDK๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์š”์ฒญ์— ๋ฌธ์„œ ์ถ”๊ฐ€

๋‹ค์Œ ์ฝ”๋“œ ์ƒ˜ํ”Œ์€ ํ”„๋กฌํ”„ํŠธ ์š”์ฒญ์— PDF๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด PDF ์ƒ˜ํ”Œ์€ ๋ชจ๋“  Gemini ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ชจ๋ธ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

Gen AI SDK for Python

์„ค์น˜

pip install --upgrade google-genai
์ž์„ธํ•œ ๋‚ด์šฉ์€ SDK ์ฐธ๊ณ  ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Vertex AI์—์„œ Gen AI SDK๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
model_id = "gemini-2.0-flash-001"

prompt = """
You are a highly skilled document summarization specialist. Your task is to provide a concise executive summary of no more than 300 words. Please summarize the given document for a general audience.
"""

pdf_file = Part.from_uri(
    file_uri="gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdf",
    mime_type="application/pdf",
)

response = client.models.generate_content(
    model=model_id,
    contents=[pdf_file, prompt],
)

print(response.text)
# Example response:
# Here's a summary of the Google DeepMind Gemini 1.5 report:
#
# This report introduces Gemini 1.5 Pro...

REST

ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๋ฉด REST๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…์ŠคํŠธ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒ˜ํ”Œ์€ ์š”์ฒญ์„ ๊ฒŒ์‹œ์ž ๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ์— ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • LOCATION: ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฆฌ์ „์ž…๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ๋ฆฌ์ „์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ๋ฆฌ์ „์˜ ์ „์ฒด ๋ชฉ๋ก์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์œ„์น˜๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    ํด๋ฆญํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์ „์˜ ์ผ๋ถ€ ๋ชฉ๋ก ํŽผ์น˜๊ธฐ

    • us-central1
    • us-west4
    • northamerica-northeast1
    • us-east4
    • us-west1
    • asia-northeast3
    • asia-southeast1
    • asia-northeast1
  • PROJECT_ID: ํ”„๋กœ์ ํŠธ ID
  • FILE_URI: ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จํ•  ํŒŒ์ผ์˜ URI ๋˜๋Š” URL์ž…๋‹ˆ๋‹ค. ํ—ˆ์šฉ๋˜๋Š” ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • Cloud Storage ๋ฒ„ํ‚ท URI: ๊ฐ์ฒด๋Š” ๊ณต๊ฐœ์ ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๋™์ผํ•œ Google Cloud ํ”„๋กœ์ ํŠธ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. gemini-2.0-flash ๋ฐ gemini-2.0-flash-lite์˜ ๊ฒฝ์šฐ ํฌ๊ธฐ ์ œํ•œ์€ 2GB์ž…๋‹ˆ๋‹ค.
    • HTTP URL: ํŒŒ์ผ URL์€ ๊ณต๊ฐœ์ ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ๋‹น ๋™์˜์ƒ ํŒŒ์ผ ํ•˜๋‚˜, ์˜ค๋””์˜ค ํŒŒ์ผ ํ•˜๋‚˜, ์ด๋ฏธ์ง€ ํŒŒ์ผ ์ตœ๋Œ€ 10๊ฐœ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋””์˜ค ํŒŒ์ผ, ๋™์˜์ƒ ํŒŒ์ผ, ๋ฌธ์„œ๋Š” 15MB๋ฅผ ์ดˆ๊ณผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    • YouTube ๋™์˜์ƒ URL: YouTube ๋™์˜์ƒ์€ Google Cloud ์ฝ˜์†”์— ๋กœ๊ทธ์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ๊ณ„์ •์ด ์†Œ์œ ํ•œ ๊ฒƒ์ด๊ฑฐ๋‚˜ ๊ณต๊ฐœ๋œ ๋™์˜์ƒ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ๋‹น ํ•˜๋‚˜์˜ YouTube ๋™์˜์ƒ URL๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

    fileURI๋ฅผ ์ง€์ •ํ•  ๋•Œ๋Š” ํŒŒ์ผ์˜ ๋ฏธ๋””์–ด ์œ ํ˜•(mimeType)๋„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. VPC ์„œ๋น„์Šค ์ œ์–ด๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋œ ๊ฒฝ์šฐ fileURI์˜ ๋ฏธ๋””์–ด ํŒŒ์ผ URL์„ ์ง€์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

    Cloud Storage์— PDF ํŒŒ์ผ์ด ์—†์œผ๋ฉด application/pdf MIME ์œ ํ˜•์ด ์žˆ๋Š” gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdf์™€ ๊ฐ™์€ ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด PDF๋ฅผ ๋ณด๋ ค๋ฉด ์ƒ˜ํ”Œ PDF ํŒŒ์ผ์„ ์—ฝ๋‹ˆ๋‹ค.

  • MIME_TYPE: data ๋˜๋Š” fileUri ํ•„๋“œ์— ์ง€์ •๋œ ํŒŒ์ผ์˜ ๋ฏธ๋””์–ด ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ํ—ˆ์šฉ๋˜๋Š” ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ํด๋ฆญํ•˜์—ฌ MIME ์œ ํ˜• ํŽผ์น˜๊ธฐ

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • TEXT: ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จํ•  ํ…์ŠคํŠธ ์•ˆ๋‚ด์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด You are a very professional document summarization specialist. Please summarize the given document.์ž…๋‹ˆ๋‹ค.

์š”์ฒญ์„ ๋ณด๋‚ด๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

curl

์š”์ฒญ ๋ณธ๋ฌธ์„ request.json ํŒŒ์ผ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ด ํŒŒ์ผ์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ฎ์–ด์”๋‹ˆ๋‹ค.

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

๊ทธ๋Ÿฐ ํ›„ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ REST ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent"

PowerShell

์š”์ฒญ ๋ณธ๋ฌธ์„ request.json ํŒŒ์ผ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ด ํŒŒ์ผ์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ฎ์–ด์”๋‹ˆ๋‹ค.

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

๊ทธ๋Ÿฐ ํ›„ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ REST ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content

๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ JSON ์‘๋‹ต์ด ์ˆ˜์‹ ๋ฉ๋‹ˆ๋‹ค.

์ด ์ƒ˜ํ”Œ์˜ URL์—์„œ ๋‹ค์Œ ์‚ฌํ•ญ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
  • ์‘๋‹ต์ด ์™„์ „ํžˆ ์ƒ์„ฑ๋œ ํ›„ ๋ฐ˜ํ™˜๋˜๋„๋ก ์š”์ฒญํ•˜๋ ค๋ฉด generateContent ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ฒญ์ž๊ฐ€ ์ง€์—ฐ ์‹œ๊ฐ„์— ๋Œ€ํ•ด ๊ฐ–๋Š” ๋А๋‚Œ์„ ์ค„์ด๋ ค๋ฉด streamGenerateContent ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋˜๋Š” ์‘๋‹ต์„ ์ŠคํŠธ๋ฆฌ๋ฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ชจ๋ธ ID๋Š” ๋ฉ”์„œ๋“œ ์•ž์˜ URL ๋ ๋ถ€๋ถ„์— ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: gemini-1.5-flash ๋˜๋Š” gemini-1.0-pro-vision). ์ด ์ƒ˜ํ”Œ์€ ๋‹ค๋ฅธ ๋ชจ๋ธ๋„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ˜์†”

Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ณด๋‚ด๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์˜ Vertex AI ์„น์…˜์—์„œ Vertex AI Studio ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Vertex AI Studio๋กœ ์ด๋™

  2. ์ž์œ  ํ˜•์‹ ์—ด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์„ ํƒ์‚ฌํ•ญ: ๋ชจ๋ธ ๋ฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    • ๋ชจ๋ธ: ๋ชจ๋ธ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฆฌ์ „: ์‚ฌ์šฉํ•  ๋ฆฌ์ „์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • ์˜จ๋„: ์Šฌ๋ผ์ด๋” ๋˜๋Š” ํ…์ŠคํŠธ ์ƒ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์˜จ๋„ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

      ์˜จ๋„๋Š” ์‘๋‹ต ์ƒ์„ฑ ์ค‘ ์ƒ˜ํ”Œ๋ง์— ์‚ฌ์šฉ๋˜๋ฉฐ topP ๋ฐ topK๊ฐ€ ์ ์šฉ๋  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜จ๋„๋Š” ํ† ํฐ ์„ ํƒ์˜ ๋ฌด์ž‘์œ„์„ฑ ์ˆ˜์ค€์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๋‚ฎ์€ ์˜จ๋„๋Š” ๋œ ๊ฐœ๋ฐฉ์ ์ด๊ฑฐ๋‚˜ ์ฐฝ์˜์ ์ธ ์‘๋‹ต์ด ํ•„์š”ํ•œ ํ”„๋กฌํ”„ํŠธ์— ์ ํ•ฉํ•˜๊ณ  ์˜จ๋„๊ฐ€ ๋†’์„์ˆ˜๋ก ๋”์šฑ ๋‹ค์–‘ํ•˜๊ฑฐ๋‚˜ ์ฐฝ์˜์ ์ธ ๊ฒฐ๊ณผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜จ๋„๊ฐ€ 0์ด๋ฉด ํ™•๋ฅ ์ด ๊ฐ€์žฅ ๋†’์€ ํ† ํฐ์ด ํ•ญ์ƒ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ํŠน์ • ํ”„๋กฌํ”„ํŠธ์— ๋Œ€ํ•œ ์‘๋‹ต์€ ๋Œ€๋ถ€๋ถ„ ํ™•์ •์ ์ด์ง€๋งŒ ์—ฌ์ „ํžˆ ์•ฝ๊ฐ„์˜ ๋ณ€ํ˜•์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

      ๋ชจ๋ธ์ด ๋„ˆ๋ฌด ์ผ๋ฐ˜์ ์ด๊ฑฐ๋‚˜, ๋„ˆ๋ฌด ์งง์€ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋ชจ๋ธ์ด ๋Œ€์ฒด ์‘๋‹ต์„ ์ œ๊ณตํ•  ๊ฒฝ์šฐ์—๋Š” ์˜จ๋„๋ฅผ ๋†’์—ฌ๋ณด์„ธ์š”.

    • ์ถœ๋ ฅ ํ† ํฐ ํ•œ๋„: ์Šฌ๋ผ์ด๋” ๋˜๋Š” ํ…์ŠคํŠธ ์ƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ๋Œ€ ์ถœ๋ ฅ ํ•œ๋„์˜ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

      ์‘๋‹ต์—์„œ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋Š” ํ† ํฐ์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ† ํฐ์€ ์•ฝ 4์ž(์˜๋ฌธ ๊ธฐ์ค€)์ž…๋‹ˆ๋‹ค. ํ† ํฐ 100๊ฐœ๋Š” ๋‹จ์–ด ์•ฝ 60~80๊ฐœ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

      ์‘๋‹ต์ด ์งง์„์ˆ˜๋ก ๋‚ฎ์€ ๊ฐ’์„ ์ง€์ •ํ•˜๊ณ  ์ž ์žฌ์ ์œผ๋กœ ์‘๋‹ต์ด ๊ธธ๋ฉด ๋†’์€ ๊ฐ’์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    • ์ค‘์ง€ ์‹œํ€€์Šค ์ถ”๊ฐ€: ์„ ํƒ์‚ฌํ•ญ. ๊ณต๋ฐฑ์ด ํฌํ•จ๋œ ์ผ๋ จ์˜ ๋ฌธ์ž์ธ ์ค‘์ง€ ์‹œํ€€์Šค๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์— ์ค‘์ง€ ์‹œํ€€์Šค๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‘๋‹ต ์ƒ์„ฑ์ด ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. ์ค‘์ง€ ์‹œํ€€์Šค๋Š” ์‘๋‹ต์— ํฌํ•จ๋˜์ง€ ์•Š์œผ๋ฉฐ ์ค‘์ง€ ์‹œํ€€์Šค๋ฅผ ์ตœ๋Œ€ 5๊ฐœ๊นŒ์ง€ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  4. ์„ ํƒ์‚ฌํ•ญ: ๊ณ ๊ธ‰ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๊ณ ๊ธ‰์„ ํด๋ฆญํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    ํด๋ฆญํ•˜์—ฌ ๊ณ ๊ธ‰ ๊ตฌ์„ฑ ํŽผ์น˜๊ธฐ

    • Top-K: ์Šฌ๋ผ์ด๋” ๋˜๋Š” ํ…์ŠคํŠธ ์ƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ƒ์œ„ K์˜ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. Gemini 1.5์—์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

      Top-K๋Š” ๋ชจ๋ธ์ด ์ถœ๋ ฅ์šฉ ํ† ํฐ์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. Top-K๊ฐ€ 1์ด๋ฉด ์„ ํƒ๋œ ํ† ํฐ์ด ๋ชจ๋ธ์˜ ์–ดํœ˜์— ํฌํ•จ๋œ ๋ชจ๋“  ํ† ํฐ ์ค‘์—์„œ ๊ฐ€์žฅ ํ™•๋ฅ ์ด ๋†’๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๋”” ๋””์ฝ”๋”ฉ์ด๋ผ๊ณ ๋„ ํ•จ). ๋ฐ˜๋ฉด์— Top-K๊ฐ€ 3์ด๋ฉด ๊ฐ•๋„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์žฅ ํ™•๋ฅ ์ด ๋†’์€ 3๊ฐœ ํ† ํฐ ์ค‘์—์„œ ๋‹ค์Œ ํ† ํฐ์ด ์„ ํƒ๋œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

      ๊ฐ ํ† ํฐ ์„ ํƒ ๋‹จ๊ณ„์—์„œ ํ™•๋ฅ ์ด ๊ฐ€์žฅ ๋†’์€ Top-K ํ† ํฐ์ด ์ƒ˜ํ”Œ๋ง๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ Top-P๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ† ํฐ์„ ์ถ”๊ฐ€๋กœ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์˜จ๋„ ์ƒ˜ํ”Œ๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ข… ํ† ํฐ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

      ์ž„์˜์„ฑ์ด ๋‚ฎ์€ ์‘๋‹ต์— ๋‚ฎ์€ ๊ฐ’์„ ์ง€์ •ํ•˜๊ณ  ์ž„์˜์„ฑ์ด ๋†’์€ ์‘๋‹ต์— ๋†’์€ ๊ฐ’์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    • Top-P: ์Šฌ๋ผ์ด๋” ๋˜๋Š” ํ…์ŠคํŠธ ์ƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ƒ์œ„ P์˜ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ํ† ํฐ์˜ ํ™•๋ฅ  ํ•ฉ๊ณ„๊ฐ€ ์ตœ์ƒ์œ„ P ๊ฐ’๊ณผ ๊ฐ™์•„์งˆ ๋•Œ๊นŒ์ง€ ํ™•๋ฅ ์ด ๊ฐ€์žฅ ๋†’์€ ์ˆœ์—์„œ ๋‚ฎ์€ ์ˆœ์œผ๋กœ ํ† ํฐ์ด ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ์ตœ์†Œ ๋ณ€์ˆ˜ ๊ฒฐ๊ณผ์˜ ๊ฒฝ์šฐ top-P๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ์ตœ๋Œ€ ์‘๋‹ต: ์Šฌ๋ผ์ด๋” ๋˜๋Š” ํ…์ŠคํŠธ ์ƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•  ์‘๋‹ต ์ˆ˜์— ๋Œ€ํ•œ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    • ์‘๋‹ต ์ŠคํŠธ๋ฆฌ๋ฐ: ์ƒ์„ฑ ์ค‘์ธ ์‘๋‹ต์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์•ˆ์ „ ํ•„ํ„ฐ ๊ธฐ์ค€์ : ์œ ํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์‘๋‹ต์ด ํ‘œ์‹œ๋  ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•œ ๊ธฐ์ค€์ ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • ๊ทธ๋ผ์šด๋”ฉ ์‚ฌ์šฉ ์„ค์ •: ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ํ”„๋กฌํ”„ํŠธ์—์„œ๋Š” ๊ทธ๋ผ์šด๋”ฉ์ด ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  5. ๋ฏธ๋””์–ด ์‚ฝ์ž…์„ ํด๋ฆญํ•˜๊ณ  ํŒŒ์ผ์˜ ์†Œ์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ์—…๋กœ๋“œ

    ์—…๋กœ๋“œํ•  ํŒŒ์ผ์„ ์„ ํƒํ•˜๊ณ  ์—ด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    URL ์‚ฌ์šฉ

    ์‚ฌ์šฉํ•˜๋ ค๋Š” ํŒŒ์ผ์˜ URL์„ ์ž…๋ ฅํ•˜๊ณ  ์‚ฝ์ž…์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    Cloud Storage

    ๋ฒ„ํ‚ท๊ณผ ๋ฒ„ํ‚ท์—์„œ ๊ฐ€์ ธ์˜ค๋ ค๋Š” ํŒŒ์ผ์„ ์„ ํƒํ•œ ํ›„ ์„ ํƒ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    Google Drive

    1. ๊ณ„์ •์„ ์„ ํƒํ•˜๊ณ  ์ด ์˜ต์…˜์„ ์ฒ˜์Œ ์„ ํƒํ•  ๋•Œ Vertex AI Studio์˜ ๊ณ„์ • ์•ก์„ธ์Šค๋ฅผ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ํฌ๊ธฐ๊ฐ€ 10MB์ธ ํŒŒ์ผ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ ํŒŒ์ผ์€ 7MB๋ฅผ ์ดˆ๊ณผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    2. ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ํŒŒ์ผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    3. ์„ ํƒ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

      ํŒŒ์ผ ์ธ๋„ค์ผ์ด ํ”„๋กฌํ”„ํŠธ ์ฐฝ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ† ํฐ ์ด๊ฐœ์ˆ˜๋„ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ํ† ํฐ ํ•œ๋„๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ํ† ํฐ์ด ์ž˜๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  6. ํ”„๋กฌํ”„ํŠธ ์ฐฝ์— ํ…์ŠคํŠธ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  7. ์„ ํƒ์‚ฌํ•ญ: ํ…์ŠคํŠธ์— ๋Œ€ํ•œ ํ† ํฐ ID ๋ฐ ํ† ํฐ ID๋ฅผ ๋ณด๋ ค๋ฉด ํ”„๋กฌํ”„ํŠธ ์ฐฝ์—์„œ ํ† ํฐ ์ˆ˜๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  8. ์ œ์ถœ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  9. ์„ ํƒ์‚ฌํ•ญ: ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋‚ด ํ”„๋กฌํ”„ํŠธ์— ์ €์žฅํ•˜๋ ค๋ฉด ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  10. ์„ ํƒ์‚ฌํ•ญ: ํ”„๋กฌํ”„ํŠธ์— ๋Œ€ํ•ด Python ์ฝ”๋“œ ๋˜๋Š” curl ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ์ฝ”๋“œ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์„ ํƒ์  ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •

๊ฐ ๋ชจ๋ธ์—๋Š” ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์„ ํƒ์  ํŒŒ๋ผ๋ฏธํ„ฐ ์ง‘ํ•ฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝ˜ํ…์ธ  ์ƒ์„ฑ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฌธ์„œ ์š”๊ตฌ์‚ฌํ•ญ

Gemini ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ชจ๋ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์„œ MIME ์œ ํ˜•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ MIME ์œ ํ˜• Gemini 2.0 Flash Gemini 2.0 Flash-Lite
PDF - application/pdf
ํ…์ŠคํŠธ - text/plain

PDF๋Š” ์ด๋ฏธ์ง€๋กœ ์ทจ๊ธ‰๋˜๋ฏ€๋กœ PDF์˜ ํ•œ ํŽ˜์ด์ง€๋Š” ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋กœ ์ทจ๊ธ‰๋ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ์—์„œ ํ—ˆ์šฉ๋˜๋Š” ํŽ˜์ด์ง€ ์ˆ˜๋Š” ๋ชจ๋ธ์ด ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฏธ์ง€ ์ˆ˜๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

  • Gemini 2.0 Flash, Gemini 2.0 Flash-Lite, Gemini 1.5 Pro, Gemini 1.5 Flash:
    • ์š”์ฒญ๋‹น ์ตœ๋Œ€ ํŒŒ์ผ ์ˆ˜: 3,000
    • ํŒŒ์ผ๋‹น ์ตœ๋Œ€ ํŽ˜์ด์ง€ ์ˆ˜: 1,000
    • ํŒŒ์ผ๋‹น ์ตœ๋Œ€ ํฌ๊ธฐ: 50MB
  • Gemini 1.0 Pro Vision:
    • ์š”์ฒญ๋‹น ์ตœ๋Œ€ ํŒŒ์ผ ์ˆ˜: 16
    • ํŒŒ์ผ๋‹น ์ตœ๋Œ€ ํŽ˜์ด์ง€ ์ˆ˜: 16
    • ํŒŒ์ผ๋‹น ์ตœ๋Œ€ ํฌ๊ธฐ: 50MB
๋‹ค์Œ์€ Gemini 1.5 Flash(์š”์ฒญ ํ•˜๋‚˜์—์„œ ์ด 3,000ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ผ ์š”์ฒญ์— ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.
  • ๋‹จ์ผ ํŽ˜์ด์ง€ PDF ํŒŒ์ผ 3,000๊ฐœ
  • 300ํŽ˜์ด์ง€ PDF ํŒŒ์ผ 10๊ฐœ
  • 1,000ํŽ˜์ด์ง€ PDF ํŒŒ์ผ 3๊ฐœ

PDF ํ† ํฐํ™”

PDF๋Š” ์ด๋ฏธ์ง€๋กœ ์ทจ๊ธ‰๋˜๋ฏ€๋กœ PDF์˜ ๊ฐ ํŽ˜์ด์ง€๊ฐ€ ์ด๋ฏธ์ง€์™€ ๋™์ผํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ† ํฐํ™”๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ PDF ๋น„์šฉ์€ Gemini ์ด๋ฏธ์ง€ ๊ฐ€๊ฒฉ ์ฑ…์ •์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Gemini API ํ˜ธ์ถœ์— 2ํŽ˜์ด์ง€ PDF๋ฅผ ํฌํ•จํ•˜๋ฉด ๋‘ ๊ฐœ์˜ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ž…๋ ฅ ์ˆ˜์ˆ˜๋ฃŒ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ํ…์ŠคํŠธ ํ† ํฐํ™”

์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ฌธ์„œ๋Š” ํ…์ŠคํŠธ๋กœ ํ† ํฐํ™”๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Gemini API ํ˜ธ์ถœ์— 100๋‹จ์–ด ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ฌธ์„œ๋ฅผ ํฌํ•จํ•˜๋ฉด 100๋‹จ์–ด ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ž…๋ ฅ ์š”๊ธˆ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

PDF ๊ถŒ์žฅ์‚ฌํ•ญ

PDF๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ตœ์ƒ์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป์œผ๋ ค๋ฉด ๋‹ค์Œ ๊ถŒ์žฅ์‚ฌํ•ญ๊ณผ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

  • ํ”„๋กฌํ”„ํŠธ์— ๋‹จ์ผ PDF๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ ์š”์ฒญ์—์„œ ํ…์ŠคํŠธ ํ”„๋กฌํ”„ํŠธ ์•ž์— PDF๋ฅผ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ์„œ๊ฐ€ ๊ธด ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ PDF๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ์Šค์บ”ํ•œ ์ด๋ฏธ์ง€์— ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ํ…์ŠคํŠธ๋กœ ๋ Œ๋”๋ง๋œ ํ…์ŠคํŠธ๋กœ ์ƒ์„ฑ๋œ PDF๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ํ˜•์‹์€ ๋จธ์‹ ์ด ํ…์ŠคํŠธ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์Šค์บ”ํ•œ ์ด๋ฏธ์ง€ PDF์— ๋น„ํ•ด ๋ชจ๋ธ์ด ๋” ์‰ฝ๊ฒŒ ์ˆ˜์ •, ๊ฒ€์ƒ‰, ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณ„์•ฝ์„œ์™€ ๊ฐ™์ด ํ…์ŠคํŠธ๊ฐ€ ๋งŽ์€ ๋ฌธ์„œ๋ฅผ ์ž‘์—…ํ•  ๋•Œ ์ตœ์ ์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

Gemini ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ชจ๋ธ์€ ๋งŽ์€ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ๊ฐ•๋ ฅํ•˜์ง€๋งŒ ๋ชจ๋ธ์˜ ์ œํ•œ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ณต๊ฐ„ ์ถ”๋ก : ์ด ๋ชจ๋ธ์€ PDF์— ์žˆ๋Š” ํ…์ŠคํŠธ ๋˜๋Š” ๊ฐ์ฒด ์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋งžํžˆ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋žต์ ์ธ ๊ฐ์ฒด ์ˆ˜๋งŒ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ •ํ™•์„ฑ: ์ด ๋ชจ๋ธ์€ PDF ๋ฌธ์„œ์—์„œ ํ•„๊ธฐ ํ…์Šค๋ฅผ ํ•ด์„ํ•  ๋•Œ ํ• ๋ฃจ์‹œ๋„ค์ด์…˜์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„