μ΄κ±°λ(μμ±ν)AI μ΄ν΄ λ° νμ©κ³Όμ (2/4)
νμ©ν΄ : Anaconda / Colab(λ°νμ μ ν T4 GPU) / Github / Jupiter / Open AI-API(15$κ²°μ )
μλ£ github : Generative_AI_4Days
νμ μ μμ§μ : λ¨Έμ λ¬λ/λ₯λ¬λ μκ° λ° νμ΅μ μν νμ΄μ¬ μμ± κ³Όμ
GPT νμ
- μΌλ° μ μ λ€μ΄ 컀μ€ν ν GPT
- νμ¬λ 무λ£μ§λ§ μΆν μ λ£ν νμ¬ μ±μ€ν μ΄μ κ°μ΄ λ°μ λ κ°λ₯μ±μ΄ μμ(μ§κΈ λ§μ΄ λ§λ€μ΄λ³΄λ©° μ°κ΅¬νλ κ²μ΄ μ’μ)
- Sora : λμμ λ§λ€μ΄μ€
νλ‘κ·Έλ¨ λ΄λΆμμ API Key νκ²½ μ€μ λ°©λ²
- pip install --upgrade openai
- API keyμ€μ (Mac OS)
-- ν°λ―Έλ μ΄κΈ°
-- Bash νλ‘ν νΈμ§
--- nano ~/.bash_profile λλ(μ΅μ MacOS λ²μ μ κ²½μ°) nano ~/.zshrc
-- νκ²½ λ³μ μΆκ° : νΈμ§κΈ°μμ μ΄ ν μ€νΈ μΆκ°(export OPENAI_API)_KEY='your-api-here')
OpenAI API μ£Όμ μ»΄ν¬λνΈ
OpenAI Models
- μΆλ‘ λͺ¨λΈ (o3, o4-mini)
-- μ λ ₯ ν둬ννΈλ₯Ό λΆμνκΈ° μν΄ λ΄λΆμ μΈ μ¬κ³ μ μ¬μ¬μ μμ±νλ©°, 볡μ‘ν μμ κ³Ό λ€λ¨κ³ κ³νμ μ΄ν΄νλ λ° νμ
-- μΌλ°μ μΌλ‘ GPT λͺ¨λΈλ³΄λ€ μλκ° λλ¦¬κ³ μ¬μ© λΉμ©μ΄ λ λ§μ΄ λ°μ
- GPT λͺ¨λΈ
-- λΉ λ₯΄κ³ λΉμ© ν¨μ¨μ μ΄λ©° μ§λ₯μ μ΄μ§λ§, μμ μν λ°©λ²μ λν λ³΄λ€ λͺ νν μ§μΉ¨μ μ 곡νλ κ²μ΄ μ 리ν¨
--ν° λͺ¨λΈμ ν둬ννΈλ₯Ό μ΄ν΄νκ³ μ¬λ¬ λλ©μΈμμ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λ ν¨κ³Όμ μΈ λ°λ©΄, μμ λͺ¨λΈ(mini, nano)μ μΌλ°μ μΌλ‘ λ λΉ λ₯΄κ³ μ¬μ©νκΈ° μ λ ΄
μ€μ΅ Text Generation and Prompts
- Responses / Chat Comloetions APIμ¬μ©
ꡬ쑰νλ μΆλ ₯(Structured Outputs)
- JSONμ€ν€λ§λ₯Ό μ€μνλ μλ΅μ 보μ₯
- ꡬ쑰νλ μΆλ ₯μ μ£Όμ μ΄μ
-- μλͺ»λ νμμ μλ΅μ μλμΌλ‘ κ²μ¦νκ±°λ μ¬μλν νμ μμ.
-- λͺ¨λΈμ κ±°λΆ μλ΅μ νλ‘κ·Έλλ° λ°©μμΌλ‘ κ°μ§ κ°λ₯
-- μλ΅ νμμ μΌκ΄λκ² μ μ§νκΈ° μν΄ κ°ν λ¬Έμ₯μ μ¬μ©ν νμ μμ
- ꡬ쑰νλ μΆλ ₯μ λκ°μ§ λ°©μμΌλ‘ μ¬μ©ν μ μμ
-- μλ΅νμ(Response Format)
-- ν¨μ νΈμΆ(Function Calling)
→ how to ꡬ쑰νλκ² μΆλ ₯ν κΉ?
- νμ΄μ¬μ Pydanticνμ©
Pydanticνμ©
- νμ΄μ¬μμ μ νν λ°μ΄ν° ꡬ쑰λ₯Ό μ μνκ³ , μλͺ»λ λ°μ΄ν°λ₯Ό μλμΌλ‘ μ‘μμ£Όλ λΌμ΄λΈλ¬λ¦¬ λꡬ
- JSONλ°μ΄ν°λ₯Ό Pythonκ°μ²΄λ‘ λ³ννλ λ° μ μ©
- Pydantiic.BaseModelμ μν
-- λ°μ΄ν° μ ν¨μ± κ²μ¬: μ λ ₯ κ°μ΄ μ¬λ°λ₯Έ νμμΈμ§ νμΈ
μ€μ΅_ꡬ쑰νλ μΆλ ₯(Structured Outputs)
- μ§μ μ λ¬ μ§μ (κ΅μ¬)λ μ μ AIμκ² μΌμ리λ₯Ό λΊκΈΈ μ μλ€. AIκ° λͺ»νλ μΈμ± κ΅μ‘μ΄ λλ°λμ΄μΌ νλ€.
μ€μ΅-ν¨μνΈμΆ Function Call
- ν¨μ νΈμΆ λ¨κ³
-- 1. ν¨μ μ 보μ ν¨κ» LLMλͺ¨λΈ νΈμΆ
-- 2. λͺ¨λΈμ΄ ν¨μ νΈμΆμ κ²°μ -ν¨μλͺ κ³Ό argument λ°ν
-- 3. ν¨μ νΈμΆ-λͺ¨λΈμ΄ λ§λ€μ΄μ€ argumentμ΄μ©
-- 4. ν¨μ νΈμΆ κ²°κ³Όλ₯Ό λͺ¨λΈμ μ 곡
-- 5. λͺ¨λΈμ΄ μ΅μ’ μλ΅ μμ±
μ€μ΅-Conversation Stateκ΄λ¦¬