
Developer Tools
v1.14.0
active
cc25a-openai-api-agent-project123123123
ai.smithery/cc25a-openai-api-agent-project123123123
Look up the latest stock prices by ticker symbol across global markets. Get current price and esse…
Documentation
OpenAI API Agent School - Project
본 자료는 (주)에이아이캐슬에서 만든 OpenAI API로 배우는 Agent 개발 첫걸음 (OpenAI API Agent School) 강의 프로젝트 자료입니다.
[0] Install & Build (uv)
# uv Install
curl -LsSf https://astral.sh/uv/install.sh | sh
# uv Build
uv sync --frozen && uv cache prune --ci
[1] 프로젝트 세팅
1.1. 환경 변수 (.env)
- .env 파일로 설정하거나 배포 환경에서 지정
OPENAI_API_KEY
: Agent 앱 또는 파인튜닝할 데이터를 업로드할 때 사용할 OpenAI API 키PROMPT_ID
Agent 앱에서 사용할 OpenAI 프롬프트 IDTITLE
: Agent앱의 상단 제목PASSWORD
: 비밀번호 설정 (비워둘 경우 누구나 접근 가능)- Agent 앱에서는 로그인해야 접근 가능해짐
- MCP 서버에서는
?password=<your-password>
와 같이 쿼리스트링으로 전달해야 접근 가능
1.2. config.overrides.jsonc
- Agent 앱에서 openai api 요청시 responses create 에서 덮어 쓸 구성 값
- config.overrides.jsonc 파일로 설정하거나 배포 환경에서 지정
- 파일 위치
- 프로젝트 폴더 (우선 순위)
- /etc/secrets/
1.3. tools.py
- Agent 앱에서 Function Calling으로 사용할 함수.
- 또는 MCP 서버에서 tool로 사용할 함수.
- 파일 위치: tools.py
[2] 앱 실행
실행
uv run main.py
-
포트: 환경변수
PORT
값이 지정된 경우 이 값을 사용하며, 그렇지 않을 경우8000
을 사용함. -
agent 앱 주소: https://localhost:8000/agent
-
mcp 서버 주소: https://localhost:8000/mcp
KEEPALIVE_URL
- 실행 중인 앱이 일정시간 동안 접속이 없으면 유휴상태가 될 경우
KEEPALIVE_URL
를 github actions의 환경변수(secrets)에 지정하여 주기적으로 접속하는 cron 작업을 수행할 수 있음. - Fork한 경우 Fork한 레포지토리 접속하여 상단의 Actions 탭에서 Actions를 활성화 하고 .github/workflows/keepalive-url.yml 을 활성화 하세요.
- 레포지토리 > settings > Secrets and Variables > Actions > New repository secret 에 접속하여 아래와 같이 입력 (Secret에는 본인이 배포한 URL로 입력)
- 예시
- Name:
KEEPALIVE_URL
- Secret:
https://<your-project-name>.onrender.com
- Name:
[3] 파인 튜닝 데이터
.env
파일에 OPENAI_API_KEY
를 등록해야 정상적으로 업로드 가능
3.1. SFT (Supervised Fine-tuning)
- 폴더 위치:
fine_tuning_data/supervised/
- 데이터 생성 및 업로드
uv run fine_tuning_data/supervised/convert_and_upload.py
3.2. DPO (Direct Preference Optimization)
- 폴더 위치:
fine_tuning_data/preference/
- 데이터 생성 및 업로드
uv run fine_tuning_data/preference/convert_and_upload.py
3.3. RFT (Reinforcement Fine-tuning)
- 폴더 위치:
fine_tuning_data/reinforcement/
- 데이터 생성 및 업로드
uv run fine_tuning_data/reinforcement/convert_and_upload.py
No installation packages available.