OpenAI 프롬프트 설정은 작업 목적(정확성 vs 창의성)에 따라 Temperature, Top P, Max tokens 등의 값을 조절하여 최적의 결과를 얻을 수 있습니다. 두 파라미터(Temperature, Top P)는 비슷한 역할을 하므로 동시에 조정할 때는 주의가 필요하며, 직접 실험을 통해 최적의 값을 찾는 것이 좋습니다
![]() |
![]() |
https://platform.openai.com/api-keys | https://platform.openai.com/playground/prompts?models=gpt-4.1 |
Prompt Engineering => 새로운 상호 작용(데이터 입력 및 학습 방법)
- Traditional ML : get labeled data > dev model > deploy // 1m, 3m, 3m
- Prompt -based ML : Prmpt model > deploy // 2m
Role : 답변자 페르소나 설정, 배경 지식을 가지고 답함.
Task: 작업 또는 목표
Policy : 규칙이나 정책
Format : 특정 형식 또는 구조(JSON 형태가 바람직함)
Few-shot learning
파이썬 venv 실행 방법
venv는 파이썬 표준 라이브러리로 제공되는 가상환경(virtual environment) 관리 도구입니다. 프로젝트별로 독립적인 패키지 설치 및 환경 구성을 할 수 있어, 패키지 충돌이나 버전 문제를 방지할 수 있습니다.
1. 가상환경 생성
원하는 디렉터리(폴더)로 이동한 뒤, 아래 명령어를 실행합니다.
2. 가상환경 활성화
운영체제에 따라 활성화 명령어가 다릅니다.
Windows | venv\Scripts\activate 또는 venv\Scripts\activate.bat |
macOS/Linux | source venv/bin/activate |
- 활성화되면 프롬프트 앞에 (venv)처럼 가상환경 이름이 표시됩니다.
3. 가상환경 비활성화
가상환경을 종료하려면 아래 명령어를 입력합니다.
- macOS/Linux에서는 바로 입력, Windows에서는 deactivate.bat 실행도 가능.
4. 추가 팁
- 가상환경 내에서 pip install 패키지명 명령어로 패키지를 설치하면, 해당 가상환경에만 설치됩니다.
- 패키지 목록 저장: pip freeze > requirements.txt
- 패키지 일괄 설치: pip install -r requirements.txt
5. 자주 발생하는 문제 및 해결법
- 가상환경 폴더에 activate.bat(Windows) 또는 activate(macOS/Linux)가 없으면, venv 폴더를 삭제 후 다시 생성해보세요4.
- 경로에 한글이 포함되면 활성화가 안 될 수 있으니, 영문 경로를 사용하세요4.
요약
- 가상환경 생성: python -m venv venv
- 가상환경 실행:
- Windows: venv\Scripts\activate
- macOS/Linux: source venv/bin/activate
- 가상환경 종료: deactivate
이 과정을 통해 프로젝트별로 독립적인 파이썬 환경을 쉽게 관리할 수 있습니다.
파이참 설정 방법 with 퍼플렉시티~
아래의 파이선 코드를 설명하고, 변형해서 추가 학습할수있는 코드알려줘 from openai import OpenAI, completions client = OpenAI(api_key="XXX") completions = client.chat.completions.create( model='gpt-4o', messages=[ {'role':'user', 'content':'hello, 안녕하세요?, 너에 대해서 자세히 설명해줘 이해하기 쉽게'}, ], temperature=0.2, max_tokens=512 ) print(completions.choices[0].message.content) |
이 코드는 OpenAI의 GPT-4o 모델을 사용해 챗봇과 대화하는 예제입니다. 주요 동작은 다음과 같습니다.
|
1. 여러 질문을 한 번에 보내보기questions = [ "AI가 무엇인가요?", "파이썬의 장점은 무엇인가요?", "오늘의 날씨를 알려줘." ] for q in questions: completions = client.chat.completions.create( model='gpt-4o', messages=[{'role':'user', 'content': q}], temperature=0.2, max_tokens=256 ) print(f"Q: {q}") print(f"A: {completions.choices[0].message.content}\n") |
2. 대화 히스토리 유지하며 대화하기
|
3. 사용자 입력을 받아 대화하기
|
messages 부분 다양한 요소에 대해서 설명하고 학습 예시 알려줘 with 퍼플렉시티
reponse = client.chat.completions.create( model = 'gpt-4o', temperature=0.9, messages=[ {'role':'system', 'content':'you are student.'}, {'role':'user', 'content':'오리'}, ] ) print(reponse) print('.....................') print(reponse.choices[0].message.content) |
messages 요소 설명OpenAI의 Chat API에서 messages는 대화의 흐름을 정의하는 리스트입니다. 각 요소는 하나의 메시지를 의미하며, 다음과 같은 주요 역할(role)을 가질 수 있습니다.1. role
2. content
3. messages의 활용
학습 예시예시 1: 역할 지정과 간단한 대화messages=[
{'role':'system', 'content':'너는 초등학생을 위한 동물 설명 선생님이야.'}, {'role':'user', 'content':'오리'} ]
예시 2: 대화 맥락 유지messages=[
{'role':'system', 'content':'너는 친절한 동물 백과사전이야.'}, {'role':'user', 'content':'오리'}, {'role':'assistant', 'content':'오리는 물과 땅에서 사는 새입니다.'}, {'role':'user', 'content':'오리의 먹이는 뭐야?'} ]
예시 3: 다양한 역할과 상황messages=[
{'role':'system', 'content':'너는 영어 선생님이야. 모든 답변을 영어로 해줘.'}, {'role':'user', 'content':'오리를 영어로 뭐라고 해?'} ]
활용 팁
|
def get_ai_reponse(messages):
reponse = client.chat.completions.create( model='gpt-4o', temperature=0.9, max_tokens=128, messages=messages ) return reponse.choices[0].message.content messages = [ {'role': 'system', 'content': '너는 친절한 동물 백과사전이야.'}, ] while True: user_input = input('사용자:>') if user_input == 'exit': break messages.append({'role': 'user', 'content': user_input}) ai_reponse = get_ai_reponse(messages) messages.append({'role': 'assistant', 'content': ai_reponse}) # assistant로 수정 print('assistant:', ai_reponse) |
반복 과정 상세 설명1. 대화 이력(messages) 초기화
2. 무한 반복 시작 (while True)
3. 사용자 입력 받기
4. 종료 조건 확인
5. 사용자 입력을 대화 이력에 추가
6. AI 응답 요청 및 반환
7. AI 응답을 대화 이력에 추가
8. AI 응답 출력
9. 다음 반복으로 이동
값의 반환과 재입력 절차
|
'Book+ACT > Skill up' 카테고리의 다른 글
day3_openAI (1) | 2025.05.28 |
---|---|
Day2_OpenAI (0) | 2025.05.28 |
TIP_PPT_제작 전 실전 준비_[한끗_PPT_디자인_공식] (0) | 2024.08.30 |
TIP_PPT_표 & 그래프 디자인_[한끗_PPT_디자인_공식] (0) | 2024.08.30 |
TIP_PPT_텍스트 디자인_[한끗_PPT_디자인_공식] (0) | 2024.08.28 |