cc25a-openai-api-agent-project123123123
Look up the latest stock prices by ticker symbol across global markets. Get current price and esse鈥�
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
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_IDAgent 앱에서 사용할 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